tx · 3t4G5GERYgzUXMfnuYcEKXmpfy9UkCF4JeCctU6btD7c

3MwkjgDrsm5k73WJU9Nbxbx4y2iy3zjQzMi:  -0.01400000 Waves

2021.12.13 17:11 [1832587] smart account 3MwkjgDrsm5k73WJU9Nbxbx4y2iy3zjQzMi > SELF 0.00000000 Waves

{ "type": 13, "id": "3t4G5GERYgzUXMfnuYcEKXmpfy9UkCF4JeCctU6btD7c", "fee": 1400000, "feeAssetId": null, "timestamp": 1639404704715, "version": 2, "chainId": 84, "sender": "3MwkjgDrsm5k73WJU9Nbxbx4y2iy3zjQzMi", "senderPublicKey": "FRotxVW1MhTQRDvVbMM4yvYGWzBFvHqvMsonvGeEXQUy", "proofs": [ "63Bm3dwSFHmTLCZDqK9s65mrMrYBoD3NCSMqv1STKgXvsEcSvqo9x7maywUsbRnwHgw45To48i8NChL3CDQ4EPnY", "mAW6d4NQVhmkX17codviDxZvaBnbFVHn9grgeVtYT6Wzkkf817ygz3wqTJ2FqmNvmQT3YRTxAT9S6MrQzxkxV3w" ], "script": "base64:AAIFAAAAAAAAEwkIAhIECgIBCBIDCgEIEhQKEggBAQgBAQEBAQEBARgEAQEEGBIECgIBCBIECgIBCBIECgIBCBIFCgMBAQgSAwoBARIDCgEBEgQKAgEBEgASABoPCgJhMRIJa2V5QWN0aXZlGhUKAmEyEg9rZXlBZG1pblB1YktleTEaFQoCYTMSD2tleUFkbWluUHViS2V5MhoVCgJhNBIPa2V5QWRtaW5QdWJLZXkzGicKAmE1EiFrZXlMYXVuY2hwYWREYXRhVHJhbnNhY3Rpb25TdGF0dXMaGAoCYTYSEmtleUxhdW5jaHBhZE5leHRJZBoaCgJhNxIUa2V5TGF1bmNocGFkQWN0aXZlSWQaEwoCYTgSDWtleUluaXRDYWxsZXIaEAoCYTkSCmtleUFkZHJlc3MaEwoCYjESDWtleUluaXRIZWlnaHQaFAoCYjISDmtleVN0YXJ0SGVpZ2h0GhcKAmIzEhFrZXlGaW5hbGlzZUhlaWdodBoSCgJiNBIMa2V5Q29taXNzaW9uGhAKAmI1EgprZXlBc3NldElkGhkKAmI2EhNrZXlUb3RhbFRva2VuQW1vdW50GiAKAmI3EhprZXlUb3RhbEFtb3VudEJ1eUFzc2V0U29sZBoYCgJiOBISa2V5VG9rZW5zUGVyVGlja2V0GhYKAmI5EhBrZXlQcmljZVBlclRva2VuGhYKAmMxEhBrZXlTd29wUGVyVGlja2V0GhwKAmMyEhZrZXlTd29wZmlUaWNrZXRzQW1vdW50Gh0KAmMzEhdrZXlDYW1wYWlnblRva2Vuc0Ftb3VudBocCgJjNBIWa2V5VG9rZW5zUGVyQWxsb2NhdGlvbhoZCgJjNRITa2V5VGlja2V0TGFzdE51bWJlchoZCgJjNhITa2V5R292ZXJuYW5jZVN0YWtlZBoSCgJjNxIMa2V5VXNlclJlZklkGhMKAmM4Eg1rZXlWZXJpZnlIYXNoGhEKAmM5EgtrZXlEdXJhdGlvbhoiCgJkMRIca2V5QW1vdW50QnV5QXNzZXRJbk1hcmtldGluZxorCgJkMhIla2V5QW1vdW50QnV5QXNzZXRJbk1hcmtldGluZ0ZpbmFsaXplZBoZCgJkMxITa2V5VHJhbnNmZXJCdXlBc3NldBoaCgJkNBIUa2V5RnJlZXpTd29wRHVyYXRpb24aHgoCZDUSGGtleUZyZWV6ZUFkZGl0aW9uYWxUb2tlbhoWCgJkNhIQa2V5RnJlZXplVG9rZW5JZBocCgJkNxIWa2V5RnJlZXplVG9rZW5EdXJhdGlvbhodCgJkOBIXa2V5RnJlZXplVG9rZW5QZXJUaWNrZXQaEQoCZDkSC2tleUJ1eVRva2VuGhQKAmUxEg5rZXlDbGFpbVBhcmFtcxohCgJlMhIba2V5SGlnaENvbXBldGl0aW9uQ29taXNzaW9uGhwKAmUzEhZrZXlIaWdoQ29tcGV0aXRpb25TYWxlGhsKAmU0EhVrZXlIQ1RpY2tldExhc3ROdW1iZXIaHgoCZTUSGGtleUhpZ2hDb21wZXRpdGlvbkFtb3VudBoiCgJlNhIca2V5VG90YWxBbW91bnRCdXlBc3NldFNvbGRIQxogCgJlNxIaa2V5VXNlckJvdWdodFRpY2tldHNBbW91bnQaFAoCZTgSDmtleVVzZXJUaWNrZXRzGhYKAmU5EhBrZXlVc2VySENUaWNrZXRzGiIKAmYxEhxrZXlVc2VySENCb3VnaHRUaWNrZXRzQW1vdW50GiEKAmYyEhtrZXlVc2VyQXZhaWxhYmxlQWxsb2NhdGlvbnMaJgoCZjMSIGtleVVzZXJBbW91bnRCdXlBc3NldEluTWFya2V0aW5nGh4KAmY0EhhrZXlVc2VyQm91Z2h0QWxsb2NhdGlvbnMaGAoCZjUSEmtleVVzZXJDbGFpbVN0YXR1cxogCgJmNhIaa2V5VXNlcldpbm5lZFRpY2tldHNBbW91bnQaGAoCZjcSEmtleVVzZXJGcmVlemVUb2tlbhoMCgJmOBIGb3JhY2xlGhAKAmY5Egpnb3Zlcm5hbmNlGhYKAmcxEhBjb21taXNzaW9uV2FsbGV0GhgKAmcyEhJzdGFraW5nVVNETkFkZHJlc3MaCgoCZzMSBFVTRE4aGAoCZzQSEmFkbWluUHViS2V5U3Rha2luZxoaCgJnNRIUbWF4QWxsb2NhdGlvbnNBbW91bnQaDgoCZzYSCGlzQWN0aXZlGhcKAmc3EhFhY3RpdmVMYXVuY2hwYWRJZBoRCgJnOBILZ2V0QWRtaW5QdWIaEQoCZzkSC2tleUFkbWluUHViGg0KAmgxEgckbWF0Y2gwGgwKAmgyEgZzdHJpbmcaDQoCaDMSB25vdGhpbmcaEgoCaDQSDGFkbWluUHViS2V5MRoSCgJoNRIMYWRtaW5QdWJLZXkyGhIKAmg2EgxhZG1pblB1YktleTMaEgoCaDcSDGdldEFzc2V0SW5mbxoNCgJoOBIHYXNzZXRJZBoOCgJoORIIc3RyaW5nSWQaCgoCaTESBGluZm8aCwoCaTISBXdhdmVzGhgKAmkzEhJnZXRMYXVuY2hwYWROZXh0SWQaFgoCaTQSEHN0YWtlZFVzZG5BbW91bnQaHAoCaTUSFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcaDgoCaTYSCGFzc2V0U3RyGhEKAmk3EgtsYXVuY2hwYWRJZBoKCgJpOBIEaGFzaBoNCgJpORIHYWRkcmVzcxoUCgJqMRIOcHJvamVjdEFkZHJlc3MaEQoCajISC3N0YXJ0SGVpZ2h0Gg4KAmozEghkdXJhdGlvbhoOCgJqNBIIYnV5VG9rZW4aEAoCajUSCmNvbW1pc3Npb24aFQoCajYSD3Rva2Vuc1BlclRpY2tldBoTCgJqNxINcHJpY2VQZXJUb2tlbhoZCgJqOBITc3dvcGZpVGlja2V0c0Ftb3VudBoaCgJqORIUY2FtcGFpZ25Ub2tlbnNBbW91bnQaGQoCazESE3Rva2Vuc1BlckFsbG9jYXRpb24aEwoCazISDXN3b3BQZXJUaWNrZXQaGAoCazMSEnN3b3BGcmVlemVEdXJhdGlvbhoRCgJrNBILY2xhaW1QYXJhbXMaGQoCazUSE0hpZ2hDb21wZXRpdGlvblNhbGUaHgoCazYSGGhpZ2hDb21wZXRpdGlvbkNvbWlzc2lvbhoiCgJrNxIcaGlnaENvbXBldGl0aW9uVGlja2V0c0Ftb3VudBobCgJrOBIVZnJlZXplQWRkaXRpb25hbFRva2VuGhIKAms5EgxmcmVlemVQYXJhbXMaFAoCbDESDmxhdW5jaHBhZElkU3RyGhEKAmwyEgskdDA2MzU0NjQyORoPCgJsMxIJcG10QW1vdW50GhAKAmw0EgpwbXRBc3NldElkGhEKAmw1EgskdDA2NDM4NjUxMRoTCgJsNhINcG10U3RyQXNzZXRJZBoSCgJsNxIMcG10QXNzZXROYW1lGhEKAmw4EgtwbXREZWNpbWFscxobCgJsORIVZnJlZXplQWRkaXRpb25hbEVudHJ5GgsKAm0xEgVyZWZJZBoRCgJtMhILJHQwOTAyNDkwOTkaEQoCbTMSCyR0MDkxMDQ5MjU0GhAKAm00EgpidXlBc3NldElkGhMKAm01Eg1idXlBc3NldFN0cklkGhIKAm02EgxidXlBc3NldE5hbWUaFgoCbTcSEGJ1eUFzc2V0RGVjaW1hbHMaEQoCbTgSC3N0YWtlZFN3b3BzGh0KAm05EhdhbGxvd2VkVGlja2V0c0Ftb3VudEFsbBoZCgJuMRITYm91Z2h0VGlja2V0c0Ftb3VudBoaCgJuMhIUYWxsb3dlZFRpY2tldHNBbW91bnQaEwoCbjMSDWZyZWV6ZVRva2VuSWQaEAoCbjQSCnRva2VuUHJpY2UaEwoCbjUSDSR0MDExMTQyMTEyODYaDQoCbjYSB3Rva2VuSWQaFQoCbjcSD3Rva2VuU3RyQXNzZXRJZBoUCgJuOBIOdG9rZW5Bc3NldE5hbWUaEwoCbjkSDXRva2VuRGVjaW1hbHMaEQoCbzESC3RpY2tldFByaWNlGhkKAm8yEhNjb21taXNzaW9uUGVyVGlja2V0GhUKAm8zEg9idXlUaWNrZXRBbW91bnQaHAoCbzQSFmFsbG93ZWRCdXlUaWNrZXRBbW91bnQaIgoCbzUSHGFsbG93ZWRCdXlQcmljZVdpdGhDb21pc3Npb24aDAoCbzYSBmNoYW5nZRoaCgJvNxIUZnJlZXplVG9rZW5QZXJUaWNrZXQaEwoCbzgSDSR0MDEyNDUwMTI1MzcaFQoCbzkSD3BtdEFtb3VudEZyZWV6ZRoWCgJwMRIQcG10QXNzZXRJZEZyZWV6ZRoTCgJwMhINJHQwMTI1NTQxMjY0NRoZCgJwMxITcG10RnJlZXplU3RyQXNzZXRJZBoYCgJwNBIScG10RnJlZXplQXNzZXROYW1lGhcKAnA1EhFwbXRGcmVlemVEZWNpbWFscxoWCgJwNhIQbmVlZEZyZWV6ZVRva2VucxoeCgJwNxIYdXNlckJvdWdodFRpY2tldHNOdW1iZXJzGhwKAnA4EhZsYXN0Qm91Z2h0VGlja2V0TnVtYmVyGhEKAnA5Egtib3VnaHRSYW5nZRohCgJxMRIbbmV3VXNlckJvdWdodFRpY2tldHNOdW1iZXJzGgkKAnEyEgNpbnYaDwoCcTMSCWJhc2VFbnRyeRoTCgJxNBINJHQwMTQ2OTIxNDc2NxoTCgJxNRINJHQwMTQ3NzIxNDkyMhoZCgJxNhITdXNlclVzZG5Jbk1hcmtldGluZxoVCgJxNxIPdXNkbkluTWFya2V0aW5nGhcKAnE4EhFib3VnaHRBbGxvY2F0aW9ucxoTCgJxORINJHQwMTU1OTExNTczNRoiCgJyMRIcYWxsb2NhdGlvblByaWNlV2l0aENvbWlzc2lvbhoaCgJyMhIUYnV5QWxsb2NhdGlvbnNBbW91bnQaEwoCcjMSDSR0MDE4MDQ0MTgxMTkaEwoCcjQSDSR0MDE4MTI0MTgyNzQaGwoCcjUSFWJvdWdodEhDVGlja2V0c0Ftb3VudBoZCgJyNhITaGlnaENvbXBldGl0aW9uU2FsZRoTCgJyNxINJHQwMTk1MjMxOTY2NxobCgJyOBIVYnV5UHJpY2VXaXRoQ29taXNzaW9uGg8KAnI5Egl2cmZIZWlnaHQaEAoCczESCnNlY3JldFdvcmQaDwoCczISCXNhdmVkSGFzaBoOCgJzMxIIY2FsY0hhc2gaEwoCczQSDSR0MDIyNDUyMjI2MDIaEgoCczUSDGNvbW1pc3Npb25IQxoYCgJzNhISdHJhbnNmZXJlZEJ1eUFzc2V0GiEKAnM3Ehtzd29wZmlNZW1iZXJzQnV5QXNzZXRBbW91bnQaHAoCczgSFnN3b3BmaUhDQnV5QXNzZXRBbW91bnQaHAoCczkSFnN3b3BmaU1lbWJlcnNDb21pc3Npb24aFwoCdDESEXN3b3BmaUhDQ29taXNzaW9uGiQKAnQyEh50b3RhbEFtb3VudEJ1eUFzc2V0SW5NYXJrZXRpbmcaGAoCdDMSEm1hcmtldGluZ0NvbWlzc2lvbhoTCgJ0NBINdW5zdGFrZUFtb3VudBoVCgJ0NRIPdXNlckNsYWltU3RhdHVzGhMKAnQ2Eg1ib3VnaHRUaWNrZXRzGhMKAnQ3Eg0kdDAyNTQ2MTI1NjExGhMKAnQ4Eg13b25uZWRUaWNrZXRzGhoKAnQ5EhRhd2FpbGFibGVBbGxvY2F0aW9ucxoYCgJ1MRISYWxsb3dlZEFsbG9jYXRpb25zGhMKAnUyEg0kdDAyNjI1ODI2NDAyGhoKAnUzEhR0cmFuc2ZlclRva2Vuc0Ftb3VudBohCgJ1NBIbbm90QWxsb3dlZEFsbG9jYXRpb25zVG9rZW5zGhwKAnU1EhZidXlBc3NldEZvckFsbG9jYXRpb25zGiAKAnU2EhpidXlBc3NldEZvclVud29ubmVkVGlja2V0cxocCgJ1NxIWcmV0dXJuZWRCdXlBc3NldEFtb3VudBoSCgJ1OBIMdHJhbnNmZXJVc2RuGhQKAnU5Eg50cmFuc2ZlclRva2VucxoXCgJ2MRIRdXNlclRva2Vuc0ZyZWV6ZWQaGQoCdjISE2ZyZWV6ZVRva2VuRHVyYXRpb24aFAoCdjMSDmJsb2NrRW5kSGVpZ2h0GgwKAnY0EgZhbW91bnQaEwoCdjUSDSR0MDMwMDc0MzAyMjQaDAoCdjYSBnZlcmlmeRoZCgJ2NxITbXVsdGlTaWduZWRCeUFkbWlucxoYCgJ2OBISYWRtaW5QdWJLZXkxU2lnbmVkGhgKAnY5EhJhZG1pblB1YktleTJTaWduZWQaGAoCdzESEmFkbWluUHViS2V5M1NpZ25lZBoTCgJ3MhINc2lnbmVkQnlBZG1pbhoJCgJ3MxIDZHR4AAAARQAAAAACYTECAAAABmFjdGl2ZQAAAAACYTICAAAAC2FkbWluX3B1Yl8xAAAAAAJhMwIAAAALYWRtaW5fcHViXzIAAAAAAmE0AgAAAAthZG1pbl9wdWJfMwAAAAACYTUCAAAAIWxhdW5jaHBhZF9kYXRhX3RyYW5zYWN0aW9uX3N0YXR1cwAAAAACYTYCAAAAEWxhdW5jaHBhZF9uZXh0X2lkAAAAAAJhNwIAAAATbGF1bmNocGFkX2FjdGl2ZV9pZAAAAAACYTgCAAAAC2luaXRfY2FsbGVyAAAAAAJhOQIAAAAIX2FkZHJlc3MAAAAAAmIxAgAAAAxfaW5pdF9oZWlnaHQAAAAAAmIyAgAAAA1fc3RhcnRfaGVpZ2h0AAAAAAJiMwIAAAAQX2ZpbmFsaXNlX2hlaWdodAAAAAACYjQCAAAACl9jb21pc3Npb24AAAAAAmI1AgAAAAlfYXNzZXRfaWQAAAAAAmI2AgAAABNfdG90YWxfdG9rZW5fYW1vdW50AAAAAAJiNwIAAAAVX3RvdGFsX2J1eV9hc3NldF9zb2xkAAAAAAJiOAIAAAASX3Rva2Vuc19wZXJfdGlja2V0AAAAAAJiOQIAAAAQX3ByaWNlX3Blcl90b2tlbgAAAAACYzECAAAAEF9zd29wX3Blcl90aWNrZXQAAAAAAmMyAgAAABdfdGlja2V0c19zd29wZmlfbWVtYmVycwAAAAACYzMCAAAAE190b2tlbnNfYWNjZXNzX2xpc3QAAAAAAmM0AgAAABZfdG9rZW5zX3Blcl9hbGxvY2F0aW9uAAAAAAJjNQIAAAAkX3RpY2tldF9sYXN0X251bWJlcl9oaWdoX2NvbXBldGl0aW9uAAAAAAJjNgIAAAAMX1NXT1BfYW1vdW50AAAAAAJjNwIAAAAHX3JlZl9pZAAAAAACYzgCAAAADF92ZXJpZnlfaGFzaAAAAAACYzkCAAAACV9kdXJhdGlvbgAAAAACZDECAAAAJ190b3RhbF9wdXJjaGFzZWRfYnV5X2Fzc2V0X2luX21hcmtldGluZwAAAAACZDICAAAAMV90b3RhbF9wdXJjaGFzZWRfYnV5X2Fzc2V0X2luX21hcmtldGluZ19maW5hbGl6ZWQAAAAAAmQzAgAAABNfdHJhbnNmZXJfYnV5X2Fzc2V0AAAAAAJkNAIAAAAVX2ZyZWV6ZV9zd29wX2R1cmF0aW9uAAAAAAJkNQIAAAAYX2ZyZWV6ZV9hZGRpdGlvbmFsX3Rva2VuAAAAAAJkNgIAAAAQX2ZyZWV6ZV90b2tlbl9pZAAAAAACZDcCAAAAFl9mcmVlemVfdG9rZW5fZHVyYXRpb24AAAAAAmQ4AgAAABhfZnJlZXplX3Rva2VuX3Blcl90aWNrZXQAAAAAAmQ5AgAAAApfYnV5X3Rva2VuAAAAAAJlMQIAAAANX2NsYWltX3BhcmFtcwAAAAACZTICAAAAG19oaWdoX2NvbXBldGl0aW9uX2NvbWlzc2lvbgAAAAACZTMCAAAAFl9oaWdoX2NvbXBldGl0aW9uX3NhbGUAAAAAAmU0AgAAABNfdGlja2V0X2xhc3RfbnVtYmVyAAAAAAJlNQIAAAAZX3RpY2tldHNfaGlnaF9jb21wZXRpdGlvbgAAAAACZTYCAAAAJl90b3RhbF9idXlfYXNzZXRfc29sZF9oaWdoX2NvbXBldGl0aW9uAAAAAAJlNwIAAAAPX2JvdWdodF90aWNrZXRzAAAAAAJlOAIAAAAPX3RpY2tldHNfbnVtYmVyAAAAAAJlOQIAAAAgX3RpY2tldHNfbnVtYmVyX2hpZ2hfY29tcGV0aXRpb24AAAAAAmYxAgAAACBfYm91Z2h0X3RpY2tl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", "height": 1832587, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DpBnKrkZzLRZvrHzj181W395GwdhwFtgLGMx9USQ7ETa Next: Ee2jxru2Dv1HBbkLEU7kn6KKUVG1ktegyhjEcbgGUkHq Diff:
OldNewDifferences
2727
2828 let m = "_comission"
2929
30-let n = "_high_competition_comission"
30+let n = "_asset_id"
3131
32-let o = "_asset_id"
32+let o = "_total_token_amount"
3333
34-let p = "_total_token_amount"
34+let p = "_total_buy_asset_sold"
3535
36-let q = "_total_buy_asset_sold"
36+let q = "_tokens_per_ticket"
3737
38-let r = "_total_buy_asset_sold_high_competition"
38+let r = "_price_per_token"
3939
40-let s = "_tokens_per_ticket"
40+let s = "_swop_per_ticket"
4141
42-let t = "_price_per_token"
42+let t = "_tickets_swopfi_members"
4343
44-let u = "_swop_per_ticket"
44+let u = "_tokens_access_list"
4545
46-let v = "_tickets_swopfi_members"
46+let v = "_tokens_per_allocation"
4747
48-let w = "_tickets_high_competition"
48+let w = "_ticket_last_number_high_competition"
4949
50-let x = "_tokens_access_list"
50+let x = "_SWOP_amount"
5151
52-let y = "_tokens_per_allocation"
52+let y = "_ref_id"
5353
54-let z = "_ticket_last_number_high_competition"
54+let z = "_verify_hash"
5555
56-let A = "_ticket_last_number"
56+let A = "_duration"
5757
58-let B = "_SWOP_amount"
58+let B = "_total_purchased_buy_asset_in_marketing"
5959
60-let C = "_ref_id"
60+let C = "_total_purchased_buy_asset_in_marketing_finalized"
6161
62-let D = "_verify_hash"
62+let D = "_transfer_buy_asset"
6363
64-let E = "_duration"
64+let E = "_freeze_swop_duration"
6565
66-let F = "_total_purchased_buy_asset_in_marketing"
66+let F = "_freeze_additional_token"
6767
68-let G = "_total_purchased_buy_asset_in_marketing_finalized"
68+let G = "_freeze_token_id"
6969
70-let H = "_transfer_buy_asset"
70+let H = "_freeze_token_duration"
7171
72-let I = "_freeze_swop_duration"
72+let I = "_freeze_token_per_ticket"
7373
74-let J = "_high_competition_sale"
74+let J = "_buy_token"
7575
76-let K = "_freeze_additional_token"
76+let K = "_claim_params"
7777
78-let L = "_freeze_token_id"
78+let L = "_high_competition_comission"
7979
80-let M = "_freeze_token_duration"
80+let M = "_high_competition_sale"
8181
82-let N = "_freeze_token_per_ticket"
82+let N = "_ticket_last_number"
8383
84-let O = "_buy_token"
84+let O = "_tickets_high_competition"
8585
86-let P = "_claim_params"
86+let P = "_total_buy_asset_sold_high_competition"
8787
8888 let Q = "_bought_tickets"
8989
90-let R = "_bought_tickets_high_competition"
90+let R = "_tickets_number"
9191
92-let S = "_tickets_number"
92+let S = "_tickets_number_high_competition"
9393
94-let T = "_tickets_number_high_competition"
94+let T = "_bought_tickets_high_competition"
9595
9696 let U = "_available_purchase_marketing"
9797
182182 then throw("DApp is inactive at this moment")
183183 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
184184 then throw("Only admin can call this function")
185- else [StringEntry((toString(aC) + D), aD)]
185+ else [StringEntry((toString(aC) + z), aD)]
186186
187187
188188
219219 let bd = bb._2
220220 let be = bb._3
221221 let bf = if (aV)
222- then [BooleanEntry((aX + K), true), StringEntry((aX + L), aW[0]), IntegerEntry((aX + M), parseIntValue(aW[1])), IntegerEntry((aX + N), parseIntValue(aW[2]))]
222+ then [BooleanEntry((aX + F), true), StringEntry((aX + G), aW[0]), IntegerEntry((aX + H), parseIntValue(aW[1])), IntegerEntry((aX + I), parseIntValue(aW[2]))]
223223 else nil
224- ([IntegerEntry((bc + "_launchpad"), aC), IntegerEntry(f, (aC + 1)), StringEntry((aX + i), aF), IntegerEntry((aX + j), height), IntegerEntry((aX + k), aG), IntegerEntry((aX + E), aH), StringEntry((aX + O), aI), IntegerEntry((aX + I), aQ), IntegerEntry((aX + p), aZ), StringEntry((aX + o), bc), IntegerEntry((aX + m), aJ), IntegerEntry((aX + n), aT), IntegerEntry((aX + z), 0), IntegerEntry((aX + s), aK), IntegerEntry((aX + t), aL), IntegerEntry((aX + u), aP), IntegerEntry((aX + v), aM), IntegerEntry((aX + x), aN), IntegerEntry((aX + w), aU), IntegerEntry((aX + y), aO), StringEntry((aX + P), makeString(aR, ",")), BooleanEntry((aX + J), aS), IntegerEntry(g, aC), StringEntry(h, "")] ++ bf)
224+ ([IntegerEntry((bc + "_launchpad"), aC), IntegerEntry(f, (aC + 1)), StringEntry((aX + i), aF), IntegerEntry((aX + j), height), IntegerEntry((aX + k), aG), IntegerEntry((aX + A), aH), StringEntry((aX + J), aI), IntegerEntry((aX + E), aQ), IntegerEntry((aX + o), aZ), StringEntry((aX + n), bc), IntegerEntry((aX + m), aJ), IntegerEntry((aX + w), 0), IntegerEntry((aX + q), aK), IntegerEntry((aX + r), aL), IntegerEntry((aX + s), aP), IntegerEntry((aX + t), aM), IntegerEntry((aX + u), aN), IntegerEntry((aX + v), aO), StringEntry((aX + K), makeString(aR, ",")), BooleanEntry((aX + M), aS), IntegerEntry((aX + L), aT), IntegerEntry((aX + O), aU), IntegerEntry(g, aC), StringEntry(h, "")] ++ bf)
225225 }
226226
227227
231231 let bh = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
232232 let aZ = bh._1
233233 let ba = bh._2
234- let bi = az(value(getString(this, (toString(aC) + O))))
234+ let bi = az(value(getString(this, (toString(aC) + J))))
235235 let bj = bi._1
236236 let bk = bi._2
237237 let bl = bi._3
238238 let bm = bi._4
239- let bn = valueOrElse(getInteger(ab, (toString(aB.caller) + B)), 0)
240- let bo = (bn / getIntegerValue(this, (toString(aC) + u)))
239+ let bn = valueOrElse(getInteger(ab, (toString(aB.caller) + x)), 0)
240+ let bo = (bn / getIntegerValue(this, (toString(aC) + s)))
241241 let bp = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Q)), 0)
242242 let bq = (bo - bp)
243243 let aG = value(getInteger(this, (toString(aC) + k)))
244- let aH = value(getInteger(this, (toString(aC) + E)))
245- let aV = valueOrElse(getBoolean(this, (toString(aC) + K)), false)
244+ let aH = value(getInteger(this, (toString(aC) + A)))
245+ let aV = valueOrElse(getBoolean(this, (toString(aC) + F)), false)
246246 if (!(ah))
247247 then throw("DApp is inactive at this moment")
248248 else if ((ai != aC))
263263 else (ba != bj)
264264 else false)
265265 then {
266- let br = getStringValue(this, (toString(aC) + L))
266+ let br = getStringValue(this, (toString(aC) + G))
267267 throw(((("Two attached payments expected: First in " + bl) + ", second in ") + br))
268268 }
269269 else if (if ((0 >= bo))
271271 else (0 >= bq))
272272 then throw("Not enought SWOP in staking to buy tickets")
273273 else {
274- let bs = getIntegerValue(this, (toString(aC) + t))
275- let aK = getIntegerValue(this, (toString(aC) + s))
276- let bt = az(getStringValue(this, (toString(aC) + o)))
274+ let bs = getIntegerValue(this, (toString(aC) + r))
275+ let aK = getIntegerValue(this, (toString(aC) + q))
276+ let bt = az(getStringValue(this, (toString(aC) + n)))
277277 let bu = bt._1
278278 let bv = bt._2
279279 let bw = bt._3
291291 else {
292292 let bf = if (aV)
293293 then {
294- let br = getStringValue(this, (toString(aC) + L))
295- let bE = getIntegerValue(this, (toString(aC) + N))
294+ let br = getStringValue(this, (toString(aC) + G))
295+ let bE = getIntegerValue(this, (toString(aC) + I))
296296 let bF = $Tuple2(aB.payments[1].amount, aB.payments[1].assetId)
297297 let bG = bF._1
298298 let bH = bF._2
308308 else [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Z), bG)]
309309 }
310310 else nil
311- let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + S)), "")
312- let bO = getIntegerValue(this, (toString(aC) + z))
311+ let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + R)), "")
312+ let bO = getIntegerValue(this, (toString(aC) + w))
313313 let bP = ((toString((bO + 1)) + "-") + toString((bO + bB)))
314314 let bQ = (bN + (if ((bN != ""))
315315 then ("," + bP)
319319 else 0
320320 if ((bR == bR))
321321 then {
322- let bS = ([IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Q), (bp + bB)), IntegerEntry((toString(aC) + z), (bO + bB)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + S), bQ)] ++ bf)
323- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
324- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
322+ let bS = ([IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Q), (bp + bB)), IntegerEntry((toString(aC) + w), (bO + bB)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + R), bQ)] ++ bf)
323+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
324+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
325325 else bS
326326 }
327327 else throw("Strict value is not equal to itself.")
336336 let bT = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
337337 let aZ = bT._1
338338 let ba = bT._2
339- let bU = az(value(getString(this, (toString(aC) + O))))
339+ let bU = az(value(getString(this, (toString(aC) + J))))
340340 let bj = bU._1
341341 let bk = bU._2
342342 let bl = bU._3
343343 let bm = bU._4
344344 let bV = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + V)), 0)
345- let bW = valueOrElse(getInteger(this, (toString(aC) + F)), 0)
345+ let bW = valueOrElse(getInteger(this, (toString(aC) + B)), 0)
346346 let bX = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + W)), 0)
347347 let aJ = getIntegerValue(this, (toString(aC) + m))
348- let bs = getIntegerValue(this, (toString(aC) + t))
349- let aO = getIntegerValue(this, (toString(aC) + y))
350- let bY = az(getStringValue(this, (toString(aC) + o)))
348+ let bs = getIntegerValue(this, (toString(aC) + r))
349+ let aO = getIntegerValue(this, (toString(aC) + v))
350+ let bY = az(getStringValue(this, (toString(aC) + n)))
351351 let bu = bY._1
352352 let bv = bY._2
353353 let bw = bY._3
354354 let bx = bY._4
355355 let bZ = fraction(fraction(bs, aO, pow(10, 0, bx, 0, 0, DOWN)), (100 + aJ), 100)
356356 let aG = value(getInteger(this, (toString(aC) + k)))
357- let aH = value(getInteger(this, (toString(aC) + E)))
357+ let aH = value(getInteger(this, (toString(aC) + A)))
358358 if (!(ah))
359359 then throw("DApp is inactive at this moment")
360360 else if ((ai != aC))
380380 else 0
381381 if ((bR == bR))
382382 then {
383- let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + W), (bX + ca)), IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + V), (bV + aZ)), IntegerEntry((toString(aC) + F), (bW + aZ))]
384- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
385- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
383+ let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + W), (bX + ca)), IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + V), (bV + aZ)), IntegerEntry((toString(aC) + B), (bW + aZ))]
384+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
385+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
386386 else bS
387387 }
388388 else throw("Strict value is not equal to itself.")
396396 let cb = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
397397 let aZ = cb._1
398398 let ba = cb._2
399- let cc = az(value(getString(this, (toString(aC) + O))))
399+ let cc = az(value(getString(this, (toString(aC) + J))))
400400 let bj = cc._1
401401 let bk = cc._2
402402 let bl = cc._3
403403 let bm = cc._4
404404 let aG = value(getInteger(this, (toString(aC) + k)))
405- let aH = value(getInteger(this, (toString(aC) + E)))
406- let cd = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + R)), 0)
407- let ce = valueOrElse(getBoolean(this, (toString(aC) + J)), false)
405+ let aH = value(getInteger(this, (toString(aC) + A)))
406+ let cd = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + T)), 0)
407+ let ce = valueOrElse(getBoolean(this, (toString(aC) + M)), false)
408408 if (!(ah))
409409 then throw("DApp is inactive at this moment")
410410 else if ((ai != aC))
420420 else (ba != bj))
421421 then throw((("One attached payment in " + bl) + " expected"))
422422 else {
423- let bs = getIntegerValue(this, (toString(aC) + t))
424- let aK = getIntegerValue(this, (toString(aC) + s))
425- let cf = az(getStringValue(this, (toString(aC) + o)))
423+ let bs = getIntegerValue(this, (toString(aC) + r))
424+ let aK = getIntegerValue(this, (toString(aC) + q))
425+ let cf = az(getStringValue(this, (toString(aC) + n)))
426426 let bu = cf._1
427427 let bv = cf._2
428428 let bw = cf._3
429429 let bx = cf._4
430430 let by = fraction(aK, bs, pow(10, 0, bx, 0, 0, DOWN))
431- let bz = fraction(by, getIntegerValue(this, (toString(aC) + n)), 100)
431+ let bz = fraction(by, getIntegerValue(this, (toString(aC) + L)), 100)
432432 let bA = (aZ / (by + bz))
433433 let cg = (bA * (by + bz))
434434 let bD = (aZ - cg)
437437 else if ((bD != 0))
438438 then throw((((("Wrong payment. To buy " + toString(bA)) + "tickets you need to pay ") + toString(cg)) + bl))
439439 else {
440- let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + T)), "")
441- let bO = getIntegerValue(this, (toString(aC) + A))
440+ let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + S)), "")
441+ let bO = getIntegerValue(this, (toString(aC) + N))
442442 let bP = ((toString((bO + 1)) + "-") + toString((bO + bA)))
443443 let bQ = (bN + (if ((bN != ""))
444444 then ("," + bP)
448448 else 0
449449 if ((bR == bR))
450450 then {
451- let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + R), (cd + bA)), IntegerEntry((toString(aC) + A), (bO + bA)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + T), bQ)]
452- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
453- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
451+ let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + T), (cd + bA)), IntegerEntry((toString(aC) + N), (bO + bA)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + S), bQ)]
452+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
453+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
454454 else bS
455455 }
456456 else throw("Strict value is not equal to itself.")
462462
463463 @Callable(aB)
464464 func finalise (aC,ch,ci) = {
465- let cj = getStringValue(this, (toString(aC) + D))
465+ let cj = getStringValue(this, (toString(aC) + z))
466466 let ck = toBase58String(sha256((toBytes(ch) + toBytes(ci))))
467467 if (!(ah))
468468 then throw("DApp is inactive at this moment")
471471 else if ((ck != cj))
472472 then throw("vrf Height hash not matching")
473473 else {
474- let cl = az(value(getString(this, (toString(aC) + O))))
474+ let cl = az(value(getString(this, (toString(aC) + J))))
475475 let bj = cl._1
476476 let bk = cl._2
477477 let bl = cl._3
478478 let bm = cl._4
479479 let aF = addressFromStringValue(getStringValue(this, (toString(aC) + i)))
480480 let aJ = getIntegerValue(this, (toString(aC) + m))
481- let cm = getIntegerValue(this, (toString(aC) + n))
482- let cn = valueOrElse(getInteger(this, (toString(aC) + H)), 0)
483- let co = getIntegerValue(this, (toString(aC) + q))
484- let cp = valueOrElse(getIntegerValue(this, (toString(aC) + r)), 0)
481+ let cm = getIntegerValue(this, (toString(aC) + L))
482+ let cn = valueOrElse(getInteger(this, (toString(aC) + D)), 0)
483+ let co = getIntegerValue(this, (toString(aC) + p))
484+ let cp = valueOrElse(getIntegerValue(this, (toString(aC) + P)), 0)
485485 let cq = fraction(co, aJ, 100)
486486 let cr = fraction(cp, cm, 100)
487- let cs = getIntegerValue(this, (toString(aC) + G))
487+ let cs = getIntegerValue(this, (toString(aC) + C))
488488 let ct = fraction(cs, aJ, 100)
489489 let cu = (((((co + cs) + cq) + ct) + cp) + cr)
490490 if ((cn > (co + cs)))
518518 else false)
519519 then throw("You can't claim because you don't buy anything")
520520 else {
521- let cx = az(value(getString(this, (toString(aC) + O))))
521+ let cx = az(value(getString(this, (toString(aC) + J))))
522522 let bj = cx._1
523523 let bk = cx._2
524524 let bl = cx._3
527527 let cz = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + U)), 0)
528528 let aJ = getIntegerValue(this, (toString(aC) + m))
529529 let cA = min([bX, cz])
530- let bs = getIntegerValue(this, (toString(aC) + t))
531- let aK = getIntegerValue(this, (toString(aC) + s))
532- let cB = az(getStringValue(this, (toString(aC) + o)))
530+ let bs = getIntegerValue(this, (toString(aC) + r))
531+ let aK = getIntegerValue(this, (toString(aC) + q))
532+ let cB = az(getStringValue(this, (toString(aC) + n)))
533533 let bu = cB._1
534534 let bv = cB._2
535535 let bw = cB._3
536536 let bx = cB._4
537537 let by = fraction(aK, bs, pow(10, 0, bx, 0, 0, DOWN))
538- let aO = getIntegerValue(this, (toString(aC) + y))
538+ let aO = getIntegerValue(this, (toString(aC) + v))
539539 let cC = ((cy * aK) + (cA * aO))
540540 let cD = ((bX - cA) * aO)
541541 let cE = fraction(fraction(cD, bs, pow(10, 0, bx, 0, 0, DOWN)), (100 + aJ), 100)
568568
569569 @Callable(aB)
570570 func claimFreezeToken (aC) = {
571- let aV = valueOrElse(getBoolean(this, (toString(aC) + K)), false)
571+ let aV = valueOrElse(getBoolean(this, (toString(aC) + F)), false)
572572 if (!(ah))
573573 then throw("DApp is inactive at this moment")
574574 else if (!(isDefined(getInteger(this, (toString(aC) + l)))))
576576 else if (!(aV))
577577 then throw("There are no additional token freezing for this launchpad")
578578 else {
579- let bu = fromBase58String(getStringValue(this, (toString(aC) + L)))
579+ let bu = fromBase58String(getStringValue(this, (toString(aC) + G)))
580580 let cJ = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Z)), 0)
581581 let aG = valueOrElse(getInteger(this, (toString(aC) + k)), 0)
582- let aH = valueOrElse(getInteger(this, (toString(aC) + E)), 0)
583- let cK = getIntegerValue(this, (toString(aC) + M))
582+ let aH = valueOrElse(getInteger(this, (toString(aC) + A)), 0)
583+ let cK = getIntegerValue(this, (toString(aC) + H))
584584 let cL = ((aG + aH) + cK)
585585 if ((cJ == 0))
586586 then throw("You are already claimed your tokens or not paid anything")
599599 then throw("Only admin can call this function")
600600 else {
601601 let aF = addressFromStringValue(getStringValue(this, (toString(aC) + i)))
602- let cN = az(value(getString(this, (toString(aC) + O))))
602+ let cN = az(value(getString(this, (toString(aC) + J))))
603603 let bj = cN._1
604604 let bk = cN._2
605605 let bl = cN._3
606606 let bm = cN._4
607-[IntegerEntry((toString(aC) + H), cM), ScriptTransfer(aF, cM, bj)]
607+[IntegerEntry((toString(aC) + D), cM), ScriptTransfer(aF, cM, bj)]
608608 }
609609
610610
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "admin_pub_1"
77
88 let c = "admin_pub_2"
99
1010 let d = "admin_pub_3"
1111
1212 let e = "launchpad_data_transaction_status"
1313
1414 let f = "launchpad_next_id"
1515
1616 let g = "launchpad_active_id"
1717
1818 let h = "init_caller"
1919
2020 let i = "_address"
2121
2222 let j = "_init_height"
2323
2424 let k = "_start_height"
2525
2626 let l = "_finalise_height"
2727
2828 let m = "_comission"
2929
30-let n = "_high_competition_comission"
30+let n = "_asset_id"
3131
32-let o = "_asset_id"
32+let o = "_total_token_amount"
3333
34-let p = "_total_token_amount"
34+let p = "_total_buy_asset_sold"
3535
36-let q = "_total_buy_asset_sold"
36+let q = "_tokens_per_ticket"
3737
38-let r = "_total_buy_asset_sold_high_competition"
38+let r = "_price_per_token"
3939
40-let s = "_tokens_per_ticket"
40+let s = "_swop_per_ticket"
4141
42-let t = "_price_per_token"
42+let t = "_tickets_swopfi_members"
4343
44-let u = "_swop_per_ticket"
44+let u = "_tokens_access_list"
4545
46-let v = "_tickets_swopfi_members"
46+let v = "_tokens_per_allocation"
4747
48-let w = "_tickets_high_competition"
48+let w = "_ticket_last_number_high_competition"
4949
50-let x = "_tokens_access_list"
50+let x = "_SWOP_amount"
5151
52-let y = "_tokens_per_allocation"
52+let y = "_ref_id"
5353
54-let z = "_ticket_last_number_high_competition"
54+let z = "_verify_hash"
5555
56-let A = "_ticket_last_number"
56+let A = "_duration"
5757
58-let B = "_SWOP_amount"
58+let B = "_total_purchased_buy_asset_in_marketing"
5959
60-let C = "_ref_id"
60+let C = "_total_purchased_buy_asset_in_marketing_finalized"
6161
62-let D = "_verify_hash"
62+let D = "_transfer_buy_asset"
6363
64-let E = "_duration"
64+let E = "_freeze_swop_duration"
6565
66-let F = "_total_purchased_buy_asset_in_marketing"
66+let F = "_freeze_additional_token"
6767
68-let G = "_total_purchased_buy_asset_in_marketing_finalized"
68+let G = "_freeze_token_id"
6969
70-let H = "_transfer_buy_asset"
70+let H = "_freeze_token_duration"
7171
72-let I = "_freeze_swop_duration"
72+let I = "_freeze_token_per_ticket"
7373
74-let J = "_high_competition_sale"
74+let J = "_buy_token"
7575
76-let K = "_freeze_additional_token"
76+let K = "_claim_params"
7777
78-let L = "_freeze_token_id"
78+let L = "_high_competition_comission"
7979
80-let M = "_freeze_token_duration"
80+let M = "_high_competition_sale"
8181
82-let N = "_freeze_token_per_ticket"
82+let N = "_ticket_last_number"
8383
84-let O = "_buy_token"
84+let O = "_tickets_high_competition"
8585
86-let P = "_claim_params"
86+let P = "_total_buy_asset_sold_high_competition"
8787
8888 let Q = "_bought_tickets"
8989
90-let R = "_bought_tickets_high_competition"
90+let R = "_tickets_number"
9191
92-let S = "_tickets_number"
92+let S = "_tickets_number_high_competition"
9393
94-let T = "_tickets_number_high_competition"
94+let T = "_bought_tickets_high_competition"
9595
9696 let U = "_available_purchase_marketing"
9797
9898 let V = "_purchased_buy_asset_in_marketing"
9999
100100 let W = "_bought_allocations"
101101
102102 let X = "_claim_status"
103103
104104 let Y = "_tickets_result"
105105
106106 let Z = "_freeze_token_amount"
107107
108108 let aa = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
109109
110110 let ab = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
111111
112112 let ac = Address(base58'3N2hBdeDEs7wCNA9EY8qv3B6drjgKD64xQG')
113113
114114 let ad = Address(base58'3N6q7sCGSSLBUXDdjBdYGTJbZGZfhhh8cNg')
115115
116116 let ae = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
117117
118118 let af = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
119119
120120 let ag = 2
121121
122122 let ah = valueOrElse(getBoolean(this, a), true)
123123
124124 let ai = valueOrElse(getIntegerValue(this, g), -1)
125125
126126 func aj (ak) = {
127127 let al = getString(aa, ak)
128128 if ($isInstanceOf(al, "String"))
129129 then {
130130 let am = al
131131 fromBase58String(am)
132132 }
133133 else {
134134 let an = al
135135 throw("Admin public key is empty")
136136 }
137137 }
138138
139139
140140 let ao = aj(b)
141141
142142 let ap = aj(c)
143143
144144 let aq = aj(d)
145145
146146 func ar (as) = {
147147 let al = as
148148 if ($isInstanceOf(al, "ByteVector"))
149149 then {
150150 let at = al
151151 let au = toBase58String(at)
152152 let av = valueOrErrorMessage(assetInfo(at), (("Asset " + au) + " doesn't exist"))
153153 $Tuple3(au, av.name, av.decimals)
154154 }
155155 else if ($isInstanceOf(al, "Unit"))
156156 then {
157157 let aw = al
158158 $Tuple3("WAVES", "WAVES", 8)
159159 }
160160 else throw("Match error")
161161 }
162162
163163
164164 func ax () = valueOrElse(getInteger(this, f), 1)
165165
166166
167167 func ay () = valueOrElse(getInteger(ad, ((("rpd_balance_" + toBase58String(ae)) + "_") + toString(this))), 0)
168168
169169
170170 func az (aA) = if ((aA == "WAVES"))
171171 then $Tuple4(unit, "WAVES", "WAVES", 8)
172172 else {
173173 let au = aA
174174 let at = fromBase58String(aA)
175175 let av = valueOrErrorMessage(assetInfo(at), (("Asset " + au) + " doesn't exist"))
176176 $Tuple4(at, au, av.name, av.decimals)
177177 }
178178
179179
180180 @Callable(aB)
181181 func hashingRandom (aC,aD) = if (!(ah))
182182 then throw("DApp is inactive at this moment")
183183 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
184184 then throw("Only admin can call this function")
185- else [StringEntry((toString(aC) + D), aD)]
185+ else [StringEntry((toString(aC) + z), aD)]
186186
187187
188188
189189 @Callable(aB)
190190 func initCaller (aE) = if (!(ah))
191191 then throw("DApp is inactive at this moment")
192192 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
193193 then throw("Only admin can call this function")
194194 else [StringEntry(h, aE)]
195195
196196
197197
198198 @Callable(aB)
199199 func init (aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW) = if (!(ah))
200200 then throw("DApp is inactive at this moment")
201201 else if ((toString(aB.caller) != valueOrElse(getString(this, h), "")))
202202 then throw("Only project admin can call init function")
203203 else if ((size(aB.payments) != 1))
204204 then throw("One attached payment expected")
205205 else if ((height > aG))
206206 then throw("Start height must be greater than blockchain height")
207207 else if (if (aV)
208208 then (size(aW) != 3)
209209 else false)
210210 then throw("Freeze params list must have 3 items")
211211 else {
212212 let aC = ax()
213213 let aX = toString(aC)
214214 let aY = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
215215 let aZ = aY._1
216216 let ba = aY._2
217217 let bb = ar(ba)
218218 let bc = bb._1
219219 let bd = bb._2
220220 let be = bb._3
221221 let bf = if (aV)
222- then [BooleanEntry((aX + K), true), StringEntry((aX + L), aW[0]), IntegerEntry((aX + M), parseIntValue(aW[1])), IntegerEntry((aX + N), parseIntValue(aW[2]))]
222+ then [BooleanEntry((aX + F), true), StringEntry((aX + G), aW[0]), IntegerEntry((aX + H), parseIntValue(aW[1])), IntegerEntry((aX + I), parseIntValue(aW[2]))]
223223 else nil
224- ([IntegerEntry((bc + "_launchpad"), aC), IntegerEntry(f, (aC + 1)), StringEntry((aX + i), aF), IntegerEntry((aX + j), height), IntegerEntry((aX + k), aG), IntegerEntry((aX + E), aH), StringEntry((aX + O), aI), IntegerEntry((aX + I), aQ), IntegerEntry((aX + p), aZ), StringEntry((aX + o), bc), IntegerEntry((aX + m), aJ), IntegerEntry((aX + n), aT), IntegerEntry((aX + z), 0), IntegerEntry((aX + s), aK), IntegerEntry((aX + t), aL), IntegerEntry((aX + u), aP), IntegerEntry((aX + v), aM), IntegerEntry((aX + x), aN), IntegerEntry((aX + w), aU), IntegerEntry((aX + y), aO), StringEntry((aX + P), makeString(aR, ",")), BooleanEntry((aX + J), aS), IntegerEntry(g, aC), StringEntry(h, "")] ++ bf)
224+ ([IntegerEntry((bc + "_launchpad"), aC), IntegerEntry(f, (aC + 1)), StringEntry((aX + i), aF), IntegerEntry((aX + j), height), IntegerEntry((aX + k), aG), IntegerEntry((aX + A), aH), StringEntry((aX + J), aI), IntegerEntry((aX + E), aQ), IntegerEntry((aX + o), aZ), StringEntry((aX + n), bc), IntegerEntry((aX + m), aJ), IntegerEntry((aX + w), 0), IntegerEntry((aX + q), aK), IntegerEntry((aX + r), aL), IntegerEntry((aX + s), aP), IntegerEntry((aX + t), aM), IntegerEntry((aX + u), aN), IntegerEntry((aX + v), aO), StringEntry((aX + K), makeString(aR, ",")), BooleanEntry((aX + M), aS), IntegerEntry((aX + L), aT), IntegerEntry((aX + O), aU), IntegerEntry(g, aC), StringEntry(h, "")] ++ bf)
225225 }
226226
227227
228228
229229 @Callable(aB)
230230 func commitSwopfiSale (aC,bg) = {
231231 let bh = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
232232 let aZ = bh._1
233233 let ba = bh._2
234- let bi = az(value(getString(this, (toString(aC) + O))))
234+ let bi = az(value(getString(this, (toString(aC) + J))))
235235 let bj = bi._1
236236 let bk = bi._2
237237 let bl = bi._3
238238 let bm = bi._4
239- let bn = valueOrElse(getInteger(ab, (toString(aB.caller) + B)), 0)
240- let bo = (bn / getIntegerValue(this, (toString(aC) + u)))
239+ let bn = valueOrElse(getInteger(ab, (toString(aB.caller) + x)), 0)
240+ let bo = (bn / getIntegerValue(this, (toString(aC) + s)))
241241 let bp = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Q)), 0)
242242 let bq = (bo - bp)
243243 let aG = value(getInteger(this, (toString(aC) + k)))
244- let aH = value(getInteger(this, (toString(aC) + E)))
245- let aV = valueOrElse(getBoolean(this, (toString(aC) + K)), false)
244+ let aH = value(getInteger(this, (toString(aC) + A)))
245+ let aV = valueOrElse(getBoolean(this, (toString(aC) + F)), false)
246246 if (!(ah))
247247 then throw("DApp is inactive at this moment")
248248 else if ((ai != aC))
249249 then throw("There is no active launchpad or this launchpad is ended")
250250 else if ((aG > height))
251251 then throw("Launchpad sale not started yet")
252252 else if ((height > (aG + aH)))
253253 then throw("Launchpad sale ended")
254254 else if (if (!(aV))
255255 then if ((size(aB.payments) != 1))
256256 then true
257257 else (ba != bj)
258258 else false)
259259 then throw((("One attached payment in " + bl) + " expected"))
260260 else if (if (aV)
261261 then if ((size(aB.payments) != 2))
262262 then true
263263 else (ba != bj)
264264 else false)
265265 then {
266- let br = getStringValue(this, (toString(aC) + L))
266+ let br = getStringValue(this, (toString(aC) + G))
267267 throw(((("Two attached payments expected: First in " + bl) + ", second in ") + br))
268268 }
269269 else if (if ((0 >= bo))
270270 then true
271271 else (0 >= bq))
272272 then throw("Not enought SWOP in staking to buy tickets")
273273 else {
274- let bs = getIntegerValue(this, (toString(aC) + t))
275- let aK = getIntegerValue(this, (toString(aC) + s))
276- let bt = az(getStringValue(this, (toString(aC) + o)))
274+ let bs = getIntegerValue(this, (toString(aC) + r))
275+ let aK = getIntegerValue(this, (toString(aC) + q))
276+ let bt = az(getStringValue(this, (toString(aC) + n)))
277277 let bu = bt._1
278278 let bv = bt._2
279279 let bw = bt._3
280280 let bx = bt._4
281281 let by = fraction(aK, bs, pow(10, 0, bx, 0, 0, DOWN))
282282 let bz = fraction(by, getIntegerValue(this, (toString(aC) + m)), 100)
283283 let bA = (aZ / (by + bz))
284284 let bB = min([bA, bq])
285285 let bC = (bB * (by + bz))
286286 let bD = (aZ - bC)
287287 if ((bA == 0))
288288 then throw((("Not enought " + bl) + " to buy tickets"))
289289 else if ((bD != 0))
290290 then throw((((("Wrong payment. To buy " + toString(bB)) + "tickets you need to pay ") + toString(bC)) + bl))
291291 else {
292292 let bf = if (aV)
293293 then {
294- let br = getStringValue(this, (toString(aC) + L))
295- let bE = getIntegerValue(this, (toString(aC) + N))
294+ let br = getStringValue(this, (toString(aC) + G))
295+ let bE = getIntegerValue(this, (toString(aC) + I))
296296 let bF = $Tuple2(aB.payments[1].amount, aB.payments[1].assetId)
297297 let bG = bF._1
298298 let bH = bF._2
299299 let bI = ar(ba)
300300 let bJ = bI._1
301301 let bK = bI._2
302302 let bL = bI._3
303303 let bM = (bE * bA)
304304 if (if ((bJ != br))
305305 then true
306306 else (bM != bG))
307307 then throw((((("You need to add " + toString(bM)) + " ") + bK) + " as a second payment"))
308308 else [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Z), bG)]
309309 }
310310 else nil
311- let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + S)), "")
312- let bO = getIntegerValue(this, (toString(aC) + z))
311+ let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + R)), "")
312+ let bO = getIntegerValue(this, (toString(aC) + w))
313313 let bP = ((toString((bO + 1)) + "-") + toString((bO + bB)))
314314 let bQ = (bN + (if ((bN != ""))
315315 then ("," + bP)
316316 else ("" + bP)))
317317 let bR = if ((bj == ae))
318318 then invoke(ad, "lockNeutrino", nil, [AttachedPayment(ba, aZ)])
319319 else 0
320320 if ((bR == bR))
321321 then {
322- let bS = ([IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Q), (bp + bB)), IntegerEntry((toString(aC) + z), (bO + bB)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + S), bQ)] ++ bf)
323- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
324- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
322+ let bS = ([IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Q), (bp + bB)), IntegerEntry((toString(aC) + w), (bO + bB)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + R), bQ)] ++ bf)
323+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
324+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
325325 else bS
326326 }
327327 else throw("Strict value is not equal to itself.")
328328 }
329329 }
330330 }
331331
332332
333333
334334 @Callable(aB)
335335 func commitAccessListSale (aC,bg) = {
336336 let bT = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
337337 let aZ = bT._1
338338 let ba = bT._2
339- let bU = az(value(getString(this, (toString(aC) + O))))
339+ let bU = az(value(getString(this, (toString(aC) + J))))
340340 let bj = bU._1
341341 let bk = bU._2
342342 let bl = bU._3
343343 let bm = bU._4
344344 let bV = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + V)), 0)
345- let bW = valueOrElse(getInteger(this, (toString(aC) + F)), 0)
345+ let bW = valueOrElse(getInteger(this, (toString(aC) + B)), 0)
346346 let bX = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + W)), 0)
347347 let aJ = getIntegerValue(this, (toString(aC) + m))
348- let bs = getIntegerValue(this, (toString(aC) + t))
349- let aO = getIntegerValue(this, (toString(aC) + y))
350- let bY = az(getStringValue(this, (toString(aC) + o)))
348+ let bs = getIntegerValue(this, (toString(aC) + r))
349+ let aO = getIntegerValue(this, (toString(aC) + v))
350+ let bY = az(getStringValue(this, (toString(aC) + n)))
351351 let bu = bY._1
352352 let bv = bY._2
353353 let bw = bY._3
354354 let bx = bY._4
355355 let bZ = fraction(fraction(bs, aO, pow(10, 0, bx, 0, 0, DOWN)), (100 + aJ), 100)
356356 let aG = value(getInteger(this, (toString(aC) + k)))
357- let aH = value(getInteger(this, (toString(aC) + E)))
357+ let aH = value(getInteger(this, (toString(aC) + A)))
358358 if (!(ah))
359359 then throw("DApp is inactive at this moment")
360360 else if ((ai != aC))
361361 then throw("There is no active launchpad or this launchpad is ended")
362362 else if ((aG > height))
363363 then throw("Launchpad sale not started yet")
364364 else if ((height > (aG + aH)))
365365 then throw("Launchpad sale ended")
366366 else if (if ((size(aB.payments) != 1))
367367 then true
368368 else (ba != bj))
369369 then throw((("One attached payment in " + bl) + " expected"))
370370 else if ((bX >= ag))
371371 then throw((("You can buy only " + toString(ag)) + "allocations"))
372372 else if (if ((bZ != aZ))
373373 then ((bZ * 2) != aZ)
374374 else false)
375375 then throw(((("Wrong payment. You can buy 1 or 2 allocations for " + toString(bZ)) + bl) + " per allocation"))
376376 else {
377377 let ca = (aZ / bZ)
378378 let bR = if ((bj == ae))
379379 then invoke(ad, "lockNeutrino", nil, [AttachedPayment(ba, aZ)])
380380 else 0
381381 if ((bR == bR))
382382 then {
383- let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + W), (bX + ca)), IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + V), (bV + aZ)), IntegerEntry((toString(aC) + F), (bW + aZ))]
384- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
385- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
383+ let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + W), (bX + ca)), IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + V), (bV + aZ)), IntegerEntry((toString(aC) + B), (bW + aZ))]
384+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
385+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
386386 else bS
387387 }
388388 else throw("Strict value is not equal to itself.")
389389 }
390390 }
391391
392392
393393
394394 @Callable(aB)
395395 func commitHighCompetitionSale (aC,bg) = {
396396 let cb = $Tuple2(aB.payments[0].amount, aB.payments[0].assetId)
397397 let aZ = cb._1
398398 let ba = cb._2
399- let cc = az(value(getString(this, (toString(aC) + O))))
399+ let cc = az(value(getString(this, (toString(aC) + J))))
400400 let bj = cc._1
401401 let bk = cc._2
402402 let bl = cc._3
403403 let bm = cc._4
404404 let aG = value(getInteger(this, (toString(aC) + k)))
405- let aH = value(getInteger(this, (toString(aC) + E)))
406- let cd = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + R)), 0)
407- let ce = valueOrElse(getBoolean(this, (toString(aC) + J)), false)
405+ let aH = value(getInteger(this, (toString(aC) + A)))
406+ let cd = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + T)), 0)
407+ let ce = valueOrElse(getBoolean(this, (toString(aC) + M)), false)
408408 if (!(ah))
409409 then throw("DApp is inactive at this moment")
410410 else if ((ai != aC))
411411 then throw("There is no active launchpad or this launchpad is ended")
412412 else if (!(ce))
413413 then throw("There is no high competition sale for this launchpad")
414414 else if ((aG > height))
415415 then throw("Launchpad sale not started yet")
416416 else if ((height > (aG + aH)))
417417 then throw("Launchpad sale ended")
418418 else if (if ((size(aB.payments) != 1))
419419 then true
420420 else (ba != bj))
421421 then throw((("One attached payment in " + bl) + " expected"))
422422 else {
423- let bs = getIntegerValue(this, (toString(aC) + t))
424- let aK = getIntegerValue(this, (toString(aC) + s))
425- let cf = az(getStringValue(this, (toString(aC) + o)))
423+ let bs = getIntegerValue(this, (toString(aC) + r))
424+ let aK = getIntegerValue(this, (toString(aC) + q))
425+ let cf = az(getStringValue(this, (toString(aC) + n)))
426426 let bu = cf._1
427427 let bv = cf._2
428428 let bw = cf._3
429429 let bx = cf._4
430430 let by = fraction(aK, bs, pow(10, 0, bx, 0, 0, DOWN))
431- let bz = fraction(by, getIntegerValue(this, (toString(aC) + n)), 100)
431+ let bz = fraction(by, getIntegerValue(this, (toString(aC) + L)), 100)
432432 let bA = (aZ / (by + bz))
433433 let cg = (bA * (by + bz))
434434 let bD = (aZ - cg)
435435 if ((bA == 0))
436436 then throw((("Not enought " + bl) + " to buy tickets"))
437437 else if ((bD != 0))
438438 then throw((((("Wrong payment. To buy " + toString(bA)) + "tickets you need to pay ") + toString(cg)) + bl))
439439 else {
440- let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + T)), "")
441- let bO = getIntegerValue(this, (toString(aC) + A))
440+ let bN = valueOrElse(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + S)), "")
441+ let bO = getIntegerValue(this, (toString(aC) + N))
442442 let bP = ((toString((bO + 1)) + "-") + toString((bO + bA)))
443443 let bQ = (bN + (if ((bN != ""))
444444 then ("," + bP)
445445 else ("" + bP)))
446446 let bR = if ((bj == ae))
447447 then invoke(ad, "lockNeutrino", nil, [AttachedPayment(ba, aZ)])
448448 else 0
449449 if ((bR == bR))
450450 then {
451- let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + R), (cd + bA)), IntegerEntry((toString(aC) + A), (bO + bA)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + T), bQ)]
452- if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + C)))))
453- then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + C), bg)])
451+ let bS = [IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + T), (cd + bA)), IntegerEntry((toString(aC) + N), (bO + bA)), StringEntry((((toString(aB.caller) + "_") + toString(aC)) + S), bQ)]
452+ if (!(isDefined(getString(this, (((toString(aB.caller) + "_") + toString(aC)) + y)))))
453+ then (bS ++ [StringEntry((((toString(aB.caller) + "_") + toString(aC)) + y), bg)])
454454 else bS
455455 }
456456 else throw("Strict value is not equal to itself.")
457457 }
458458 }
459459 }
460460
461461
462462
463463 @Callable(aB)
464464 func finalise (aC,ch,ci) = {
465- let cj = getStringValue(this, (toString(aC) + D))
465+ let cj = getStringValue(this, (toString(aC) + z))
466466 let ck = toBase58String(sha256((toBytes(ch) + toBytes(ci))))
467467 if (!(ah))
468468 then throw("DApp is inactive at this moment")
469469 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
470470 then throw("Only admin can call this function")
471471 else if ((ck != cj))
472472 then throw("vrf Height hash not matching")
473473 else {
474- let cl = az(value(getString(this, (toString(aC) + O))))
474+ let cl = az(value(getString(this, (toString(aC) + J))))
475475 let bj = cl._1
476476 let bk = cl._2
477477 let bl = cl._3
478478 let bm = cl._4
479479 let aF = addressFromStringValue(getStringValue(this, (toString(aC) + i)))
480480 let aJ = getIntegerValue(this, (toString(aC) + m))
481- let cm = getIntegerValue(this, (toString(aC) + n))
482- let cn = valueOrElse(getInteger(this, (toString(aC) + H)), 0)
483- let co = getIntegerValue(this, (toString(aC) + q))
484- let cp = valueOrElse(getIntegerValue(this, (toString(aC) + r)), 0)
481+ let cm = getIntegerValue(this, (toString(aC) + L))
482+ let cn = valueOrElse(getInteger(this, (toString(aC) + D)), 0)
483+ let co = getIntegerValue(this, (toString(aC) + p))
484+ let cp = valueOrElse(getIntegerValue(this, (toString(aC) + P)), 0)
485485 let cq = fraction(co, aJ, 100)
486486 let cr = fraction(cp, cm, 100)
487- let cs = getIntegerValue(this, (toString(aC) + G))
487+ let cs = getIntegerValue(this, (toString(aC) + C))
488488 let ct = fraction(cs, aJ, 100)
489489 let cu = (((((co + cs) + cq) + ct) + cp) + cr)
490490 if ((cn > (co + cs)))
491491 then throw("Can't transfer negative value to project")
492492 else {
493493 let bR = if ((bj == ae))
494494 then invoke(ad, "unlockNeutrino", [cu, toBase58String(ae)], nil)
495495 else 0
496496 if ((bR == bR))
497497 then [IntegerEntry((toString(aC) + l), height), ScriptTransfer(aF, ((co + cs) - cn), bj), ScriptTransfer(ac, ((cq + ct) + cr), bj)]
498498 else throw("Strict value is not equal to itself.")
499499 }
500500 }
501501 }
502502
503503
504504
505505 @Callable(aB)
506506 func claim (aC) = {
507507 let cv = valueOrElse(getBoolean(this, (((toString(aB.caller) + "_") + toString(aC)) + X)), false)
508508 let cw = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Q)), 0)
509509 let bX = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + W)), 0)
510510 if (!(ah))
511511 then throw("DApp is inactive at this moment")
512512 else if (!(isDefined(getInteger(this, (toString(aC) + l)))))
513513 then throw("You can't claim because results are not finalized")
514514 else if (cv)
515515 then throw("You are already claimed")
516516 else if (if ((cw == 0))
517517 then (bX == 0)
518518 else false)
519519 then throw("You can't claim because you don't buy anything")
520520 else {
521- let cx = az(value(getString(this, (toString(aC) + O))))
521+ let cx = az(value(getString(this, (toString(aC) + J))))
522522 let bj = cx._1
523523 let bk = cx._2
524524 let bl = cx._3
525525 let bm = cx._4
526526 let cy = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Y)), 0)
527527 let cz = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + U)), 0)
528528 let aJ = getIntegerValue(this, (toString(aC) + m))
529529 let cA = min([bX, cz])
530- let bs = getIntegerValue(this, (toString(aC) + t))
531- let aK = getIntegerValue(this, (toString(aC) + s))
532- let cB = az(getStringValue(this, (toString(aC) + o)))
530+ let bs = getIntegerValue(this, (toString(aC) + r))
531+ let aK = getIntegerValue(this, (toString(aC) + q))
532+ let cB = az(getStringValue(this, (toString(aC) + n)))
533533 let bu = cB._1
534534 let bv = cB._2
535535 let bw = cB._3
536536 let bx = cB._4
537537 let by = fraction(aK, bs, pow(10, 0, bx, 0, 0, DOWN))
538- let aO = getIntegerValue(this, (toString(aC) + y))
538+ let aO = getIntegerValue(this, (toString(aC) + v))
539539 let cC = ((cy * aK) + (cA * aO))
540540 let cD = ((bX - cA) * aO)
541541 let cE = fraction(fraction(cD, bs, pow(10, 0, bx, 0, 0, DOWN)), (100 + aJ), 100)
542542 let cF = fraction(((cw - cy) * by), (100 + aJ), 100)
543543 if (if ((0 > cE))
544544 then true
545545 else (0 > cF))
546546 then throw("Error with allowed allocation param or wonned tickets param please contact support")
547547 else {
548548 let cG = (cF + cF)
549549 let cH = if ((cG > 0))
550550 then [ScriptTransfer(aB.caller, cG, bj)]
551551 else nil
552552 let cI = if ((cC > 0))
553553 then [ScriptTransfer(aB.caller, cC, bu)]
554554 else nil
555555 let bR = if (if ((cG > 0))
556556 then (bj == ae)
557557 else false)
558558 then invoke(ad, "unlockNeutrino", [cG, toBase58String(ae)], nil)
559559 else 0
560560 if ((bR == bR))
561561 then (([BooleanEntry((((toString(aB.caller) + "_") + toString(aC)) + X), true)] ++ cI) ++ cH)
562562 else throw("Strict value is not equal to itself.")
563563 }
564564 }
565565 }
566566
567567
568568
569569 @Callable(aB)
570570 func claimFreezeToken (aC) = {
571- let aV = valueOrElse(getBoolean(this, (toString(aC) + K)), false)
571+ let aV = valueOrElse(getBoolean(this, (toString(aC) + F)), false)
572572 if (!(ah))
573573 then throw("DApp is inactive at this moment")
574574 else if (!(isDefined(getInteger(this, (toString(aC) + l)))))
575575 then throw("You can't claim because results are not finalized")
576576 else if (!(aV))
577577 then throw("There are no additional token freezing for this launchpad")
578578 else {
579- let bu = fromBase58String(getStringValue(this, (toString(aC) + L)))
579+ let bu = fromBase58String(getStringValue(this, (toString(aC) + G)))
580580 let cJ = valueOrElse(getInteger(this, (((toString(aB.caller) + "_") + toString(aC)) + Z)), 0)
581581 let aG = valueOrElse(getInteger(this, (toString(aC) + k)), 0)
582- let aH = valueOrElse(getInteger(this, (toString(aC) + E)), 0)
583- let cK = getIntegerValue(this, (toString(aC) + M))
582+ let aH = valueOrElse(getInteger(this, (toString(aC) + A)), 0)
583+ let cK = getIntegerValue(this, (toString(aC) + H))
584584 let cL = ((aG + aH) + cK)
585585 if ((cJ == 0))
586586 then throw("You are already claimed your tokens or not paid anything")
587587 else if ((cL > height))
588588 then throw(("Your tokens freezed teel " + toString(cL)))
589589 else [ScriptTransfer(aB.caller, cJ, bu), IntegerEntry((((toString(aB.caller) + "_") + toString(aC)) + Z), 0)]
590590 }
591591 }
592592
593593
594594
595595 @Callable(aB)
596596 func transferBuyAsset (aC,cM) = if (!(ah))
597597 then throw("DApp is inactive")
598598 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
599599 then throw("Only admin can call this function")
600600 else {
601601 let aF = addressFromStringValue(getStringValue(this, (toString(aC) + i)))
602- let cN = az(value(getString(this, (toString(aC) + O))))
602+ let cN = az(value(getString(this, (toString(aC) + J))))
603603 let bj = cN._1
604604 let bk = cN._2
605605 let bl = cN._3
606606 let bm = cN._4
607-[IntegerEntry((toString(aC) + H), cM), ScriptTransfer(aF, cM, bj)]
607+[IntegerEntry((toString(aC) + D), cM), ScriptTransfer(aF, cM, bj)]
608608 }
609609
610610
611611
612612 @Callable(aB)
613613 func shutdown () = if (!(ah))
614614 then throw("DApp already inactive")
615615 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
616616 then throw("Only admin can call this function")
617617 else [BooleanEntry(a, false)]
618618
619619
620620
621621 @Callable(aB)
622622 func activate () = if (ah)
623623 then throw("DApp already active")
624624 else if (!(containsElement([ao, ap, aq], aB.callerPublicKey)))
625625 then throw("Only admin can call this function")
626626 else [BooleanEntry(a, true)]
627627
628628
629629 @Verifier(cO)
630630 func cP () = {
631631 let cQ = {
632632 let cR = if (sigVerify(cO.bodyBytes, cO.proofs[0], ao))
633633 then 1
634634 else 0
635635 let cS = if (sigVerify(cO.bodyBytes, cO.proofs[1], ap))
636636 then 1
637637 else 0
638638 let cT = if (sigVerify(cO.bodyBytes, cO.proofs[2], aq))
639639 then 1
640640 else 0
641641 (((cR + cS) + cT) >= 2)
642642 }
643643 let cU = if (if (if (sigVerify(cO.bodyBytes, cO.proofs[0], ao))
644644 then true
645645 else sigVerify(cO.bodyBytes, cO.proofs[0], ap))
646646 then true
647647 else sigVerify(cO.bodyBytes, cO.proofs[0], aq))
648648 then true
649649 else sigVerify(cO.bodyBytes, cO.proofs[0], af)
650650 let al = cO
651651 if ($isInstanceOf(al, "DataTransaction"))
652652 then {
653653 let cV = al
654654 if (valueOrElse(getBoolean(aa, e), false))
655655 then cU
656656 else false
657657 }
658658 else cQ
659659 }
660660

github/deemru/w8io/169f3d6 
164.67 ms