tx · 8M6Lc6UaHbchKTaiC6BtKJovkhEJE32UtSwwpak3TYcj

3N276N3DtbMQfLdKpJPH2wNRTkxyyu9V2KZ:  -0.01000000 Waves

2021.01.15 16:08 [1354578] smart account 3N276N3DtbMQfLdKpJPH2wNRTkxyyu9V2KZ > SELF 0.00000000 Waves

{ "type": 13, "id": "8M6Lc6UaHbchKTaiC6BtKJovkhEJE32UtSwwpak3TYcj", "fee": 1000000, "feeAssetId": null, "timestamp": 1610716180786, "version": 2, "chainId": 84, "sender": "3N276N3DtbMQfLdKpJPH2wNRTkxyyu9V2KZ", "senderPublicKey": "A54pw2U3f7es2iD1CjEDuTq93nT9g9vdurkdeddXgzQV", "proofs": [ "2f33c4fYDwLreGHNfi4aiF9PnTg1F7CZw8oTdmHTnA6X82AApgnoKqP32xxbPAfrDZ1vrWAYo71z62mitw9Y5Bqs" ], "script": "base64:AAIEAAAAAAAAAE0IAhIECgIICBIECgIICBIECgIICBIECgIICBIICgYIAQgICAgSBQoDCAgIEgQKAggIEgQKAggIEgYKBAgICAgSBwoFCAgICAESAwoBCAAAAB0AAAAABE5PTkUCAAAABE5PTkUAAAAADnJlYmlydGhBc3NldElkAQAAACBOUoj0Ox1qSWj8AvvJykY60HyXYDn4C1M2mbaBcjAMMQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FAQAAAA9nZXRJbnRlZ2VyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQD//////////wEAAAAOZ2V0T3JkZXJTdHJpbmcAAAACAAAABGNpdHkAAAAOa2V5T3JkZXJTdHJpbmcJAAEsAAAAAgkAASwAAAACBQAAAARjaXR5AgAAAAFfBQAAAA5rZXlPcmRlclN0cmluZwEAAAALZ2V0S2V5T3JkZXIAAAACAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24AAAAHb3JkZXJJZAQAAAAgcmV0YWlsZXJJZGVudGlmaWNhdGlvbkFuZE9yZGVySWQJAAEsAAAAAgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAHb3JkZXJJZAkAASwAAAACAgAAAAZvcmRlcl8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEFAAAAIHJldGFpbGVySWRlbnRpZmljYXRpb25BbmRPcmRlcklkAQAAAA5nZXRLZXlSZXRhaWxlcgAAAAEAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkAASwAAAACAgAAAAlyZXRhaWxlcl8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24BAAAADWdldEtleUNvdXJpZXIAAAABAAAAFWNvdXJpZXJJZGVudGlmaWNhdGlvbgkAASwAAAACAgAAAAhjb3VyaWVyXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQUAAAAVY291cmllcklkZW50aWZpY2F0aW9uAQAAAA9nZXRLZXlPcmRlckNpdHkAAAABAAAABW9yZGVyCQABLAAAAAIFAAAABW9yZGVyAgAAAAVfY2l0eQEAAAAhZ2V0S2V5T3JkZXJSZXRhaWxlcklkZW50aWZpY2F0aW9uAAAAAQAAAAVvcmRlcgkAASwAAAACBQAAAAVvcmRlcgIAAAAJX3JldGFpbGVyAQAAABhnZXRLZXlPcmRlclNoaXBwaW5nQ29zdHMAAAACAAAABW9yZGVyAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAV8FAAAABW9yZGVyAgAAAAlfc2hpcHBpbmcBAAAAEmdldEtleU9yZGVyQ291cmllcgAAAAIAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgIAAAABXwUAAAAFb3JkZXICAAAACl9jb3VyaWVySWQBAAAAFWdldEtleU9yZGVySXNBY2NlcHRlZAAAAAMAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAA5jb3VyaWVyQWRkcmVzcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAgAAAAFfBQAAAAVvcmRlcgIAAAAOX2RhdGFfY291cmllcl8FAAAADmNvdXJpZXJBZGRyZXNzAQAAABdnZXRLZXlPcmRlcklzSW5EZWxpdmVyeQAAAAMAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAA5jb3VyaWVyQWRkcmVzcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAV8FAAAABW9yZGVyAgAAAA5fZGF0YV9jb3VyaWVyXwUAAAAOY291cmllckFkZHJlc3MCAAAADV9pc0luRGVsaXZlcnkBAAAAE2dldEtleU9yZGVyRGF0YU9wZW4AAAACAAAABW9yZGVyAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24JAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAV8FAAAABW9yZGVyAgAAAApfZGF0YV9vcGVuAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAwAAAAVvcmRlcgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAAAADmNvdXJpZXJBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAV8FAAAABW9yZGVyAgAAAA1faXNEZWxpdmVyZWRfBQAAAA5jb3VyaWVyQWRkcmVzcwEAAAASZ2V0S2V5UmV0YWlsZXJEYXRhAAAAAQAAAAhyZXRhaWxlcgkAASwAAAACBQAAAAhyZXRhaWxlcgIAAAAFX2RhdGEBAAAAEWdldEtleUNvdXJpZXJEYXRhAAAAAQAAAAdjb3VyaWVyCQABLAAAAAIFAAAAB2NvdXJpZXICAAAABV9kYXRhAQAAABFnZXRWYWx1ZU9yZGVyQ2l0eQAAAAEAAAAFb3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRLZXlPcmRlckNpdHkAAAABBQAAAAVvcmRlcgEAAAAlZ2V0VmFsdWVSZXRhaWxlcklkZW50aWZpY2F0aW9uT2ZPcmRlcgAAAAEAAAAFb3JkZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAACFnZXRLZXlPcmRlclJldGFpbGVySWRlbnRpZmljYXRpb24AAAABBQAAAAVvcmRlcgEAAAAZZ2V0VmFsdWVJc0FjY2VwdGVkT2ZPcmRlcgAAAAMAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAA5jb3VyaWVyQWRkcmVzcwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFWdldEtleU9yZGVySXNBY2NlcHRlZAAAAAMFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwEAAAAYZ2V0VmFsdWVDb3VyaWVySWRPZk9yZGVyAAAAAgAAAAVvcmRlcgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAASZ2V0S2V5T3JkZXJDb3VyaWVyAAAAAgUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24BAAAAG2dldFZhbHVlSXNJbkRlbGl2ZXJ5T2ZPcmRlcgAAAAMAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAA5jb3VyaWVyQWRkcmVzcwkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEJAQAAABdnZXRLZXlPcmRlcklzSW5EZWxpdmVyeQAAAAMFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwEAAAAaZ2V0VmFsdWVJc0RlbGl2ZXJlZE9mT3JkZXIAAAADAAAABW9yZGVyAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24AAAAOY291cmllckFkZHJlc3MJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzAQAAABxnZXRWYWx1ZVNoaXBwaW5nQ29zdHNPZk9yZGVyAAAAAgAAAAVvcmRlcgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAGGdldEtleU9yZGVyU2hpcHBpbmdDb3N0cwAAAAIFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAQAAABdnZXRWYWx1ZURhdGFPZk9yZGVyT3BlbgAAAAIAAAAFb3JkZXIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAE2dldEtleU9yZGVyRGF0YU9wZW4AAAACBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgEAAAAWZ2V0VmFsdWVEYXRhT2ZSZXRhaWxlcgAAAAEAAAAIcmV0YWlsZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJnZXRLZXlSZXRhaWxlckRhdGEAAAABBQAAAAhyZXRhaWxlcgEAAAAVZ2V0VmFsdWVEYXRhT2ZDb3VyaWVyAAAAAQAAAAdjb3VyaWVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAARZ2V0S2V5Q291cmllckRhdGEAAAABBQAAAAdjb3VyaWVyAAAACwAAAAFpAQAAABByZWdpc3RlclJldGFpbGVyAAAAAgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAAAADHJldGFpbGVyRGF0YQMJAQAAAAIhPQAAAAIFAAAABHRoaXMIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBDYWxsZXIgaXMgbm90IHRoZSBDb250cmFjdCBvd25lcgQAAAAIcmV0YWlsZXIJAQAAAA5nZXRLZXlSZXRhaWxlcgAAAAEFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmdldEtleVJldGFpbGVyRGF0YQAAAAEFAAAACHJldGFpbGVyBQAAAAxyZXRhaWxlckRhdGEFAAAAA25pbAAAAAFpAQAAAA51cGRhdGVSZXRhaWxlcgAAAAIAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAAxyZXRhaWxlckRhdGEDCQEAAAACIT0AAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgQ2FsbGVyIGlzIG5vdCB0aGUgQ29udHJhY3Qgb3duZXIEAAAACHJldGFpbGVyCQEAAAAOZ2V0S2V5UmV0YWlsZXIAAAABBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBAAAAA9vbGRSZXRhaWxlckRhdGEJAQAAABZnZXRWYWx1ZURhdGFPZlJldGFpbGVyAAAAAQUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgMJAAAAAAAAAgUAAAAPb2xkUmV0YWlsZXJEYXRhBQAAAAROT05FCQAAAgAAAAECAAAAKENvdXJpZXIgZG9lcyBub3QgZXhpc3Qgb24gdGhlIEJsb2NrY2hhaW4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEWdldEtleUNvdXJpZXJEYXRhAAAAAQUAAAAIcmV0YWlsZXIFAAAADHJldGFpbGVyRGF0YQUAAAADbmlsAAAAAWkBAAAAD3JlZ2lzdGVyQ291cmllcgAAAAIAAAAVY291cmllcklkZW50aWZpY2F0aW9uAAAAC2NvdXJpZXJEYXRhAwkBAAAAAiE9AAAAAgUAAAAEdGhpcwgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIENhbGxlciBpcyBub3QgdGhlIENvbnRyYWN0IG93bmVyBAAAAAdjb3VyaWVyCQEAAAANZ2V0S2V5Q291cmllcgAAAAEFAAAAFWNvdXJpZXJJZGVudGlmaWNhdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARZ2V0S2V5Q291cmllckRhdGEAAAABBQAAAAdjb3VyaWVyBQAAAAtjb3VyaWVyRGF0YQUAAAADbmlsAAAAAWkBAAAADXVwZGF0ZUNvdXJpZXIAAAACAAAAFWNvdXJpZXJJZGVudGlmaWNhdGlvbgAAAAtjb3VyaWVyRGF0YQMJAQAAAAIhPQAAAAIFAAAABHRoaXMIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBDYWxsZXIgaXMgbm90IHRoZSBDb250cmFjdCBvd25lcgQAAAAHY291cmllcgkBAAAADWdldEtleUNvdXJpZXIAAAABBQAAABVjb3VyaWVySWRlbnRpZmljYXRpb24EAAAADm9sZENvdXJpZXJEYXRhCQEAAAAVZ2V0VmFsdWVEYXRhT2ZDb3VyaWVyAAAAAQUAAAAVY291cmllcklkZW50aWZpY2F0aW9uAwkAAAAAAAACBQAAAA5vbGRDb3VyaWVyRGF0YQUAAAAETk9ORQkAAAIAAAABAgAAAChDb3VyaWVyIGRvZXMgbm90IGV4aXN0IG9uIHRoZSBCbG9ja2NoYWluCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRLZXlDb3VyaWVyRGF0YQAAAAEFAAAAB2NvdXJpZXIFAAAAC2NvdXJpZXJEYXRhBQAAAANuaWwAAAABaQEAAAAIYWRkT3JkZXIAAAAGAAAAB29yZGVySWQAAAANc2hpcHBpbmdDb3N0cwAAAAlvcmRlckRhdGEAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAAxyZXRhaWxlckRhdGEAAAAEY2l0eQMJAQAAAAIhPQAAAAIFAAAABHRoaXMIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBDYWxsZXIgaXMgbm90IHRoZSBDb250cmFjdCBvd25lcgQAAAAFb3JkZXIJAQAAAAtnZXRLZXlPcmRlcgAAAAIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAAB29yZGVySWQEAAAAD29yZGVyQ2l0eVN0cmluZwkBAAAADmdldE9yZGVyU3RyaW5nAAAAAgUAAAAEY2l0eQUAAAAFb3JkZXIEAAAACHJldGFpbGVyCQEAAAAOZ2V0S2V5UmV0YWlsZXIAAAABBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBAAAAAhzaGlwcGluZwkAAGgAAAACBQAAAA1zaGlwcGluZ0Nvc3RzAAAAAAAF9eEAAwkAAGcAAAACAAAAAAAAAAAABQAAAA1zaGlwcGluZ0Nvc3RzCQAAAgAAAAECAAAAO1lvdSBjYW5ub3QgY3JlYXRlIGFuIG9yZGVyIHdpdGggc2hpcHBpbmcgY29zdHMgbG93ZXIgdGhhbiAwAwkBAAAAAiE9AAAAAgkBAAAAJWdldFZhbHVlUmV0YWlsZXJJZGVudGlmaWNhdGlvbk9mT3JkZXIAAAABBQAAAAVvcmRlcgUAAAAETk9ORQkAAAIAAAABAgAAAChBbiBvcmRlciB3aXRoIHRoZSBzYW1lIGlkIGFscmVhZHkgZXhpc3RzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJnZXRLZXlSZXRhaWxlckRhdGEAAAABBQAAAAhyZXRhaWxlcgUAAAAMcmV0YWlsZXJEYXRhCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9nZXRLZXlPcmRlckNpdHkAAAABBQAAAAVvcmRlcgUAAAAEY2l0eQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAhZ2V0S2V5T3JkZXJSZXRhaWxlcklkZW50aWZpY2F0aW9uAAAAAQUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABhnZXRLZXlPcmRlclNoaXBwaW5nQ29zdHMAAAACBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAIc2hpcHBpbmcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2dldEtleU9yZGVyRGF0YU9wZW4AAAACBQAAAA9vcmRlckNpdHlTdHJpbmcFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAACW9yZGVyRGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAAIAAAAEb3BlbgUAAAADbmlsAAAAAWkBAAAAEnNldE9yZGVySXNBY2NlcHRlZAAAAAMAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAAdvcmRlcklkAAAADmNvdXJpZXJBZGRyZXNzAwkBAAAAAiE9AAAAAgUAAAAEdGhpcwgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIENhbGxlciBpcyBub3QgdGhlIENvbnRyYWN0IG93bmVyBAAAAAVvcmRlcgkBAAAAC2dldEtleU9yZGVyAAAAAgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAHb3JkZXJJZAQAAAAEY2l0eQkBAAAAEWdldFZhbHVlT3JkZXJDaXR5AAAAAQUAAAAFb3JkZXIEAAAAD29yZGVyQ2l0eVN0cmluZwkBAAAADmdldE9yZGVyU3RyaW5nAAAAAgUAAAAEY2l0eQUAAAAFb3JkZXIEAAAACW9yZGVyRGF0YQkBAAAAF2dldFZhbHVlRGF0YU9mT3JkZXJPcGVuAAAAAgUAAAAPb3JkZXJDaXR5U3RyaW5nBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAwkBAAAAAiE9AAAAAgkBAAAAJWdldFZhbHVlUmV0YWlsZXJJZGVudGlmaWNhdGlvbk9mT3JkZXIAAAABBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkAAAIAAAABAgAAACJUaGUgcmVxdWVzdGVkIG9yZGVyIGRvZXMgbm90IGV4aXN0AwkBAAAAAiE9AAAAAgkBAAAAGWdldFZhbHVlSXNBY2NlcHRlZE9mT3JkZXIAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgIAAAAAAgAAAARvcGVuCQAAAgAAAAECAAAAKlRoZSByZXF1ZXN0ZWQgb3JkZXIgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAATZ2V0S2V5T3JkZXJEYXRhT3BlbgAAAAIFAAAAD29yZGVyQ2l0eVN0cmluZwUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzBQAAAAlvcmRlckRhdGEJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAABdnZXRLZXlPcmRlcklzSW5EZWxpdmVyeQAAAAMFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmdldEtleU9yZGVyQ291cmllcgAAAAIFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAFHNldE9yZGVySXNJbkRlbGl2ZXJ5AAAAAgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAAAAB29yZGVySWQDCQEAAAACIT0AAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgQ2FsbGVyIGlzIG5vdCB0aGUgQ29udHJhY3Qgb3duZXIEAAAABW9yZGVyCQEAAAALZ2V0S2V5T3JkZXIAAAACBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAAdvcmRlcklkBAAAAA5jb3VyaWVyQWRkcmVzcwkBAAAAGGdldFZhbHVlQ291cmllcklkT2ZPcmRlcgAAAAIFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAwkBAAAAAiE9AAAAAgkBAAAAJWdldFZhbHVlUmV0YWlsZXJJZGVudGlmaWNhdGlvbk9mT3JkZXIAAAABBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkAAAIAAAABAgAAACJUaGUgcmVxdWVzdGVkIG9yZGVyIGRvZXMgbm90IGV4aXN0AwkAAAAAAAACBQAAAA5jb3VyaWVyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAACdUaGUgcmVxdWVzdGVkIG9yZGVyIGlzIG5vdCBhY2NlcHRlZCB5ZXQDCQEAAAACIT0AAAACCQEAAAAbZ2V0VmFsdWVJc0luRGVsaXZlcnlPZk9yZGVyAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzBwkAAAIAAAABAgAAACpUaGUgcmVxdWVzdGVkIG9yZGVyIGlzIG5vIGxvbmdlciBhdmFpbGFibGUJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAABdnZXRLZXlPcmRlcklzSW5EZWxpdmVyeQAAAAMFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAFmdldEtleU9yZGVySXNEZWxpdmVyZWQAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAOY291cmllckFkZHJlc3MCAAAACmluRGVsaXZlcnkFAAAAA25pbAAAAAFpAQAAABNzZXRPcmRlcklzRGVsaXZlcmVkAAAAAgAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uAAAAB29yZGVySWQDCQEAAAACIT0AAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgQ2FsbGVyIGlzIG5vdCB0aGUgQ29udHJhY3Qgb3duZXIEAAAABW9yZGVyCQEAAAALZ2V0S2V5T3JkZXIAAAACBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAAdvcmRlcklkBAAAAA5jb3VyaWVyQWRkcmVzcwkBAAAAGGdldFZhbHVlQ291cmllcklkT2ZPcmRlcgAAAAIFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBAAAAAlvcmRlckRhdGEJAQAAABlnZXRWYWx1ZUlzQWNjZXB0ZWRPZk9yZGVyAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzBAAAAAhzaGlwcGluZwkBAAAAHGdldFZhbHVlU2hpcHBpbmdDb3N0c09mT3JkZXIAAAACBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgMJAQAAAAIhPQAAAAIJAQAAACVnZXRWYWx1ZVJldGFpbGVySWRlbnRpZmljYXRpb25PZk9yZGVyAAAAAQUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24JAAACAAAAAQIAAAAiVGhlIHJlcXVlc3RlZCBvcmRlciBkb2VzIG5vdCBleGlzdAMJAAAAAAAAAgUAAAAOY291cmllckFkZHJlc3MFAAAABE5PTkUJAAACAAAAAQIAAAA+VGhlcmUgd2FzIG5vIGNvdXJpZXIgc2V0ISBTb21ldGhpbmcgd2VudCB3cm9uZyB3aXRoIHRoZSBvcmRlci4DCQEAAAACIT0AAAACCQEAAAAaZ2V0VmFsdWVJc0RlbGl2ZXJlZE9mT3JkZXIAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAOY291cmllckFkZHJlc3MCAAAACmluRGVsaXZlcnkJAAACAAAAAQIAAAApVGhlIHJlcXVlc3RlZCBvcmRlciB3YXMgYWxyZWFkeSBkZWxpdmVyZWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFWdldEtleU9yZGVySXNBY2NlcHRlZAAAAAMFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAA5jb3VyaWVyQWRkcmVzcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAXZ2V0S2V5T3JkZXJJc0luRGVsaXZlcnkAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAOY291cmllckFkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAFmdldEtleU9yZGVySXNEZWxpdmVyZWQAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABZnZXRLZXlPcmRlcklzRGVsaXZlcmVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzBQAAAAlvcmRlckRhdGEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAOY291cmllckFkZHJlc3MFAAAACHNoaXBwaW5nBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAcY2FuY2VsQWNjZXB0ZWRPcmRlckJ5Q291cmllcgAAAAQAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAAdvcmRlcklkAAAADmNvdXJpZXJBZGRyZXNzAAAABGNpdHkDCQEAAAACIT0AAAACBQAAAAR0aGlzCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAgQ2FsbGVyIGlzIG5vdCB0aGUgQ29udHJhY3Qgb3duZXIEAAAABW9yZGVyCQEAAAALZ2V0S2V5T3JkZXIAAAACBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uBQAAAAdvcmRlcklkBAAAAA9vcmRlckNpdHlTdHJpbmcJAQAAAA5nZXRPcmRlclN0cmluZwAAAAIFAAAABGNpdHkFAAAABW9yZGVyBAAAAAlvcmRlckRhdGEJAQAAABlnZXRWYWx1ZUlzQWNjZXB0ZWRPZk9yZGVyAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzAwkBAAAAAiE9AAAAAgkBAAAAJWdldFZhbHVlUmV0YWlsZXJJZGVudGlmaWNhdGlvbk9mT3JkZXIAAAABBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkAAAIAAAABAgAAACJUaGUgcmVxdWVzdGVkIG9yZGVyIGRvZXMgbm90IGV4aXN0AwkAAAAAAAACBQAAAAlvcmRlckRhdGEFAAAABE5PTkUJAAACAAAAAQIAAAA5VGhlIHJlcXVlc3RlZCBvcmRlciBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYWNjZXB0ZWQgeWV0AwkAAAAAAAACCQEAAAAbZ2V0VmFsdWVJc0luRGVsaXZlcnlPZk9yZGVyAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzBQAAAAROT05FCQAAAgAAAAECAAAAJ1RoZSByZXF1ZXN0ZWQgb3JkZXIgaXMgbm90IGFjY2VwdGVkIHlldAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAADmNvdXJpZXJBZGRyZXNzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAA9nZXRLZXlPcmRlckNpdHkAAAABBQAAAAVvcmRlcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAXZ2V0S2V5T3JkZXJJc0luRGVsaXZlcnkAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAOY291cmllckFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2dldEtleU9yZGVyRGF0YU9wZW4AAAACBQAAAA9vcmRlckNpdHlTdHJpbmcFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24FAAAACW9yZGVyRGF0YQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAAIAAAAEb3BlbgUAAAADbmlsAAAAAWkBAAAAGWNhbmNlbE9wZW5PcmRlckJ5UmV0YWlsZXIAAAAFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24AAAAHb3JkZXJJZAAAAARjaXR5AAAAFXJldGFpbGVyV2FsbGV0QWRkcmVzcwAAAA1zaGlwcGluZ0Nvc3RzAwkBAAAAAiE9AAAAAgUAAAAEdGhpcwgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAIENhbGxlciBpcyBub3QgdGhlIENvbnRyYWN0IG93bmVyBAAAAAVvcmRlcgkBAAAAC2dldEtleU9yZGVyAAAAAgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgUAAAAHb3JkZXJJZAQAAAAPb3JkZXJDaXR5U3RyaW5nCQEAAAAOZ2V0T3JkZXJTdHJpbmcAAAACBQAAAARjaXR5BQAAAAVvcmRlcgQAAAAIcmV0YWlsZXIJAQAAAA5nZXRLZXlSZXRhaWxlcgAAAAEFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24EAAAACHNoaXBwaW5nCQAAaAAAAAIFAAAADXNoaXBwaW5nQ29zdHMAAAAAAAX14QADCQEAAAACIT0AAAACCQEAAAAlZ2V0VmFsdWVSZXRhaWxlcklkZW50aWZpY2F0aW9uT2ZPcmRlcgAAAAEFAAAABW9yZGVyBQAAABZyZXRhaWxlcklkZW50aWZpY2F0aW9uCQAAAgAAAAECAAAAIlRoZSByZXF1ZXN0ZWQgb3JkZXIgZG9lcyBub3QgZXhpc3QDCQAAAAAAAAIJAQAAABtnZXRWYWx1ZUlzSW5EZWxpdmVyeU9mT3JkZXIAAAADBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgIAAAAAAgAAAARvcGVuCQAAAgAAAAECAAAAUVRoZSByZXF1ZXN0ZWQgb3JkZXIgaXMgYWxyZWFkeSBhY2NlcHRlZCBhbmQgY2FuIG5vIGxvbmdlciBiZSBjYW5jZWxlZCBpbiB0aGlzIHdheQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAPZ2V0S2V5T3JkZXJDaXR5AAAAAQUAAAAFb3JkZXIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAIWdldEtleU9yZGVyUmV0YWlsZXJJZGVudGlmaWNhdGlvbgAAAAEFAAAABW9yZGVyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABhnZXRLZXlPcmRlclNoaXBwaW5nQ29zdHMAAAACBQAAAAVvcmRlcgUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAATZ2V0S2V5T3JkZXJEYXRhT3BlbgAAAAIFAAAAD29yZGVyQ2l0eVN0cmluZwUAAAAWcmV0YWlsZXJJZGVudGlmaWNhdGlvbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAVZ2V0S2V5T3JkZXJJc0FjY2VwdGVkAAAAAwUAAAAFb3JkZXIFAAAAFnJldGFpbGVySWRlbnRpZmljYXRpb24CAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABVyZXRhaWxlcldhbGxldEFkZHJlc3MFAAAACHNoaXBwaW5nBQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAALZGVsZXRlRW50cnkAAAABAAAAA2tleQMJAQAAAAIhPQAAAAIFAAAABHRoaXMIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAACBDYWxsZXIgaXMgbm90IHRoZSBDb250cmFjdCBvd25lcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAANrZXkFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAADdHR4BQAAAAckbWF0Y2gwAwMDCQAAAAAAAAIIBQAAAAN0dHgAAAAGYW1vdW50AAAAAAAR4aMABgkAAAAAAAACCAUAAAADdHR4AAAABmFtb3VudAAAAAAAF9eEAAYJAAAAAAAAAggFAAAAA3R0eAAAAAZhbW91bnQAAAAAAB3NZQAGAwkAAAAAAAACCAUAAAADdHR4AAAABmFtb3VudAAAAAAAI8NGAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkHB0N7U48=", "height": 1354578, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let NONE = "NONE"
5+
6+let rebirthAssetId = base58'6Gjo6dZNLzun8w7uzWuH1t6hoGph9KrMcf1qjbEzBsVJ'
7+
8+func getStringByKey (key) = match getString(this, key) {
9+ case a: String =>
10+ a
11+ case _ =>
12+ NONE
13+}
14+
15+
16+func getBooleanByKey (key) = match getBoolean(this, key) {
17+ case a: Boolean =>
18+ a
19+ case _ =>
20+ NONE
21+}
22+
23+
24+func getIntegerByKey (key) = match getInteger(this, key) {
25+ case a: Int =>
26+ a
27+ case _ =>
28+ -1
29+}
30+
31+
32+func getOrderString (city,keyOrderString) = ((city + "_") + keyOrderString)
33+
34+
35+func getKeyOrder (retailerIdentification,orderId) = {
36+ let retailerIdentificationAndOrderId = (retailerIdentification + orderId)
37+ ("order_" + toBase58String(sha256(toBytes(retailerIdentificationAndOrderId))))
38+ }
39+
40+
41+func getKeyRetailer (retailerIdentification) = ("retailer_" + toBase58String(sha256(toBytes(retailerIdentification))))
42+
43+
44+func getKeyCourier (courierIdentification) = ("courier_" + toBase58String(sha256(toBytes(courierIdentification))))
45+
46+
47+func getKeyOrderCity (order) = (order + "_city")
48+
49+
50+func getKeyOrderRetailerIdentification (order) = (order + "_retailer")
51+
52+
53+func getKeyOrderShippingCosts (order,retailerIdentification) = (((retailerIdentification + "_") + order) + "_shipping")
54+
55+
56+func getKeyOrderCourier (order,retailerIdentification) = (((retailerIdentification + "_") + order) + "_courierId")
57+
58+
59+func getKeyOrderIsAccepted (order,retailerIdentification,courierAddress) = ((((retailerIdentification + "_") + order) + "_data_courier_") + courierAddress)
60+
61+
62+func getKeyOrderIsInDelivery (order,retailerIdentification,courierAddress) = (((((retailerIdentification + "_") + order) + "_data_courier_") + courierAddress) + "_isInDelivery")
63+
64+
65+func getKeyOrderDataOpen (order,retailerIdentification) = (((retailerIdentification + "_") + order) + "_data_open")
66+
67+
68+func getKeyOrderIsDelivered (order,retailerIdentification,courierAddress) = ((((retailerIdentification + "_") + order) + "_isDelivered_") + courierAddress)
69+
70+
71+func getKeyRetailerData (retailer) = (retailer + "_data")
72+
73+
74+func getKeyCourierData (courier) = (courier + "_data")
75+
76+
77+func getValueOrderCity (order) = getStringByKey(getKeyOrderCity(order))
78+
79+
80+func getValueRetailerIdentificationOfOrder (order) = getStringByKey(getKeyOrderRetailerIdentification(order))
81+
82+
83+func getValueIsAcceptedOfOrder (order,retailerIdentification,courierAddress) = getStringByKey(getKeyOrderIsAccepted(order, retailerIdentification, courierAddress))
84+
85+
86+func getValueCourierIdOfOrder (order,retailerIdentification) = getStringByKey(getKeyOrderCourier(order, retailerIdentification))
87+
88+
89+func getValueIsInDeliveryOfOrder (order,retailerIdentification,courierAddress) = getBooleanByKey(getKeyOrderIsInDelivery(order, retailerIdentification, courierAddress))
90+
91+
92+func getValueIsDeliveredOfOrder (order,retailerIdentification,courierAddress) = getStringByKey(getKeyOrderIsDelivered(order, retailerIdentification, courierAddress))
93+
94+
95+func getValueShippingCostsOfOrder (order,retailerIdentification) = getIntegerByKey(getKeyOrderShippingCosts(order, retailerIdentification))
96+
97+
98+func getValueDataOfOrderOpen (order,retailerIdentification) = getStringByKey(getKeyOrderDataOpen(order, retailerIdentification))
99+
100+
101+func getValueDataOfRetailer (retailer) = getStringByKey(getKeyRetailerData(retailer))
102+
103+
104+func getValueDataOfCourier (courier) = getStringByKey(getKeyCourierData(courier))
105+
106+
107+@Callable(i)
108+func registerRetailer (retailerIdentification,retailerData) = if ((this != i.caller))
109+ then throw("Caller is not the Contract owner")
110+ else {
111+ let retailer = getKeyRetailer(retailerIdentification)
112+[StringEntry(getKeyRetailerData(retailer), retailerData)]
113+ }
114+
115+
116+
117+@Callable(i)
118+func updateRetailer (retailerIdentification,retailerData) = if ((this != i.caller))
119+ then throw("Caller is not the Contract owner")
120+ else {
121+ let retailer = getKeyRetailer(retailerIdentification)
122+ let oldRetailerData = getValueDataOfRetailer(retailerIdentification)
123+ if ((oldRetailerData == NONE))
124+ then throw("Courier does not exist on the Blockchain")
125+ else [StringEntry(getKeyCourierData(retailer), retailerData)]
126+ }
127+
128+
129+
130+@Callable(i)
131+func registerCourier (courierIdentification,courierData) = if ((this != i.caller))
132+ then throw("Caller is not the Contract owner")
133+ else {
134+ let courier = getKeyCourier(courierIdentification)
135+[StringEntry(getKeyCourierData(courier), courierData)]
136+ }
137+
138+
139+
140+@Callable(i)
141+func updateCourier (courierIdentification,courierData) = if ((this != i.caller))
142+ then throw("Caller is not the Contract owner")
143+ else {
144+ let courier = getKeyCourier(courierIdentification)
145+ let oldCourierData = getValueDataOfCourier(courierIdentification)
146+ if ((oldCourierData == NONE))
147+ then throw("Courier does not exist on the Blockchain")
148+ else [StringEntry(getKeyCourierData(courier), courierData)]
149+ }
150+
151+
152+
153+@Callable(i)
154+func addOrder (orderId,shippingCosts,orderData,retailerIdentification,retailerData,city) = if ((this != i.caller))
155+ then throw("Caller is not the Contract owner")
156+ else {
157+ let order = getKeyOrder(retailerIdentification, orderId)
158+ let orderCityString = getOrderString(city, order)
159+ let retailer = getKeyRetailer(retailerIdentification)
160+ let shipping = (shippingCosts * 100000000)
161+ if ((0 >= shippingCosts))
162+ then throw("You cannot create an order with shipping costs lower than 0")
163+ else if ((getValueRetailerIdentificationOfOrder(order) != NONE))
164+ then throw("An order with the same id already exists")
165+ else [StringEntry(getKeyRetailerData(retailer), retailerData), StringEntry(getKeyOrderCity(order), city), StringEntry(getKeyOrderRetailerIdentification(order), retailerIdentification), IntegerEntry(getKeyOrderShippingCosts(order, retailerIdentification), shipping), StringEntry(getKeyOrderDataOpen(orderCityString, retailerIdentification), orderData), StringEntry(getKeyOrderIsAccepted(order, retailerIdentification, ""), "open")]
166+ }
167+
168+
169+
170+@Callable(i)
171+func setOrderIsAccepted (retailerIdentification,orderId,courierAddress) = if ((this != i.caller))
172+ then throw("Caller is not the Contract owner")
173+ else {
174+ let order = getKeyOrder(retailerIdentification, orderId)
175+ let city = getValueOrderCity(order)
176+ let orderCityString = getOrderString(city, order)
177+ let orderData = getValueDataOfOrderOpen(orderCityString, retailerIdentification)
178+ if ((getValueRetailerIdentificationOfOrder(order) != retailerIdentification))
179+ then throw("The requested order does not exist")
180+ else if ((getValueIsAcceptedOfOrder(order, retailerIdentification, "") != "open"))
181+ then throw("The requested order is no longer available")
182+ else [DeleteEntry(getKeyOrderDataOpen(orderCityString, retailerIdentification)), DeleteEntry(getKeyOrderIsAccepted(order, retailerIdentification, "")), StringEntry(getKeyOrderIsAccepted(order, retailerIdentification, courierAddress), orderData), BooleanEntry(getKeyOrderIsInDelivery(order, retailerIdentification, courierAddress), false), StringEntry(getKeyOrderCourier(order, retailerIdentification), courierAddress)]
183+ }
184+
185+
186+
187+@Callable(i)
188+func setOrderIsInDelivery (retailerIdentification,orderId) = if ((this != i.caller))
189+ then throw("Caller is not the Contract owner")
190+ else {
191+ let order = getKeyOrder(retailerIdentification, orderId)
192+ let courierAddress = getValueCourierIdOfOrder(order, retailerIdentification)
193+ if ((getValueRetailerIdentificationOfOrder(order) != retailerIdentification))
194+ then throw("The requested order does not exist")
195+ else if ((courierAddress == NONE))
196+ then throw("The requested order is not accepted yet")
197+ else if ((getValueIsInDeliveryOfOrder(order, retailerIdentification, courierAddress) != false))
198+ then throw("The requested order is no longer available")
199+ else [BooleanEntry(getKeyOrderIsInDelivery(order, retailerIdentification, courierAddress), true), StringEntry(getKeyOrderIsDelivered(order, retailerIdentification, courierAddress), "inDelivery")]
200+ }
201+
202+
203+
204+@Callable(i)
205+func setOrderIsDelivered (retailerIdentification,orderId) = if ((this != i.caller))
206+ then throw("Caller is not the Contract owner")
207+ else {
208+ let order = getKeyOrder(retailerIdentification, orderId)
209+ let courierAddress = getValueCourierIdOfOrder(order, retailerIdentification)
210+ let orderData = getValueIsAcceptedOfOrder(order, retailerIdentification, courierAddress)
211+ let shipping = getValueShippingCostsOfOrder(order, retailerIdentification)
212+ if ((getValueRetailerIdentificationOfOrder(order) != retailerIdentification))
213+ then throw("The requested order does not exist")
214+ else if ((courierAddress == NONE))
215+ then throw("There was no courier set! Something went wrong with the order.")
216+ else if ((getValueIsDeliveredOfOrder(order, retailerIdentification, courierAddress) != "inDelivery"))
217+ then throw("The requested order was already delivered")
218+ else [DeleteEntry(getKeyOrderIsAccepted(order, retailerIdentification, courierAddress)), DeleteEntry(getKeyOrderIsInDelivery(order, retailerIdentification, courierAddress)), DeleteEntry(getKeyOrderIsDelivered(order, retailerIdentification, "")), StringEntry(getKeyOrderIsDelivered(order, retailerIdentification, courierAddress), orderData), ScriptTransfer(addressFromStringValue(courierAddress), shipping, unit)]
219+ }
220+
221+
222+
223+@Callable(i)
224+func cancelAcceptedOrderByCourier (retailerIdentification,orderId,courierAddress,city) = if ((this != i.caller))
225+ then throw("Caller is not the Contract owner")
226+ else {
227+ let order = getKeyOrder(retailerIdentification, orderId)
228+ let orderCityString = getOrderString(city, order)
229+ let orderData = getValueIsAcceptedOfOrder(order, retailerIdentification, courierAddress)
230+ if ((getValueRetailerIdentificationOfOrder(order) != retailerIdentification))
231+ then throw("The requested order does not exist")
232+ else if ((orderData == NONE))
233+ then throw("The requested order does not exist or is not accepted yet")
234+ else if ((getValueIsInDeliveryOfOrder(order, retailerIdentification, courierAddress) == NONE))
235+ then throw("The requested order is not accepted yet")
236+ else [DeleteEntry(getKeyOrderIsAccepted(order, retailerIdentification, courierAddress)), DeleteEntry(getKeyOrderCity(order)), DeleteEntry(getKeyOrderIsInDelivery(order, retailerIdentification, courierAddress)), StringEntry(getKeyOrderDataOpen(orderCityString, retailerIdentification), orderData), StringEntry(getKeyOrderIsAccepted(order, retailerIdentification, ""), "open")]
237+ }
238+
239+
240+
241+@Callable(i)
242+func cancelOpenOrderByRetailer (retailerIdentification,orderId,city,retailerWalletAddress,shippingCosts) = if ((this != i.caller))
243+ then throw("Caller is not the Contract owner")
244+ else {
245+ let order = getKeyOrder(retailerIdentification, orderId)
246+ let orderCityString = getOrderString(city, order)
247+ let retailer = getKeyRetailer(retailerIdentification)
248+ let shipping = (shippingCosts * 100000000)
249+ if ((getValueRetailerIdentificationOfOrder(order) != retailerIdentification))
250+ then throw("The requested order does not exist")
251+ else if ((getValueIsInDeliveryOfOrder(order, retailerIdentification, "") == "open"))
252+ then throw("The requested order is already accepted and can no longer be canceled in this way")
253+ else [DeleteEntry(getKeyOrderCity(order)), DeleteEntry(getKeyOrderRetailerIdentification(order)), DeleteEntry(getKeyOrderShippingCosts(order, retailerIdentification)), DeleteEntry(getKeyOrderDataOpen(orderCityString, retailerIdentification)), DeleteEntry(getKeyOrderIsAccepted(order, retailerIdentification, "")), ScriptTransfer(addressFromStringValue(retailerWalletAddress), shipping, unit)]
254+ }
255+
256+
257+
258+@Callable(i)
259+func deleteEntry (key) = if ((this != i.caller))
260+ then throw("Caller is not the Contract owner")
261+ else [DeleteEntry(key)]
262+
263+
264+@Verifier(tx)
265+func verify () = match tx {
266+ case _: SetScriptTransaction =>
267+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
268+ case _: InvokeScriptTransaction =>
269+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
270+ case ttx: TransferTransaction =>
271+ if (if (if ((ttx.amount == 300000000))
272+ then true
273+ else (ttx.amount == 400000000))
274+ then true
275+ else (ttx.amount == 500000000))
276+ then true
277+ else if ((ttx.amount == 600000000))
278+ then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
279+ else false
280+ case _ =>
281+ false
282+}
283+

github/deemru/w8io/873ac7e 
37.04 ms