tx · FTEkwSbc8XAmWnCF4EFZgraG1amBjypGcxDuTJRiAdgE

3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN:  -0.01400000 Waves

2021.12.23 14:12 [1846830] smart account 3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN > SELF 0.00000000 Waves

{ "type": 13, "id": "FTEkwSbc8XAmWnCF4EFZgraG1amBjypGcxDuTJRiAdgE", "fee": 1400000, "feeAssetId": null, "timestamp": 1640258034803, "version": 2, "chainId": 84, "sender": "3MtVYGt1cJJB8g21cvSzJScK3hxUi9JHdcN", "senderPublicKey": "65qdY9G3EVQgF1GhvrT6rw2zPmUsFirt9Kjm5q5fdJvu", "proofs": [ "83vXrtCMj8eMegVRvrw6siL7A1gTJequotHHvHdzc6AzLdPPayEBPGLt9HPRBP8hJKK9ujByXEbU7e9ZF4HAY7G" ], "script": "base64:AAIFAAAAAAAAAz0IAhIGCgQBAQgIEgMKAQgSAwoBCBIDCgEIEgQKAggIEgQKAggIEgQKAggIGg4KAUESCWJpZEF1dGhvchoOCgFCEgliaWRBbW91bnQaBgoBQxIBaRoPCgFEEgpzdGFydFByaWNlGhEKAUUSDGluc3RhbnRQcmljZRoQCgFGEgtkZXNjcmlwdGlvbhoMCgFHEgdlZ2dTZWxsGhIKAUgSDWdsb2JhbENvdW50ZXIaCAoBSRIDcG10GgoKAUoSBWFzc2V0GhEKAUsSDGF1Y3Rpb25Pd25lchoVCgFMEhBwYXltZW50QXNzZXROYW1lGgsKAU0SBmFtb3VudBoSCgFOEg1hdWN0aW9uU3RhdHVzGg0KAU8SCGZpbmFsRmVlGhAKAVASC3JlY29yZFByaWNlGhMKAVESDm5ld1JlY29yZFByaWNlGg0KAVISCG1pblByaWNlGg4KAVMSCWJpZFN0YXR1cxoHCgFUEgJ0eBoLCgFVEgZ2ZXJpZnkaFQoBYRIQaW5jdWJhdG9yQWRkcmVzcxoTCgFiEg5icmVlZGVyQWRkcmVzcxoVCgFjEhBhcnRlZmFjdHNBZGRyZXNzGhIKAWQSDWZlZUFnZ3JlZ2F0b3IaDwoBZRIKZWdnQXNzZXRJZBoTCgFmEg5rR2xvYmFsQ291bnRlchoPCgFnEgpmZWVQZXJjZW50GhgKAWgSE2FydGVmYWN0c0ZlZVBlcmNlbnQaEgoBaRINdHJ5R2V0SW50ZWdlchoICgFqEgNrZXkaCAoBaxIDdmFsGgwKAWwSByRtYXRjaDAaBgoBbRIBYhoRCgFuEgx0cnlHZXRTdHJpbmcaEgoBbxINdHJ5R2V0Qm9vbGVhbhoVCgFwEhBnZXRHbG9iYWxDb3VudGVyGhUKAXESEGdldEFzc2V0R2Vub3R5cGUaDAoBchIHYXNzZXRJZBoLCgFzEgZhc3NldDEaCwoBdBIGYXNzZXQyGgYKAXUSAWMaGAoBdhITZ2V0QmlkQ2FuY2VsUmVzdWx0cxoOCgF3EglhdWN0aW9uSWQaCgoBeBIFYmlkSWQaDgoBeRIJaXNFZ2dTZWxsGhMKAXoSDnBheW1lbnRBc3NldElkAAAADgAAAAABYQEAAAAaAVeMtUiffp4V1RiXjht3+wl/Z2La4W1jJUkAAAAAAWIBAAAAGgFXfue5+XHETHhcfXh7hnGCQxWmeWoPth8eAAAAAAFjAQAAABoBVyQsKXoM2ioOepYvb4rTF8OhGKL8UaHN8gAAAAABZAEAAAAaAVcuggocfnMh8yGFPd6ZstDuF43Wf/PPG4UAAAAAAWUBAAAAIKOff08jclHRLOIhkmKITQwL8+oiboHVr/wLkxfObbHJAAAAAAFmAgAAAA5HTE9CQUxfQ09VTlRFUgAAAAABZwAAAAAAAAAABQAAAAABaAAAAAAAAAAAFAEAAAABaQAAAAEAAAABagQAAAABawQAAAABbAkABBoAAAACBQAAAAR0aGlzBQAAAAFqAwkAAAEAAAACBQAAAAFsAgAAAANJbnQEAAAAAW0FAAAAAWwFAAAAAW0AAAAAAAAAAAAFAAAAAWsBAAAAAW4AAAABAAAAAWoEAAAAAWsEAAAAAWwJAAQdAAAAAgUAAAAEdGhpcwUAAAABagMJAAABAAAAAgUAAAABbAIAAAAGU3RyaW5nBAAAAAFtBQAAAAFsBQAAAAFtAgAAAAAFAAAAAWsBAAAAAW8AAAABAAAAAWoEAAAAAWwJAAQbAAAAAgUAAAAEdGhpcwUAAAABagMJAAABAAAAAgUAAAABbAIAAAAHQm9vbGVhbgQAAAABbQUAAAABbAUAAAABbQcBAAAAAXAAAAAACQEAAAABaQAAAAEFAAAAAWYBAAAAAXEAAAABAAAAAXIDCQAAAAAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAXIAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEFAAAAAWMCAAAAA0FSVAQAAAABcwQAAAABbAkABB0AAAACCQEAAAAHQWRkcmVzcwAAAAEFAAAAAWEJAAJYAAAAAQUAAAABcgMJAAABAAAAAgUAAAABbAIAAAAGU3RyaW5nBAAAAAFtBQAAAAFsBQAAAAFtAgAAAAADCQEAAAACIT0AAAACBQAAAAFzAgAAAAAFAAAAAXMEAAAAAXQEAAAAAWwJAAQdAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAAAFiCQACWAAAAAEFAAAAAXIDCQAAAQAAAAIFAAAAAWwCAAAABlN0cmluZwQAAAABdQUAAAABbAUAAAABdQIAAAAAAwkBAAAAAiE9AAAAAgUAAAABdAIAAAAABQAAAAF0AgAAAAABAAAAAXYAAAACAAAAAXcAAAABeAQAAAABeQkBAAAAAW8AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAACF9lZ2dTZWxsBAAAAAF6AwkAAAAAAAACBQAAAAF5BgUAAAABZQUAAAAEdW5pdAQAAAABcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfYXNzZXRJZAQAAAABQQkBAAAAAW4AAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAVfYmlkXwUAAAABeAIAAAAHX2F1dGhvcgQAAAABQgkBAAAAAWkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAVfYmlkXwUAAAABeAIAAAAHX2Ftb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFzc2V0SWRfBQAAAAFyAgAAAAVfYmlkXwUAAAABeAIAAAAFX2RhdGEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD3siYXVjdGlvbklkIjogIgUAAAABdwIAAAAOIiwgImF1dGhvciI6ICIFAAAAAUECAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAUICAAAAGSIsICJzdGF0dXMiOiAiY2FuY2VsbGVkIn0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19zdGF0dXMCAAAACWNhbmNlbGxlZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAUECAAAACV9hdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEFAAAAAUEFAAAAAUIFAAAAAXoFAAAAA25pbAAAAAcAAAABQwEAAAALaW5pdEF1Y3Rpb24AAAAEAAAAAUQAAAABRQAAAAFGAAAAAUcEAAAAAUgJAQAAAAFwAAAAAAQAAAABdwkAASwAAAACCQACWAAAAAEIBQAAAAFDAAAADXRyYW5zYWN0aW9uSWQJAAGkAAAAAQUAAAABSAQAAAABSQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABQwAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAABcgkBAAAABXZhbHVlAAAAAQgFAAAAAUkAAAAHYXNzZXRJZAQAAAABSgkBAAAAAXEAAAABBQAAAAFyAwkAAAAAAAACBQAAAAFKAgAAAAAJAAACAAAAAQIAAAA9WW91IGNhbiBvbmx5IHNlbGwgYW4gTkZULWR1Y2sgY3JlYXRlZCBpbiBpbmN1YmF0b3Igb3IgYnJlZWRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAB19zdGF0dXMCAAAABG9wZW4JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAIX2VnZ1NlbGwJAAAAAAAAAgUAAAABRwIAAAAEdHJ1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAABZgkAAGQAAAACBQAAAAFIAAAAAAAAAAABCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwkAAlgAAAABBQAAAAFyAgAAAAVfbGFzdAUAAAABdwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAACV9hc3NldEdlbgUAAAABSgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAACF9hc3NldElkCQACWAAAAAEFAAAAAXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAKX3N0YXJ0ZWRBdAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAZfb3duZXIJAAQlAAAAAQgFAAAAAUMAAAAMb3JpZ2luQ2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAMX2Rlc2NyaXB0aW9uBQAAAAFGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19zdGFydFByaWNlBQAAAAFECQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19pc0FydGVmYWN0CQAAAAAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAXIAAAAGaXNzdWVyCQEAAAAHQWRkcmVzcwAAAAEFAAAAAWMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAANX2luc3RhbnRQcmljZQUAAAABRQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfCQAEJQAAAAEIBQAAAAFDAAAADG9yaWdpbkNhbGxlcgIAAAAJX2F1Y3Rpb25fBQAAAAF3AgAAAApfbG9ja2VkTkZUCQACWAAAAAEFAAAAAXIFAAAAA25pbAAAAAFDAQAAAA1jYW5jZWxBdWN0aW9uAAAAAQAAAAF3BAAAAAFLCQEAAAABbgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAGX293bmVyAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABQwAAAAxvcmlnaW5DYWxsZXIFAAAAAUsJAAACAAAAAQIAAAAdT25seSBhbGxvd2VkIHRvIGF1Y3Rpb24gb3duZXIDCQEAAAACIT0AAAACCQEAAAABbgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAHX3N0YXR1cwIAAAAEb3BlbgkAAAIAAAABAgAAABBhdWN0aW9uIGlzIGNsb3NlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAHX3N0YXR1cwIAAAAJY2FuY2VsbGVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAUsCAAAACV9hdWN0aW9uXwUAAAABdwIAAAAKX2xvY2tlZE5GVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABQwAAAAxvcmlnaW5DYWxsZXIAAAAAAAAAAAEJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfYXNzZXRJZAUAAAADbmlsAAAAAUMBAAAACmluc3RhbnRCdXkAAAABAAAAAXcEAAAAAXkJAQAAAAFvAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfZWdnU2VsbAQAAAABegMJAAAAAAAAAgUAAAABeQYFAAAAAWUFAAAABHVuaXQEAAAAAUwDCQAAAAAAAAIFAAAAAXkGAgAAAANFR0cCAAAABVdBVkVTBAAAAAFJCQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFDAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAFNCAUAAAABSQAAAAZhbW91bnQEAAAAAXIJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfYXNzZXRJZAQAAAABeAkAAlgAAAABCAUAAAABQwAAAA10cmFuc2FjdGlvbklkBAAAAAFOCQEAAAABbgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAHX3N0YXR1cwQAAAABTwMJAAAAAAAAAgkBAAAAAW8AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19pc0FydGVmYWN0BgUAAAABaAUAAAABZwMJAQAAAAIhPQAAAAIIBQAAAAFJAAAAB2Fzc2V0SWQFAAAAAXoJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAGkF1Y3Rpb24gZG9lcyBvbmx5IHN1cHBvcnQgBQAAAAFMAgAAAAogcGF5bWVudHMuAwkBAAAAAiE9AAAAAgUAAAABTgIAAAAEb3BlbgkAAAIAAAABAgAAACpBdWN0aW9uIGlzIGNsb3NlZC4gWW91IGNhbm5vdCBwbGFjZSBhIGJpZC4EAAAAAUUJAQAAAAFpAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAA1faW5zdGFudFByaWNlAwkAAGYAAAACBQAAAAFFBQAAAAFNCQAAAgAAAAEJAAEsAAAAAgIAAAAuRm9yIGluc3RhbnQgcHVyY2hhc2UgeW91IG5lZWQgdG8gcGF5IGF0IGxlYXN0IAkAAaQAAAABBQAAAAFFBAAAAAFLCQEAAAABbgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAGX293bmVyBAAAAAFQCQEAAAABaQAAAAEJAAEsAAAAAgUAAAABcgIAAAAMX3JlY29yZFByaWNlBAAAAAFRCQABlgAAAAEJAARMAAAAAgUAAAABUAkABEwAAAACBQAAAAFNBQAAAANuaWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAdfc3RhdHVzAgAAAAhmaW5pc2hlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAtfZmluYWxQcmljZQUAAAABTQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAFyAgAAAAxfcmVjb3JkUHJpY2UFAAAAAVEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAABcgIAAAAFX2JpZF8FAAAAAXgCAAAABV9kYXRhCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA97ImF1Y3Rpb25JZCI6ICIFAAAAAXcCAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAFDAAAADG9yaWdpbkNhbGxlcgIAAAAOIiwgImFtb3VudCI6ICIJAAGkAAAAAQUAAAABTQIAAAAYIiwgInN0YXR1cyI6ICJmaW5pc2hlZCJ9CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAUsCAAAACV9hdWN0aW9uXwUAAAABdwIAAAAKX2xvY2tlZE5GVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABQwAAAAxvcmlnaW5DYWxsZXIAAAAAAAAAAAEJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfYXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAFLCQAAawAAAAMFAAAAAU0JAABlAAAAAgAAAAAAAAAAZAUAAAABTwAAAAAAAAAAZAUAAAABegkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEFAAAAAWQJAABrAAAAAwUAAAABTQUAAAABTwAAAAAAAAAAZAUAAAABegUAAAADbmlsAAAAAUMBAAAACHBsYWNlQmlkAAAAAQAAAAF3BAAAAAF5CQEAAAABbwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAIX2VnZ1NlbGwEAAAAAXoDCQAAAAAAAAIFAAAAAXkGBQAAAAFlBQAAAAR1bml0BAAAAAFMAwkAAAAAAAACBQAAAAF5BgIAAAADRUdHAgAAAAVXQVZFUwQAAAABSQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABQwAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAABTQgFAAAAAUkAAAAGYW1vdW50BAAAAAF4CQACWAAAAAEIBQAAAAFDAAAADXRyYW5zYWN0aW9uSWQEAAAAAXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAIX2Fzc2V0SWQDCQEAAAACIT0AAAACCAUAAAABSQAAAAdhc3NldElkBQAAAAF6CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABpBdWN0aW9uIGRvZXMgb25seSBzdXBwb3J0IAUAAAABTAIAAAAKIHBheW1lbnRzLgMJAQAAAAIhPQAAAAIJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAdfc3RhdHVzAgAAAARvcGVuCQAAAgAAAAECAAAAEkF1Y3Rpb24gd2FzIGNsb3NlZAQAAAABUgkBAAAAAWkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19zdGFydFByaWNlAwkAAGYAAAACBQAAAAFSBQAAAAFNCQAAAgAAAAEJAAEsAAAAAgIAAAAkVGhlIG1pbmltYWwgaW5pdGlhbCBwcmljZSBpcyBzZXQgYXMgCQABpAAAAAEFAAAAAVIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19hdXRob3IJAAQlAAAAAQgFAAAAAUMAAAAMb3JpZ2luQ2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXNzZXRJZF8FAAAAAXICAAAABV9iaWRfBQAAAAF4AgAAAAVfZGF0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPeyJhdWN0aW9uSWQiOiAiBQAAAAF3AgAAAA4iLCAiYXV0aG9yIjogIgkABCUAAAABCAUAAAABQwAAAAxvcmlnaW5DYWxsZXICAAAADiIsICJhbW91bnQiOiAiCQABpAAAAAEFAAAAAU0CAAAAFCIsICJzdGF0dXMiOiAib3BlbiJ9CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAVfYmlkXwUAAAABeAIAAAAHX2Ftb3VudAUAAAABTQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18JAAQlAAAAAQgFAAAAAUMAAAAMb3JpZ2luQ2FsbGVyAgAAAAlfYXVjdGlvbl8FAAAAAXcCAAAABV9iaWRfBQAAAAF4BQAAAAFyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAABV9iaWRfBQAAAAF4AgAAAAdfc3RhdHVzAgAAAARvcGVuBQAAAANuaWwAAAABQwEAAAAJY2FuY2VsQmlkAAAAAgAAAAF3AAAAAXgEAAAAAXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAIX2Fzc2V0SWQEAAAAAUEJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19hdXRob3IEAAAAAUIJAQAAAAFpAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19hbW91bnQDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAFDAAAADG9yaWdpbkNhbGxlcgUAAAABQQkAAAIAAAABAgAAAB5Pbmx5IGFsbG93ZWQgdG8gdGhlIGJpZCBhdXRob3IDCQEAAAACIT0AAAACCQEAAAABbgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAABV9iaWRfBQAAAAF4AgAAAAdfc3RhdHVzAgAAAARvcGVuCQAAAgAAAAECAAAAD2JpZCBpcyBub3Qgb3BlbgkBAAAAAXYAAAACBQAAAAF3BQAAAAF4AAAAAUMBAAAAEWNhbmNlbE91dGRhdGVkQmlkAAAAAgAAAAF3AAAAAXgJAAACAAAAAQIAAAAOdG8gYmUgcmVsZWFzZWQAAAABQwEAAAAJYWNjZXB0QmlkAAAAAgAAAAF3AAAAAXgEAAAAAXkJAQAAAAFvAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfZWdnU2VsbAQAAAABegMJAAAAAAAAAgUAAAABeQYFAAAAAWUFAAAABHVuaXQEAAAAAUsJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAZfb3duZXIEAAAAAUEJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19hdXRob3IEAAAAAUIJAQAAAAFpAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19hbW91bnQEAAAAAVMJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19zdGF0dXMEAAAAAXIJAQAAAAFuAAAAAQkAASwAAAACCQABLAAAAAICAAAACGF1Y3Rpb25fBQAAAAF3AgAAAAhfYXNzZXRJZAQAAAABTwMJAAAAAAAAAgkBAAAAAW8AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19pc0FydGVmYWN0BgUAAAABaAUAAAABZwMJAQAAAAIhPQAAAAIJAAQlAAAAAQgFAAAAAUMAAAAMb3JpZ2luQ2FsbGVyBQAAAAFLCQAAAgAAAAECAAAAHU9ubHkgYWxsb3dlZCB0byBhdWN0aW9uIG93bmVyAwkBAAAAAiE9AAAAAgUAAAABUwIAAAAEb3BlbgkAAAIAAAABAgAAAChCaWQgd2FzIGNhbmNlbGxlZCBhbmQgY2Fubm90IGJlIGFjY2VwdGVkAwkBAAAAAiE9AAAAAgkBAAAAAW4AAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAB19zdGF0dXMCAAAABG9wZW4JAAACAAAAAQIAAAASQXVjdGlvbiB3YXMgY2xvc2VkBAAAAAFQCQEAAAABaQAAAAEJAAEsAAAAAgUAAAABcgIAAAAMX3JlY29yZFByaWNlBAAAAAFRCQABlgAAAAEJAARMAAAAAgUAAAABUAkABEwAAAACBQAAAAFCBQAAAANuaWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgCAAAAB19zdGF0dXMCAAAACGZpbmlzaGVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAABdwIAAAAHX3N0YXR1cwIAAAAIZmluaXNoZWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhc3NldElkXwUAAAABcgIAAAAFX2JpZF8FAAAAAXgCAAAABV9kYXRhCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA97ImF1Y3Rpb25JZCI6ICIFAAAAAXcCAAAADiIsICJhdXRob3IiOiAiCQAEJQAAAAEIBQAAAAFDAAAADG9yaWdpbkNhbGxlcgIAAAAOIiwgImFtb3VudCI6ICIJAAGkAAAAAQUAAAABQgIAAAAYIiwgInN0YXR1cyI6ICJmaW5pc2hlZCJ9CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8FAAAAAXcCAAAAC19maW5hbFByaWNlBQAAAAFCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAAXICAAAADF9yZWNvcmRQcmljZQUAAAABUQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAUECAAAACV9hdWN0aW9uXwUAAAABdwIAAAAFX2JpZF8FAAAAAXgJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAABSwIAAAAJX2F1Y3Rpb25fBQAAAAF3AgAAAApfbG9ja2VkTkZUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFDAAAABmNhbGxlcgkAAGsAAAADBQAAAAFCCQAAZQAAAAIAAAAAAAAAAGQFAAAAAU8AAAAAAAAAAGQFAAAAAXoJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABBQAAAAFkCQAAawAAAAMFAAAAAUIFAAAAAU8AAAAAAAAAAGQFAAAAAXoJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAABQQAAAAAAAAAAAQkAAlkAAAABBQAAAAFyBQAAAANuaWwAAAABAAAAAVQBAAAAAVUAAAAACQAB9AAAAAMIBQAAAAFUAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAABVAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFUAAAAD3NlbmRlclB1YmxpY0tledRLx0Y=", "height": 1846830, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EneWmzuMyo8bPo935j7KBhNwm1sHMbCptMKdnJqiyDh Next: Eq3cjaSrZ8dGipmGjKWAqPCdp6zhKHeXvBrG9sSecYWt Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'3N992tjd7EWM6dSHrdVjjjuJrLD4koNztZ9'
4+let a = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
55
6-let b = base58'2cf6jyVG19oHU79R8iHfqFEesjstr3e7nSYEUhb2WagB'
6+let b = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
77
8-let c = base58'3MpADDQFqadaCADNH9JDMQAGw9WEaMcymVU'
8+let c = base58'3P5E9xamcWoymiqLx8ZdmR7o4fJSRMGp1WR'
99
10-let d = 5
10+let d = base58'3P6AobNbcQ3ZjcRY37mJPKN8PP9Giz8kgeY'
1111
12-let e = 20
12+let e = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
1313
14-func f (g) = {
15- let h = {
16- let i = getInteger(this, g)
17- if ($isInstanceOf(i, "Int"))
14+let f = "GLOBAL_COUNTER"
15+
16+let g = 5
17+
18+let h = 20
19+
20+func i (j) = {
21+ let k = {
22+ let l = getInteger(this, j)
23+ if ($isInstanceOf(l, "Int"))
1824 then {
19- let j = i
20- j
25+ let m = l
26+ m
2127 }
2228 else 0
2329 }
24- h
30+ k
2531 }
2632
2733
28-func k (g) = {
29- let h = {
30- let i = getString(this, g)
31- if ($isInstanceOf(i, "String"))
34+func n (j) = {
35+ let k = {
36+ let l = getString(this, j)
37+ if ($isInstanceOf(l, "String"))
3238 then {
33- let j = i
34- j
39+ let m = l
40+ m
3541 }
3642 else ""
3743 }
38- h
44+ k
3945 }
4046
4147
42-func l (g) = {
43- let i = getBoolean(this, g)
44- if ($isInstanceOf(i, "Boolean"))
48+func o (j) = {
49+ let l = getBoolean(this, j)
50+ if ($isInstanceOf(l, "Boolean"))
4551 then {
46- let j = i
47- j
52+ let m = l
53+ m
4854 }
4955 else false
5056 }
5157
5258
53-func m (n,o) = {
54- let p = l((("auction_" + n) + "_eggSell"))
55- let q = if ((p == true))
56- then b
59+func p () = i(f)
60+
61+
62+func q (r) = if ((value(assetInfo(r)).issuer == Address(c)))
63+ then "ART"
64+ else {
65+ let s = {
66+ let l = getString(Address(a), toBase58String(r))
67+ if ($isInstanceOf(l, "String"))
68+ then {
69+ let m = l
70+ m
71+ }
72+ else ""
73+ }
74+ if ((s != ""))
75+ then s
76+ else {
77+ let t = {
78+ let l = getString(Address(b), toBase58String(r))
79+ if ($isInstanceOf(l, "String"))
80+ then {
81+ let u = l
82+ u
83+ }
84+ else ""
85+ }
86+ if ((t != ""))
87+ then t
88+ else ""
89+ }
90+ }
91+
92+
93+func v (w,x) = {
94+ let y = o((("auction_" + w) + "_eggSell"))
95+ let z = if ((y == true))
96+ then e
5797 else unit
58- let r = getStringValue(this, (("auction_" + n) + "_assetId"))
59- let s = k((((("auction_" + n) + "_bid_") + o) + "_author"))
60- let t = f((((("auction_" + n) + "_bid_") + o) + "_amount"))
61-[StringEntry((((("assetId_" + r) + "_bid_") + o) + "_data"), (((((("{\"auctionId\": \"" + n) + "\", \"author\": \"") + s) + "\", \"amount\": \"") + toString(t)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + n) + "_bid_") + o) + "_status"), "cancelled"), DeleteEntry(((((("address_" + s) + "_auction_") + n) + "_bid_") + o)), ScriptTransfer(Address(fromBase58String(s)), t, q)]
98+ let r = getStringValue(this, (("auction_" + w) + "_assetId"))
99+ let A = n((((("auction_" + w) + "_bid_") + x) + "_author"))
100+ let B = i((((("auction_" + w) + "_bid_") + x) + "_amount"))
101+[StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"auctionId\": \"" + w) + "\", \"author\": \"") + A) + "\", \"amount\": \"") + toString(B)) + "\", \"status\": \"cancelled\"}")), StringEntry((((("auction_" + w) + "_bid_") + x) + "_status"), "cancelled"), DeleteEntry(((((("address_" + A) + "_auction_") + w) + "_bid_") + x)), ScriptTransfer(Address(fromBase58String(A)), B, z)]
62102 }
63103
64104
65-func u (r) = if ((value(assetInfo(r)).issuer == Address(a)))
66- then "ART"
67- else ""
68-
69-
70-@Callable(v)
71-func initAuction (w,x,y,z) = {
72- let n = toBase58String(v.transactionId)
73- let A = value(v.payments[0])
74- let r = value(A.assetId)
75- let B = u(r)
76- if ((B == ""))
105+@Callable(C)
106+func initAuction (D,E,F,G) = {
107+ let H = p()
108+ let w = (toBase58String(C.transactionId) + toString(H))
109+ let I = value(C.payments[0])
110+ let r = value(I.assetId)
111+ let J = q(r)
112+ if ((J == ""))
77113 then throw("You can only sell an NFT-duck created in incubator or breeder")
78- else [StringEntry((("auction_" + n) + "_status"), "open"), BooleanEntry((("auction_" + n) + "_eggSell"), (z == "true")), StringEntry((("auction_" + toBase58String(r)) + "_last"), n), StringEntry((("auction_" + n) + "_assetGen"), B), StringEntry((("auction_" + n) + "_assetId"), toBase58String(r)), IntegerEntry((("auction_" + n) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + n) + "_owner"), toString(v.originCaller)), StringEntry((("auction_" + n) + "_description"), y), IntegerEntry((("auction_" + n) + "_startPrice"), w), BooleanEntry((("auction_" + n) + "_isArtefact"), (value(assetInfo(r)).issuer == Address(a))), IntegerEntry((("auction_" + n) + "_instantPrice"), x), StringEntry((((("address_" + toString(v.originCaller)) + "_auction_") + n) + "_lockedNFT"), toBase58String(r))]
114+ else [StringEntry((("auction_" + w) + "_status"), "open"), BooleanEntry((("auction_" + w) + "_eggSell"), (G == "true")), IntegerEntry(f, (H + 1)), StringEntry((("auction_" + toBase58String(r)) + "_last"), w), StringEntry((("auction_" + w) + "_assetGen"), J), StringEntry((("auction_" + w) + "_assetId"), toBase58String(r)), IntegerEntry((("auction_" + w) + "_startedAt"), lastBlock.timestamp), StringEntry((("auction_" + w) + "_owner"), toString(C.originCaller)), StringEntry((("auction_" + w) + "_description"), F), IntegerEntry((("auction_" + w) + "_startPrice"), D), BooleanEntry((("auction_" + w) + "_isArtefact"), (value(assetInfo(r)).issuer == Address(c))), IntegerEntry((("auction_" + w) + "_instantPrice"), E), StringEntry((((("address_" + toString(C.originCaller)) + "_auction_") + w) + "_lockedNFT"), toBase58String(r))]
79115 }
80116
81117
82118
83-@Callable(v)
84-func placeBid (n) = {
85- let p = l((("auction_" + n) + "_eggSell"))
86- let q = if ((p == true))
87- then b
88- else unit
89- let C = if ((p == true))
90- then "EGG"
91- else "WAVES"
92- let A = value(v.payments[0])
93- let D = A.amount
94- let o = toBase58String(v.transactionId)
95- let r = getStringValue(this, (("auction_" + n) + "_assetId"))
96- if ((A.assetId != q))
97- then throw((("Auction does only support " + C) + " payments."))
98- else {
99- let E = f((("auction_" + n) + "_startPrice"))
100- if ((E > D))
101- then throw(("The minimal initial price is set as " + toString(E)))
102- else [StringEntry((((("auction_" + n) + "_bid_") + o) + "_author"), toString(v.originCaller)), StringEntry((((("assetId_" + r) + "_bid_") + o) + "_data"), (((((("{\"auctionId\": \"" + n) + "\", \"author\": \"") + toString(v.originCaller)) + "\", \"amount\": \"") + toString(D)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + n) + "_bid_") + o) + "_amount"), D), StringEntry(((((("address_" + toString(v.originCaller)) + "_auction_") + n) + "_bid_") + o), r), StringEntry((((("auction_" + n) + "_bid_") + o) + "_status"), "open")]
103- }
119+@Callable(C)
120+func cancelAuction (w) = {
121+ let K = n((("auction_" + w) + "_owner"))
122+ if ((toString(C.originCaller) != K))
123+ then throw("Only allowed to auction owner")
124+ else if ((n((("auction_" + w) + "_status")) != "open"))
125+ then throw("auction is close")
126+ else [StringEntry((("auction_" + w) + "_status"), "cancelled"), DeleteEntry((((("address_" + K) + "_auction_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("auction_" + w) + "_assetId"))))]
104127 }
105128
106129
107130
108-@Callable(v)
109-func acceptBid (n,o) = {
110- let p = l((("auction_" + n) + "_eggSell"))
111- let q = if ((p == true))
112- then b
131+@Callable(C)
132+func instantBuy (w) = {
133+ let y = o((("auction_" + w) + "_eggSell"))
134+ let z = if ((y == true))
135+ then e
113136 else unit
114- let F = k((("auction_" + n) + "_owner"))
115- let s = k((((("auction_" + n) + "_bid_") + o) + "_author"))
116- let t = f((((("auction_" + n) + "_bid_") + o) + "_amount"))
117- let G = k((((("auction_" + n) + "_bid_") + o) + "_status"))
118- let r = k((("auction_" + n) + "_assetId"))
119- let H = if ((l((("auction_" + n) + "_isArtefact")) == true))
137+ let L = if ((y == true))
138+ then "EGG"
139+ else "WAVES"
140+ let I = value(C.payments[0])
141+ let M = I.amount
142+ let r = n((("auction_" + w) + "_assetId"))
143+ let x = toBase58String(C.transactionId)
144+ let N = n((("auction_" + w) + "_status"))
145+ let O = if ((o((("auction_" + w) + "_isArtefact")) == true))
146+ then h
147+ else g
148+ if ((I.assetId != z))
149+ then throw((("Auction does only support " + L) + " payments."))
150+ else if ((N != "open"))
151+ then throw("Auction is closed. You cannot place a bid.")
152+ else {
153+ let E = i((("auction_" + w) + "_instantPrice"))
154+ if ((E > M))
155+ then throw(("For instant purchase you need to pay at least " + toString(E)))
156+ else {
157+ let K = n((("auction_" + w) + "_owner"))
158+ let P = i((r + "_recordPrice"))
159+ let Q = max([P, M])
160+[StringEntry((("auction_" + w) + "_status"), "finished"), IntegerEntry((("auction_" + w) + "_finalPrice"), M), IntegerEntry((r + "_recordPrice"), Q), StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"auctionId\": \"" + w) + "\", \"author\": \"") + toString(C.originCaller)) + "\", \"amount\": \"") + toString(M)) + "\", \"status\": \"finished\"}")), DeleteEntry((((("address_" + K) + "_auction_") + w) + "_lockedNFT")), ScriptTransfer(C.originCaller, 1, fromBase58String(getStringValue(this, (("auction_" + w) + "_assetId")))), ScriptTransfer(addressFromStringValue(K), fraction(M, (100 - O), 100), z), ScriptTransfer(Address(d), fraction(M, O, 100), z)]
161+ }
162+ }
163+ }
164+
165+
166+
167+@Callable(C)
168+func placeBid (w) = {
169+ let y = o((("auction_" + w) + "_eggSell"))
170+ let z = if ((y == true))
120171 then e
121- else d
122- if ((toString(v.originCaller) != F))
172+ else unit
173+ let L = if ((y == true))
174+ then "EGG"
175+ else "WAVES"
176+ let I = value(C.payments[0])
177+ let M = I.amount
178+ let x = toBase58String(C.transactionId)
179+ let r = getStringValue(this, (("auction_" + w) + "_assetId"))
180+ if ((I.assetId != z))
181+ then throw((("Auction does only support " + L) + " payments."))
182+ else if ((n((("auction_" + w) + "_status")) != "open"))
183+ then throw("Auction was closed")
184+ else {
185+ let R = i((("auction_" + w) + "_startPrice"))
186+ if ((R > M))
187+ then throw(("The minimal initial price is set as " + toString(R)))
188+ else [StringEntry((((("auction_" + w) + "_bid_") + x) + "_author"), toString(C.originCaller)), StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"auctionId\": \"" + w) + "\", \"author\": \"") + toString(C.originCaller)) + "\", \"amount\": \"") + toString(M)) + "\", \"status\": \"open\"}")), IntegerEntry((((("auction_" + w) + "_bid_") + x) + "_amount"), M), StringEntry(((((("address_" + toString(C.originCaller)) + "_auction_") + w) + "_bid_") + x), r), StringEntry((((("auction_" + w) + "_bid_") + x) + "_status"), "open")]
189+ }
190+ }
191+
192+
193+
194+@Callable(C)
195+func cancelBid (w,x) = {
196+ let r = getStringValue(this, (("auction_" + w) + "_assetId"))
197+ let A = n((((("auction_" + w) + "_bid_") + x) + "_author"))
198+ let B = i((((("auction_" + w) + "_bid_") + x) + "_amount"))
199+ if ((toString(C.originCaller) != A))
200+ then throw("Only allowed to the bid author")
201+ else if ((n((((("auction_" + w) + "_bid_") + x) + "_status")) != "open"))
202+ then throw("bid is not open")
203+ else v(w, x)
204+ }
205+
206+
207+
208+@Callable(C)
209+func cancelOutdatedBid (w,x) = throw("to be released")
210+
211+
212+
213+@Callable(C)
214+func acceptBid (w,x) = {
215+ let y = o((("auction_" + w) + "_eggSell"))
216+ let z = if ((y == true))
217+ then e
218+ else unit
219+ let K = n((("auction_" + w) + "_owner"))
220+ let A = n((((("auction_" + w) + "_bid_") + x) + "_author"))
221+ let B = i((((("auction_" + w) + "_bid_") + x) + "_amount"))
222+ let S = n((((("auction_" + w) + "_bid_") + x) + "_status"))
223+ let r = n((("auction_" + w) + "_assetId"))
224+ let O = if ((o((("auction_" + w) + "_isArtefact")) == true))
225+ then h
226+ else g
227+ if ((toString(C.originCaller) != K))
123228 then throw("Only allowed to auction owner")
124- else if ((G != "open"))
229+ else if ((S != "open"))
125230 then throw("Bid was cancelled and cannot be accepted")
126- else if ((k((("auction_" + n) + "_status")) != "open"))
231+ else if ((n((("auction_" + w) + "_status")) != "open"))
127232 then throw("Auction was closed")
128233 else {
129- let I = f((r + "_recordPrice"))
130- let J = max([I, t])
131-[StringEntry((((("auction_" + n) + "_bid_") + o) + "_status"), "finished"), StringEntry((("auction_" + n) + "_status"), "finished"), StringEntry((((("assetId_" + r) + "_bid_") + o) + "_data"), (((((("{\"auctionId\": \"" + n) + "\", \"author\": \"") + toString(v.originCaller)) + "\", \"amount\": \"") + toString(t)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + n) + "_finalPrice"), t), IntegerEntry((r + "_recordPrice"), J), DeleteEntry(((((("address_" + s) + "_auction_") + n) + "_bid_") + o)), DeleteEntry((((("address_" + F) + "_auction_") + n) + "_lockedNFT")), ScriptTransfer(v.caller, fraction(t, (100 - H), 100), q), ScriptTransfer(Address(c), fraction(t, H, 100), q), ScriptTransfer(addressFromStringValue(s), 1, fromBase58String(r))]
234+ let P = i((r + "_recordPrice"))
235+ let Q = max([P, B])
236+[StringEntry((((("auction_" + w) + "_bid_") + x) + "_status"), "finished"), StringEntry((("auction_" + w) + "_status"), "finished"), StringEntry((((("assetId_" + r) + "_bid_") + x) + "_data"), (((((("{\"auctionId\": \"" + w) + "\", \"author\": \"") + toString(C.originCaller)) + "\", \"amount\": \"") + toString(B)) + "\", \"status\": \"finished\"}")), IntegerEntry((("auction_" + w) + "_finalPrice"), B), IntegerEntry((r + "_recordPrice"), Q), DeleteEntry(((((("address_" + A) + "_auction_") + w) + "_bid_") + x)), DeleteEntry((((("address_" + K) + "_auction_") + w) + "_lockedNFT")), ScriptTransfer(C.caller, fraction(B, (100 - O), 100), z), ScriptTransfer(Address(d), fraction(B, O, 100), z), ScriptTransfer(addressFromStringValue(A), 1, fromBase58String(r))]
132237 }
133238 }
134239
135240
136-
137-@Callable(v)
138-func cancelBid (n,o) = {
139- let r = getStringValue(this, (("auction_" + n) + "_assetId"))
140- let s = k((((("auction_" + n) + "_bid_") + o) + "_author"))
141- let t = f((((("auction_" + n) + "_bid_") + o) + "_amount"))
142- if ((toString(v.originCaller) != s))
143- then throw("Only allowed to the bid author")
144- else if ((k((((("auction_" + n) + "_bid_") + o) + "_status")) != "open"))
145- then throw("bid is not open")
146- else m(n, o)
147- }
148-
149-
150-
151-@Callable(v)
152-func cancelAuction (n) = {
153- let F = k((("auction_" + n) + "_owner"))
154- if ((toString(v.originCaller) != F))
155- then throw("Only allowed to auction owner")
156- else if ((k((("auction_" + n) + "_status")) != "open"))
157- then throw("auction is close")
158- else [StringEntry((("auction_" + n) + "_status"), "cancelled"), DeleteEntry((((("address_" + F) + "_auction_") + n) + "_lockedNFT")), ScriptTransfer(v.originCaller, 1, fromBase58String(getStringValue(this, (("auction_" + n) + "_assetId"))))]
159- }
160-
161-
162-@Verifier(K)
163-func L () = sigVerify(K.bodyBytes, K.proofs[0], K.senderPublicKey)
241+@Verifier(T)
242+func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey)
164243

github/deemru/w8io/03bedc9 
80.53 ms