tx · Bb5HEm9K48Fh3goxcwWEpV2dpS9kLvgdXDLJQ7Afp3T7

3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL:  -0.01000000 Waves

2021.11.01 15:16 [1771921] smart account 3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL > SELF 0.00000000 Waves

{ "type": 13, "id": "Bb5HEm9K48Fh3goxcwWEpV2dpS9kLvgdXDLJQ7Afp3T7", "fee": 1000000, "feeAssetId": null, "timestamp": 1635769025487, "version": 2, "chainId": 84, "sender": "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL", "senderPublicKey": "A695BnQcmLqEPwcN5kdhv4bHipgdE4FnM5CBEMtA95Mo", "proofs": [ "3vZbA9YNHzjPqw2jMXweLAPTaD6NvV9JA8xFTQCMM9KL6dUJuhKmk3wQGB9CRfS7rbzFFfcGYVrppDHEREvYAYVa" ], "script": "base64:AAIDAAAAAAAAAAsIARIHCgUICAgBAQAAACwAAAAAB3hCaXRDTzIBAAAAICAEZKaqA3sNb6aq+pclWLOWiXpTDP/vusZoh2yDVNyNAAAAAA1zdGFydFRvdGFsUXR5AAAAAAAABKodAAAAAAxGaXJzdEZhc2VRdHkAAAAAAAAAK7kAAAAADVNlY29uZEZhc2VRdHkAAAAAAAAEMEQAAAAAA3d2cwAAAAAABfXhAAAAAAAETk9ORQIAAAAEbm9uZQAAAAAFZXVyb3UAAAAAAAAAAHQAAAAABXVzZG53AAAAAAAAAAnEAAAAAAViY28yZQAAAAAAAAAACgAAAAALT3duZXJQdWJLZXkBAAAAIIcKNq99kuJ9WetD4RzbqGBoQt3P74qF++Y9wltvbHx2AQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAFWdldEtleVByb2plY3RDYXRlZ29yeQAAAAEAAAAEaXRlbQIAAAAYQ2F0ZWdvcsOtYSBkZWwgUHJveWVjdG86AQAAABdnZXRWYWx1ZVByb2plY3RDYXRlZ29yeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFWdldEtleVByb2plY3RDYXRlZ29yeQAAAAEFAAAABGl0ZW0BAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAIc3VwcGxpZXIJAAEsAAAAAgUAAAAIc3VwcGxpZXICAAAAI0NvbXVuaWRhZCBBY2h1YXIgS2FwYXdpIGRlbCBFY3VhZG9yAQAAABFnZXRLZXlQcm9qZWN0TmFtZQAAAAEAAAAEaXRlbQIAAAAUTm9tYnJlIGRlbCBQcm95ZWN0bzoBAAAAE2dldFZhbHVlUHJvamVjdE5hbWUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABFnZXRLZXlQcm9qZWN0TmFtZQAAAAEFAAAABGl0ZW0BAAAAFGdldEtleVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtAgAAABNQYcOtcyB8IFViaWNhY2nDs246AQAAABZnZXRWYWx1ZVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAUZ2V0S2V5UHJvamVjdENvdW50cnkAAAABBQAAAARpdGVtAQAAABFnZXRLZXlQcm9qZWN0Q29kZQAAAAEAAAAEaXRlbQIAAAAIQ8OzZGlnbzoBAAAAE2dldFZhbHVlUHJvamVjdENvZGUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABFnZXRLZXlQcm9qZWN0Q29kZQAAAAEFAAAABGl0ZW0BAAAAF2dldEtleVByb2plY3RQcm9waWV0YXJ5AAAAAQAAAARpdGVtAgAAAChQcm9waWV0YXJpbyB8IEJlbmVmaWNpYXJpbyBkZWwgUHJveWVjdG86AQAAABlnZXRWYWx1ZVByb2plY3RQcm9waWV0YXJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAXZ2V0S2V5UHJvamVjdFByb3BpZXRhcnkAAAABBQAAAARpdGVtAQAAABBnZXRLZXlQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgIAAAAiRGVzYXJyb2xsYWRvciB8IFJlc3BvbnNhYmxlIExlZ2FsOgEAAAASZ2V0VmFsdWVQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVByb2plY3REZXYAAAABBQAAAAhzdXBwbGllcgEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEAAAAEaXRlbQIAAAAaUHJlY2lvIE5vbWluYWwsIDEgQml0LUNPMjoBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEAAAAEaXRlbQIAAAAmUHJlY2lvIGRlIDEgQml0LUNPMiBjb24gZHNjdG8gZWxlamlkbzoBAAAAGmdldFZhbHVlRGVzY3VlbnRvNlRva1ByaWNlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAYZ2V0S2V5RGVzY3VlbnRvNlRva1ByaWNlAAAAAQUAAAAEaXRlbQEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQAAAARpdGVtAgAAADhDYW50aWRhZCBkZSBUb2tlbnMgb2ZlcnRhZG9zIGVuIFByb2dyYW1hLTA2LCBGMSBQcmUtSUNPOgEAAAAUZ2V0VmFsdWVGaXJzdEZhc2VRdHkAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlGaXJzdEZhc2VRdHkAAAABBQAAAARpdGVtAQAAAB1nZXRLZXlTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEAAAAEaXRlbQIAAAA2VG90YWwgZGUgdG9rZW5zIHJlYWxpemFkb3MgcG9yIFByb2dyYW1hLTA2LCBGMSBQcmUtSUNPAQAAAB9nZXRWYWx1ZVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyAgAAACxGb25kb3MgZGVzZGUgVXN1YXJpb3MgUHJvZ3JhbWEtMDYsIEYxIFByZUlDTwEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtAgAAAApPcmRlcl/ihJY6AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQAAAARpdGVtAgAAADFEb2N1bWVudG8gTmFjaW9uYWwgZGUgSWRlbnRpZGFkLCBETkkgZGVsIFVzdWFyaW86AQAAABRnZXRWYWx1ZVVzZXJEb2N1bWVudAAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVVzZXJEb2N1bWVudAAAAAEFAAAABGl0ZW0BAAAAEWdldEtleVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtAgAAACBQYcOtcyBkZSBSZXNpZGVuY2lhIGRlbCBVc3VhcmlvOgEAAAATZ2V0VmFsdWVVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleVVzZXJDb3VudHJ5AAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5RGlzY291bnQ2VXNlcgAAAAEAAAAEaXRlbQIAAAAgUG9yY2VudGFqZSBkZSBkZXNjdWVudG8gZWxlamlkbzoBAAAAFWdldFZhbHVlRGlzY291bnQ2VXNlcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkAASwAAAACCQABLAAAAAIJAQAAABNnZXRLZXlEaXNjb3VudDZVc2VyAAAAAQUAAAAEaXRlbQIAAAABIAIAAAABJQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEAAAAEaXRlbQIAAAAeQ2FudGlkYWQgZGUgdG9rZW5zIGEgYWRxdWlyaXI6AQAAABhnZXRWYWx1ZUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQUAAAAEaXRlbQAAAAEAAAABaQEAAAAIcHVyY2hhc2UAAAAFAAAABGl0ZW0AAAAMdXNlckRvY3VtZW50AAAAC3VzZXJDb3VudHJ5AAAADHVzZXJEaXNjb3VudAAAAAhvcmRlclF0eQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAATlVkLiBwdWVkZSBhZHF1aXJpciB0b2tlbnMgeEJpdENPMiB1c2FuZG8gV2F2ZXNLZWVwZXIgeSBzdSB0b2tlbiBkZSBwYWdvIFdhdmVzLgQAAAAIc3VwcGxpZXIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQQAAAAJcHJlSWNvUXR5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAQAAAB1nZXRLZXlTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPYmFsYW5jZVN1cHBsaWVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAt1c2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABFjdXJyZW50VG9rZW5QcmljZQkAAGkAAAACCQAAaQAAAAIJAABoAAAAAgkAAGgAAAACCQAAaAAAAAIJAABlAAAAAgAAAAAAAAAAZAUAAAAMdXNlckRpc2NvdW50BQAAAAViY28yZQUAAAAFZXVyb3UFAAAAA3d2cwAAAAAAAAAAZAUAAAAFdXNkbncEAAAAC3RvdGFsQW1vdW50CQAAaAAAAAIFAAAACG9yZGVyUXR5BQAAABFjdXJyZW50VG9rZW5QcmljZQMJAABmAAAAAgUAAAALdG90YWxBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANVBheW1lbnQgQW1vdW50IGNhbid0IGJlIGxlc3MgdGhhbiBpdGVtIFB1cmNoYXNlIE9yZGVyAwkAAGYAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAALdG90YWxBbW91bnQJAAACAAAAAQIAAAA3UGF5bWVudCBBbW91bnQgY2FuJ3QgYmUgaGlnaGVyIHRoYW4gaXRlbSBQdXJjaGFzZSBPcmRlcgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlQcm9qZWN0Q2F0ZWdvcnkAAAABBQAAAARpdGVtAgAAABZDb25zZXJ2YWNpw7NuIEZvcmVzdGFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0S2V5UHJvamVjdE5hbWUAAAABBQAAAARpdGVtAgAAACBSZXNlcnZhIEFtYXrDs25pY2EgQWNodWFyLUthcGF3aQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFGdldEtleVByb2plY3RDb3VudHJ5AAAAAQUAAAAEaXRlbQIAAAAHRWN1YWRvcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldEtleVByb2plY3RDb2RlAAAAAQUAAAAEaXRlbQIAAAAZMDEtRUNfQUNILUtBUEFXSV8wMVBSRUlDTwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAF2dldEtleVByb2plY3RQcm9waWV0YXJ5AAAAAQUAAAAEaXRlbQIAAAAXQ29tdW5pZGFkIEFjaHVhciBLYXBhd2kJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRLZXlQcm9qZWN0RGV2AAAAAQUAAAAIc3VwcGxpZXICAAAAJEZ1bmRhY2nDs24gQWxpYW56YSBFY29sw7NnaWNhICdOQVNFJwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAA0VG9rZW5zIEJpdC1DTzIgYSBlbWl0aXIgZW4gRjEgeSBGMiBQcmUtSUNPLCB1bmlkYWRlcwUAAAANc3RhcnRUb3RhbFF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAE2dldEtleU5vbVRva2VuUHJpY2UAAAABBQAAAARpdGVtAgAAAAsxMC4wMCBFdXJvcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAbT2ZlcnRhIGRlIHRva2VucyB1dGlsaXphZGE6AgAAAAtQcm9ncmFtYS0wNgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAqRGVzY3VlbnRvIG3DoXhpbW8gb2ZyZWNpZG8gZW4gUHJvZ3JhbWEtMDY6AgAAAAQgNiAlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQUAAAAEaXRlbQUAAAAMRmlyc3RGYXNlUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0JAABkAAAAAgkBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0AAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABBQAAAARpdGVtBQAAAAx1c2VyRG9jdW1lbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEFAAAABGl0ZW0FAAAAC3VzZXJDb3VudHJ5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0S2V5RGlzY291bnQ2VXNlcgAAAAEFAAAABGl0ZW0FAAAADHVzZXJEaXNjb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEFAAAABGl0ZW0FAAAAEWN1cnJlbnRUb2tlblByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACdTdW1hIHRyYW5zbWl0aWRhIHBhcmEgbGEgRjEgUHJlSUNPLCB3dnMFAAAAC3RvdGFsQW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABxFc3RhZG8gZGUgc3UgcGVkaWRvLCB0b2tlbnM6AgAAABrCoUFkcXVpc2ljacOzbiBDb25maXJtYWRhIQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQkAAGQAAAACCQEAAAAfZ2V0VmFsdWVTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAC1TYWxkbyBkZSBUb2tlbnMgcGFyYSBVc3VhcmlvcywgZW4gUHJvZ3JhbWEtMDYJAABlAAAAAgkAAGUAAAACBQAAAAxGaXJzdEZhc2VRdHkJAQAAAB9nZXRWYWx1ZVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQUAAAAIb3JkZXJRdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgkAAGQAAAACCQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcggFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAALERpcmVjY2nDs24gZGVsIHByb3llY3RvIGVuIFdhdmVzLUJsb2NrQ2hhaW46AgAAACMzTjlEcFdEdk5QbnEzd3V1eWgyY0drOWhjS2Zva2U5Q0NmTAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAALdXNlckFkZHJlc3MFAAAACG9yZGVyUXR5BQAAAAd4Qml0Q08yBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAtPd25lclB1YktleQMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAElJlaXNzdWVUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAQAAAAJd2l0aFdhdmVzAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgICAUAAAACdHgAAAAJc2VsbE9yZGVyAAAACWFzc2V0UGFpcgAAAApwcmljZUFzc2V0BgkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgICAUAAAACdHgAAAAJc2VsbE9yZGVyAAAACWFzc2V0UGFpcgAAAAthbW91bnRBc3NldAUAAAAJd2l0aFdhdmVzB3fgol4=", "height": 1771921, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AEBvd9bkE2mpHvnVHMbUaNzcrggZiaoP2Sa9UZ9ZcKZ8 Next: 5zzo7C97ijAmDQVdjomvmRVbqFxEV3RhrbVD3rGdrJZv Diff:
OldNewDifferences
9797 func getValueFirstFaseQty (item) = getStrByKey(getKeyFirstFaseQty(item))
9898
9999
100-func getKeySaldoTokenQtyStartEtapa (item) = "Cantidad de tokens adquiridos por Programa-06, F1 Pre-ICO"
100+func getKeySaldoTokenQtyStartEtapa (item) = "Total de tokens realizados por Programa-06, F1 Pre-ICO"
101101
102102
103103 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
127127 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
128128
129129
130-func getKeyDiscount6User (item) = "Porcentaje de descuento elejido, máximo 6%:"
130+func getKeyDiscount6User (item) = "Porcentaje de descuento elejido:"
131131
132132
133-func getValueDiscount6User (item) = getNumberByKey(getKeyDiscount6User(item))
133+func getValueDiscount6User (item) = getNumberByKey(((getKeyDiscount6User(item) + " ") + "%"))
134134
135135
136136 func getKeyItemUserOrderQty (item) = "Cantidad de tokens a adquirir:"
170170 then throw("Payment Amount can't be less than item Purchase Order")
171171 else if ((pmt.amount > totalAmount))
172172 then throw("Payment Amount can't be higher than item Purchase Order")
173- else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "01-EC_ACH-KAPAWI_01PREICO"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica 'NASE'"), DataEntry("Tokens Bit-CO2 a emitir en F1 y F2 Pre-ICO, unidades", startTotalQty), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("Oferta de tokens utilizada:", "Programa-06"), DataEntry("Descuento máximo ofrecido en Programa-06:", " 6 %"), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyDiscount6User(item), userDiscount), DataEntry(getKeyDescuento6TokPrice(item), currentTokenPrice), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma invertida del Usuario, wvs", totalAmount), DataEntry("Estado de su pedido:", "¡Adquisición Confirmada!"), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de Tokens para Usuarios, en Programa-06", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Dirección del proyecto en Waves-BlockChain:", "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), orderQty, xBitCO2)]))
173+ else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "01-EC_ACH-KAPAWI_01PREICO"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica 'NASE'"), DataEntry("Tokens Bit-CO2 a emitir en F1 y F2 Pre-ICO, unidades", startTotalQty), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("Oferta de tokens utilizada:", "Programa-06"), DataEntry("Descuento máximo ofrecido en Programa-06:", " 6 %"), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyDiscount6User(item), userDiscount), DataEntry(getKeyDescuento6TokPrice(item), currentTokenPrice), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida para la F1 PreICO, wvs", totalAmount), DataEntry("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de Tokens para Usuarios, en Programa-06", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Dirección del proyecto en Waves-BlockChain:", "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), orderQty, xBitCO2)]))
174174 }
175175 }
176176
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let xBitCO2 = base58'39yw38hm342hiK43SqELTaZRkTWJoBc22XpxmsSiBrsN'
55
66 let startTotalQty = 305693
77
88 let FirstFaseQty = 11193
99
1010 let SecondFaseQty = 274500
1111
1212 let wvs = 100000000
1313
1414 let NONE = "none"
1515
1616 let eurou = 116
1717
1818 let usdnw = 2500
1919
2020 let bco2e = 10
2121
2222 let OwnerPubKey = base58'A695BnQcmLqEPwcN5kdhv4bHipgdE4FnM5CBEMtA95Mo'
2323
2424 func getNumberByKey (key) = {
2525 let num = match getInteger(this, key) {
2626 case a: Int =>
2727 a
2828 case _ =>
2929 0
3030 }
3131 num
3232 }
3333
3434
3535 func getStrByKey (key) = {
3636 let str = match getString(this, key) {
3737 case a: String =>
3838 a
3939 case _ =>
4040 NONE
4141 }
4242 str
4343 }
4444
4545
4646 func getKeyProjectCategory (item) = "Categoría del Proyecto:"
4747
4848
4949 func getValueProjectCategory (item) = getStrByKey(getKeyProjectCategory(item))
5050
5151
5252 func getKeyItemSupplier (supplier) = (supplier + "Comunidad Achuar Kapawi del Ecuador")
5353
5454
5555 func getKeyProjectName (item) = "Nombre del Proyecto:"
5656
5757
5858 func getValueProjectName (item) = getStrByKey(getKeyProjectName(item))
5959
6060
6161 func getKeyProjectCountry (item) = "País | Ubicación:"
6262
6363
6464 func getValueProjectCountry (item) = getStrByKey(getKeyProjectCountry(item))
6565
6666
6767 func getKeyProjectCode (item) = "Código:"
6868
6969
7070 func getValueProjectCode (item) = getStrByKey(getKeyProjectCode(item))
7171
7272
7373 func getKeyProjectPropietary (item) = "Propietario | Beneficiario del Proyecto:"
7474
7575
7676 func getValueProjectPropietary (item) = getStrByKey(getKeyProjectPropietary(item))
7777
7878
7979 func getKeyProjectDev (supplier) = "Desarrollador | Responsable Legal:"
8080
8181
8282 func getValueProjectDev (supplier) = getStrByKey(getKeyProjectDev(supplier))
8383
8484
8585 func getKeyNomTokenPrice (item) = "Precio Nominal, 1 Bit-CO2:"
8686
8787
8888 func getKeyDescuento6TokPrice (item) = "Precio de 1 Bit-CO2 con dscto elejido:"
8989
9090
9191 func getValueDescuento6TokPrice (item) = getNumberByKey(getKeyDescuento6TokPrice(item))
9292
9393
9494 func getKeyFirstFaseQty (item) = "Cantidad de Tokens ofertados en Programa-06, F1 Pre-ICO:"
9595
9696
9797 func getValueFirstFaseQty (item) = getStrByKey(getKeyFirstFaseQty(item))
9898
9999
100-func getKeySaldoTokenQtyStartEtapa (item) = "Cantidad de tokens adquiridos por Programa-06, F1 Pre-ICO"
100+func getKeySaldoTokenQtyStartEtapa (item) = "Total de tokens realizados por Programa-06, F1 Pre-ICO"
101101
102102
103103 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
104104
105105
106106 func getKeyBalanceSupplier (supplier) = "Fondos desde Usuarios Programa-06, F1 PreICO"
107107
108108
109109 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
110110
111111
112112 func getKeyUserItemCounter (user,item) = "Order_№:"
113113
114114
115115 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
116116
117117
118118 func getKeyUserDocument (item) = "Documento Nacional de Identidad, DNI del Usuario:"
119119
120120
121121 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
122122
123123
124124 func getKeyUserCountry (item) = "País de Residencia del Usuario:"
125125
126126
127127 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
128128
129129
130-func getKeyDiscount6User (item) = "Porcentaje de descuento elejido, máximo 6%:"
130+func getKeyDiscount6User (item) = "Porcentaje de descuento elejido:"
131131
132132
133-func getValueDiscount6User (item) = getNumberByKey(getKeyDiscount6User(item))
133+func getValueDiscount6User (item) = getNumberByKey(((getKeyDiscount6User(item) + " ") + "%"))
134134
135135
136136 func getKeyItemUserOrderQty (item) = "Cantidad de tokens a adquirir:"
137137
138138
139139 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
140140
141141
142142 @Callable(i)
143143 func purchase (item,userDocument,userCountry,userDiscount,orderQty) = {
144144 let pmt = extract(i.payment)
145145 if (isDefined(pmt.assetId))
146146 then throw("Ud. puede adquirir tokens xBitCO2 usando WavesKeeper y su token de pago Waves.")
147147 else {
148148 let supplier = match getString(this, getKeyItemSupplier(item)) {
149149 case a: String =>
150150 a
151151 case _ =>
152152 NONE
153153 }
154154 let preIcoQty = match getInteger(this, getKeySaldoTokenQtyStartEtapa(item)) {
155155 case a: Int =>
156156 a
157157 case _ =>
158158 0
159159 }
160160 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
161161 case a: Int =>
162162 a
163163 case _ =>
164164 0
165165 }
166166 let userAddress = toBase58String(i.caller.bytes)
167167 let currentTokenPrice = ((((((100 - userDiscount) * bco2e) * eurou) * wvs) / 100) / usdnw)
168168 let totalAmount = (orderQty * currentTokenPrice)
169169 if ((totalAmount > pmt.amount))
170170 then throw("Payment Amount can't be less than item Purchase Order")
171171 else if ((pmt.amount > totalAmount))
172172 then throw("Payment Amount can't be higher than item Purchase Order")
173- else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "01-EC_ACH-KAPAWI_01PREICO"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica 'NASE'"), DataEntry("Tokens Bit-CO2 a emitir en F1 y F2 Pre-ICO, unidades", startTotalQty), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("Oferta de tokens utilizada:", "Programa-06"), DataEntry("Descuento máximo ofrecido en Programa-06:", " 6 %"), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyDiscount6User(item), userDiscount), DataEntry(getKeyDescuento6TokPrice(item), currentTokenPrice), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma invertida del Usuario, wvs", totalAmount), DataEntry("Estado de su pedido:", "¡Adquisición Confirmada!"), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de Tokens para Usuarios, en Programa-06", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Dirección del proyecto en Waves-BlockChain:", "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), orderQty, xBitCO2)]))
173+ else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "01-EC_ACH-KAPAWI_01PREICO"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica 'NASE'"), DataEntry("Tokens Bit-CO2 a emitir en F1 y F2 Pre-ICO, unidades", startTotalQty), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("Oferta de tokens utilizada:", "Programa-06"), DataEntry("Descuento máximo ofrecido en Programa-06:", " 6 %"), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyDiscount6User(item), userDiscount), DataEntry(getKeyDescuento6TokPrice(item), currentTokenPrice), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida para la F1 PreICO, wvs", totalAmount), DataEntry("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de Tokens para Usuarios, en Programa-06", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Dirección del proyecto en Waves-BlockChain:", "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), orderQty, xBitCO2)]))
174174 }
175175 }
176176
177177
178178 @Verifier(tx)
179179 func verify () = match tx {
180180 case t: SetScriptTransaction =>
181181 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
182182 case d: ReissueTransaction|DataTransaction =>
183183 true
184184 case tx: TransferTransaction =>
185185 true
186186 case tx: ExchangeTransaction =>
187187 let withWaves = if (!(isDefined(tx.sellOrder.assetPair.priceAsset)))
188188 then true
189189 else !(isDefined(tx.sellOrder.assetPair.amountAsset))
190190 withWaves
191191 case _ =>
192192 false
193193 }
194194

github/deemru/w8io/169f3d6 
45.45 ms