tx · 3QyvsCrof7CZGcxGwSe6Vg4YbnnB2Y92aGFBq7nZsZhq

3N5v9ndbkGSWy1SfeJSz94tYU8qVNTUJV2q:  -0.01400000 Waves

2020.08.03 21:52 [1116589] smart account 3N5v9ndbkGSWy1SfeJSz94tYU8qVNTUJV2q > SELF 0.00000000 Waves

{ "type": 13, "id": "3QyvsCrof7CZGcxGwSe6Vg4YbnnB2Y92aGFBq7nZsZhq", "fee": 1400000, "feeAssetId": null, "timestamp": 1596480753803, "version": 1, "sender": "3N5v9ndbkGSWy1SfeJSz94tYU8qVNTUJV2q", "senderPublicKey": "6tctCnkRasXYuZWRpzZz9ogLri6aifJ19LTtx9uFQv67", "proofs": [ "4zsf6k6cpsWFXHHJfJEfHpCVQ2SLB1EuE5mxRRJTUpbbk2u64whVMBXD3q9WQEozMSuT2jNZDWViMqQysAz7S2HW" ], "script": "base64:AAIDAAAAAAAAADMIARIECgIICBIHCgUICAgBARIICgYICAgBAQgSBgoECAgIARIICgYICAgBAQgSBAoCCAEAAABIAAAAAAd4Qml0Q08yAQAAACAgBGSmqgN7DW+mqvqXJVizlol6Uwz/77rGaIdsg1TcjQAAAAAIc3RhcnRRdHkAAAAAAAAEqh0AAAAADEZpcnN0RmFzZVF0eQAAAAAAAAB52QAAAAANU2Vjb25kRmFzZVF0eQAAAAAAAAQwRAAAAAAIbm9tUHJpY2UAAAAAAAAAAAEAAAAAA3d2cwAAAAAABfXhAAAAAAAQc3VwcGxpZXJEaXNjb3VudAAAAAAAAAAADAAAAAAETk9ORQIAAAAEbm9uZQAAAAALT3duZXJQdWJLZXkBAAAAIFeDoPP2LDG5bo5k3c5sKTo0JzDTjtxRuDTL9ibJxOUUAAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRLSBWPuSFPLJbx2twGJ4pjbyHR1uc9l9oAAAAABGVBZGQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRMFqg79sYEM4GubTrgxY0KxnODB2XEwvIAAAAABHBBZGQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVSvhVyfjAEHvwKgtoZrZYO4od8/0d33wzIAAAAAA2lndgAAAAAAAAAAEgAAAAADY1BCAAAAAAAAAABYAAAAAAN1SVAAAAAAAAAAAAUAAAAAA3BJUAAAAAAAAAAACgAAAAADc0lQAAAAAAAAAAABAAAAAANlSVAAAAAAAAAAAAEBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAEaXRlbQkAASwAAAACCQABLAAAAAICAAAAGVJlc2VydmEgQW1hesOzbmljYSBBY2h1YXICAAAAASAJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABGl0ZW0BAAAAFWdldEtleVByb2plY3RDYXRlZ29yeQAAAAEAAAAEaXRlbQIAAAALQ2F0ZWdvcsOtYToBAAAAF2dldFZhbHVlUHJvamVjdENhdGVnb3J5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAVZ2V0S2V5UHJvamVjdENhdGVnb3J5AAAAAQUAAAAEaXRlbQEAAAARZ2V0S2V5UHJvamVjdFR5cGUAAAABAAAABGl0ZW0CAAAAEVRpcG8gZGUgUHJveWVjdG86AQAAABNnZXRWYWx1ZVByb2plY3RUeXBlAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5UHJvamVjdFR5cGUAAAABBQAAAARpdGVtAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyAgAAACNDb211bmlkYWQgQWNodWFyIEthcGF3aSBkZWwgRWN1YWRvcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIBAAAAEWdldEtleVByb2plY3RDb2RlAAAAAQAAAARpdGVtAgAAAAhDw7NkaWdvOgEAAAATZ2V0VmFsdWVQcm9qZWN0Q29kZQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleVByb2plY3RDb2RlAAAAAQUAAAAEaXRlbQEAAAARZ2V0S2V5UHJvamVjdE5hbWUAAAABAAAABGl0ZW0CAAAAFE5vbWJyZSBkZWwgUHJveWVjdG86AQAAABNnZXRWYWx1ZVByb2plY3ROYW1lAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5UHJvamVjdE5hbWUAAAABBQAAAARpdGVtAQAAABJnZXRLZXlQcm9qZWN0RXRhcGEAAAABAAAADnByb2plY3RBZGRyZXNzAgAAAB1BY2h1YXJLYXBhd2ksIEkgRXRhcGE6IFByZUlDTwEAAAAUZ2V0VmFsdWVQcm9qZWN0RXRhcGEAAAABAAAADnByb2plY3RBZGRyZXNzCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5UHJvamVjdEV0YXBhAAAAAQUAAAAOcHJvamVjdEFkZHJlc3MBAAAAFGdldEtleVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtAgAAABNQYcOtcyAvIFViaWNhY2nDs246AQAAABZnZXRWYWx1ZVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAUZ2V0S2V5UHJvamVjdENvdW50cnkAAAABBQAAAARpdGVtAQAAABBnZXRLZXlQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgIAAAAcRGVzYXJyb2xsYWRvciAvIFJlc3BvbnNhYmxlOgEAAAASZ2V0VmFsdWVQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVByb2plY3REZXYAAAABBQAAAAhzdXBwbGllcgEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQAAAARpdGVtAgAAACdUb3RhbCB0b2tlbnMgZW1pdGlkb3MgZW4gSSBGYXNlIFByZS1JQ08BAAAAFGdldFZhbHVlRmlyc3RGYXNlUXR5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEAAAAEaXRlbQIAAAALMTAuMDAgRXVyb3MBAAAAF2dldEtleUl0ZW1QcmljZVN1cHBsaWVyAAAAAQAAAARpdGVtAgAAAAZfd2F2ZXMBAAAAGWdldFZhbHVlSXRlbVByaWNlU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdnZXRLZXlJdGVtUHJpY2VTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAEmdldEtleU1heERlc2N1ZW50bwAAAAEAAAAEaXRlbQIAAAApTcOheGltbyBEZXNjdWVudG8gT2ZyZWNpZG8gZW4gSSBFdGFwYSwgJToBAAAAFGdldFZhbHVlTWF4RGVzY3VlbnRvAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5TWF4RGVzY3VlbnRvAAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5TWluVG9rZW5QcmljZQAAAAEAAAAEaXRlbQIAAAAeOC44MCBFdXJvcyBwb3IgMSB0b2tlbiBCaXQtQ08yAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQIAAAAKT3JkZXJf4oSWOgEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAADmdldEtleVVzZXJOYW1lAAAAAQAAAARpdGVtAgAAABNOb21icmUgZGVsIFVzdWFyaW86AQAAABBnZXRWYWx1ZVVzZXJOYW1lAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAOZ2V0S2V5VXNlck5hbWUAAAABBQAAAARpdGVtAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0CAAAAOeKEliBkZSBEb2N1bWVudG8gTmFjaW9uYWwgZGUgSWRlbnRpZGFkIC8gRE5JIGRlbCBVc3VhcmlvOgEAAAAUZ2V0VmFsdWVVc2VyRG9jdW1lbnQAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABBQAAAARpdGVtAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQIAAAASUGHDrXMgZGVsIFVzdWFyaW86AQAAABNnZXRWYWx1ZVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5VXNlckNvdW50cnkAAAABBQAAAARpdGVtAQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQAAAARpdGVtAgAAACREZXNjdWVudG8gZWxlamlkbyBwb3IgZWwgVXN1YXJpbywgJToBAAAAGGdldFZhbHVlSXRlbURpc2NvdW50VXNlcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldEtleUl0ZW1EaXNjb3VudFVzZXIAAAABBQAAAARpdGVtAQAAABpnZXRLZXlJdGVtRGlzY291bnRTdXBwbGllcgAAAAEAAAAEaXRlbQIAAAAYU3VwcGxpZXJEaXNjb3VudCwgbWF4XyU6AQAAABxnZXRWYWx1ZUl0ZW1EaXNjb3VudFN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAaZ2V0S2V5SXRlbURpc2NvdW50U3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQAAAARpdGVtAgAAACVPcmRlbiBkZSBDb21wcmEsIGNhbnRpZGFkIHNvbGljaXRhZGE6AQAAABhnZXRWYWx1ZUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQUAAAAEaXRlbQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABAAAABGl0ZW0CAAAALlRva2VucyBPZmVydGFkb3MgZW4gbGEgcHJlc2VudGUgZXRhcGEgLyBTYWxkbzoBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAB1nZXRLZXlTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0BAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQIAAAAWQmFsYW5jZS9TYWxkbywgdG9rZW5zOgEAAAAaZ2V0VmFsdWVCYWxhbmNlUXR5U3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRLZXlCYWxhbmNlUXR5U3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyAgAAAChJbmdyZXNvcyBwb3IgVmVudGEgRGlyZWN0YSAvIEJsb2NrQ2hhaW46AQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAIc3VwcGxpZXIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgEAAAAIZ2V0S2V5VUkAAAABAAAABGl0ZW0CAAAACFVJLF93dnM6AQAAAApnZXRWYWx1ZVVJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5VUkAAAABBQAAAARpdGVtAQAAAAhnZXRLZXlQSQAAAAEAAAAEaXRlbQIAAAAGUEksXyU6AQAAAApnZXRWYWx1ZVBJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5UEkAAAABBQAAAARpdGVtAQAAAAhnZXRLZXlTSQAAAAEAAAAEaXRlbQIAAAAGU0ksXyU6AQAAAApnZXRWYWx1ZVNJAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAIZ2V0S2V5U0kAAAABBQAAAARpdGVtAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQIAAAANZGVzY3JpcHRpb246IAAAAAYAAAABaQEAAAAHZGVwb3NpdAAAAAIAAAAFdGl0bGUAAAAMc3VwcGxpZXJEYXRhBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAHeEJpdENPMgkAAAIAAAABAgAAAClkZXBvc2l0byBwZXJtaXRpZG8gc29sbyBlbiB4Qml0Q08yIHRva2VucwQAAAAIc3VwcGxpZXIJAAJYAAAA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TAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAUZ2V0S2V5UHJvamVjdENvdW50cnkAAAABBQAAAARpdGVtAgAAAAggRWN1YWRvcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldEtleVByb2plY3ROYW1lAAAAAQUAAAAEaXRlbQIAAAAhIFJlc2VydmEgQW1hesOzbmljYSBBY2h1YXItS2FwYXdpCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0S2V5UHJvamVjdENvZGUAAAABBQAAAARpdGVtAgAAAB0gMDAxLUVDL1NHVCAtIEFDSFVBUktBUEFXSS0wMQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHRW1pc29yOgIAAAAYIENvbXVuaWRhZCBBY2h1YXIgS2FwYXdpCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0S2V5UHJvamVjdERldgAAAAEFAAAACHN1cHBsaWVyAgAAAB0gRnVuZGFjacOzbiBFY29sw7NnaWNhICdOQVNFJwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAcRmFzZXMgZGVsIFByb3llY3RvLCBQcmUtSUNPOgIAAAAMIEkgeSBJSSBGYXNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAEFDYW50aWRhZCBUb3RhbCBkZSBUb2tlbnMgQml0LUNPMiBhIEVtaXRpciBlbiBJIHkgSUkgRmFzZSBQcmUtSUNPOgUAAAAIc3RhcnRRdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAIFByZWNpbyBOb21pbmFsLCAxIHRva2VuIEJpdC1DTzI6AgAAAAwgMTAuMDAgRXVyb3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlNYXhEZXNjdWVudG8AAAABBQAAAARpdGVtAgAAAAYgMTIuMDAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleUZpcnN0RmFzZVF0eQAAAAEFAAAABGl0ZW0FAAAADEZpcnN0RmFzZVF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleVVzZXJOYW1lAAAAAQUAAAAEaXRlbQUAAAAIdXNlck5hbWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEFAAAABGl0ZW0FAAAAC3VzZXJDb3VudHJ5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5SXRlbURpc2NvdW50VXNlcgAAAAEFAAAABGl0ZW0FAAAADHVzZXJEaXNjb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFmdldEtleUl0ZW1Vc2VyT3JkZXJRdHkAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAYdG9rZW5QcmljZS9TdXBwbGllciwgd3ZzCQAAaAAAAAIFAAAACG5vbVByaWNlBQAAAAN3dnMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAFHRva2VuUHJpY2UvVXNlciwgd3ZzBQAAABFjdXJyZW50VG9rZW5QcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAYaW52ZXN0ZWRBbW91bnQvVXNlciwgd3ZzBQAAAAt0b3RhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAVcHVyY2hhc2VPcmRlci9TdGF0dXM6AgAAABrCoUFkcXVpc2ljacOzbiBDb25maXJtYWRhIQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEFAAAABGl0ZW0JAABlAAAAAgUAAAAJcHJlSWNvUXR5BQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQkAAGUAAAACBQAAAAlwcmVJY29RdHkFAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIJAABkAAAAAgUAAAAPYmFsYW5jZVN1cHBsaWVyCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAsRGlyZWNjacOzbiBkZWwgUHJveWVjdG8gZW4gV2F2ZXMtQmxvY2tDaGFpbjoCAAAAJSAzTjV2OW5kYmtHU1d5MVNmZUpTejk0dFlVOHFWTlRVSlYycSAFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAAhvcmRlclF0eQUAAAAHeEJpdENPMgUAAAADbmlsAAAAAWkBAAAAEEFkZFN1cHBsaWVyVG9rZW4AAAAGAAAABXRpdGxlAAAABG5hbWUAAAAHY291bnRyeQAAAAlwcmVJY29RdHkAAAAQc3VwcGxpZXJEaXNjb3VudAAAAAxzdXBwbGllckRhdGEEAAAACHN1cHBsaWVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABGl0ZW0JAQAAAApnZXRLZXlJdGVtAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAwkAAGcAAAACAAAAAAAAAAAABQAAAAlwcmVJY29RdHkJAAACAAAAAQIAAAAfU29ycnksIGluc3VmZmljaWVudCB0b2tlbiBvZmZlcgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwA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", "chainId": 84, "height": 1116589, "spentComplexity": 0 } View: original | compacted Prev: XHKofwjzd4h99XTAjKRacEucoTZ9Hv32KzLrp7JBvRX Next: HfSt5U332ERaegvrDCgxGdiN8Q3oEJVpU7rbv6BvbPPj Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let xBitCO2 = base58'39yw38hm342hiK43SqELTaZRkTWJoBc22XpxmsSiBrsN'
55
66 let startQty = 305693
77
88 let FirstFaseQty = 31193
99
1010 let SecondFaseQty = 274500
1111
1212 let nomPrice = 1
1313
1414 let wvs = 100000000
1515
1616 let supplierDiscount = 12
1717
1818 let NONE = "none"
1919
2020 let OwnerPubKey = base58'6tctCnkRasXYuZWRpzZz9ogLri6aifJ19LTtx9uFQv67'
2121
2222 let issuer = Address(base58'3Mvn8oonnpiasA3bkq36N9qeqqXWfFW437o')
2323
2424 let eAdd = Address(base58'3MvrQGkHQtyLTC2QXgPnQ6oCEWhHyUJpU4q')
2525
2626 let pAdd = Address(base58'3N5v9ndbkGSWy1SfeJSz94tYU8qVNTUJV2q')
2727
2828 let igv = 18
2929
3030 let cPB = 88
3131
3232 let uIP = 5
3333
3434 let pIP = 10
3535
3636 let sIP = 1
3737
3838 let eIP = 1
3939
4040 func getNumberByKey (key) = {
4141 let num = match getInteger(this, key) {
4242 case a: Int =>
4343 a
4444 case _ =>
4545 0
4646 }
4747 num
4848 }
4949
5050
5151 func getStrByKey (key) = {
5252 let str = match getString(this, key) {
5353 case a: String =>
5454 a
5555 case _ =>
5656 NONE
5757 }
5858 str
5959 }
6060
6161
6262 func getKeyItem (supplier,item) = (("Reserva Amazónica Achuar" + " ") + toBase58String(sha256(toBytes((supplier + item)))))
6363
6464
6565 func getKeyProjectCategory (item) = "Categoría:"
6666
6767
6868 func getValueProjectCategory (item) = getStrByKey(getKeyProjectCategory(item))
6969
7070
7171 func getKeyProjectType (item) = "Tipo de Proyecto:"
7272
7373
7474 func getValueProjectType (item) = getStrByKey(getKeyProjectType(item))
7575
7676
7777 func getKeyItemSupplier (supplier) = "Comunidad Achuar Kapawi del Ecuador"
7878
7979
8080 func getValueItemSupplier (supplier) = getStrByKey(getKeyItemSupplier(supplier))
8181
8282
8383 func getKeyProjectCode (item) = "Código:"
8484
8585
8686 func getValueProjectCode (item) = getStrByKey(getKeyProjectCode(item))
8787
8888
8989 func getKeyProjectName (item) = "Nombre del Proyecto:"
9090
9191
9292 func getValueProjectName (item) = getStrByKey(getKeyProjectName(item))
9393
9494
9595 func getKeyProjectEtapa (projectAddress) = "AchuarKapawi, I Etapa: PreICO"
9696
9797
9898 func getValueProjectEtapa (projectAddress) = getStrByKey(getKeyProjectEtapa(projectAddress))
9999
100100
101101 func getKeyProjectCountry (item) = "País / Ubicación:"
102102
103103
104104 func getValueProjectCountry (item) = getStrByKey(getKeyProjectCountry(item))
105105
106106
107107 func getKeyProjectDev (supplier) = "Desarrollador / Responsable:"
108108
109109
110110 func getValueProjectDev (supplier) = getStrByKey(getKeyProjectDev(supplier))
111111
112112
113113 func getKeyFirstFaseQty (item) = "Total tokens emitidos en I Fase Pre-ICO"
114114
115115
116116 func getValueFirstFaseQty (item) = getStrByKey(getKeyFirstFaseQty(item))
117117
118118
119119 func getKeyNomTokenPrice (item) = "10.00 Euros"
120120
121121
122122 func getKeyItemPriceSupplier (item) = "_waves"
123123
124124
125125 func getValueItemPriceSupplier (item) = getNumberByKey(getKeyItemPriceSupplier(item))
126126
127127
128128 func getKeyMaxDescuento (item) = "Máximo Descuento Ofrecido en I Etapa, %:"
129129
130130
131131 func getValueMaxDescuento (item) = getNumberByKey(getKeyMaxDescuento(item))
132132
133133
134134 func getKeyMinTokenPrice (item) = "8.80 Euros por 1 token Bit-CO2"
135135
136136
137137 func getKeyUserItemCounter (user,item) = "Order_№:"
138138
139139
140140 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
141141
142142
143143 func getKeyUserName (item) = "Nombre del Usuario:"
144144
145145
146146 func getValueUserName (item) = getStrByKey(getKeyUserName(item))
147147
148148
149149 func getKeyUserDocument (item) = "№ de Documento Nacional de Identidad / DNI del Usuario:"
150150
151151
152152 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
153153
154154
155155 func getKeyUserCountry (item) = "País del Usuario:"
156156
157157
158158 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
159159
160160
161161 func getKeyItemDiscountUser (item) = "Descuento elejido por el Usuario, %:"
162162
163163
164164 func getValueItemDiscountUser (item) = getNumberByKey(getKeyItemDiscountUser(item))
165165
166166
167167 func getKeyItemDiscountSupplier (item) = "SupplierDiscount, max_%:"
168168
169169
170170 func getValueItemDiscountSupplier (item) = getNumberByKey(getKeyItemDiscountSupplier(item))
171171
172172
173173 func getKeyItemUserOrderQty (item) = "Orden de Compra, cantidad solicitada:"
174174
175175
176176 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
177177
178178
179179 func getKeySaldoTokenQtyStartEtapa (item) = "Tokens Ofertados en la presente etapa / Saldo:"
180180
181181
182182 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
183183
184184
185185 func getKeyBalanceQtySupplier (item) = "Balance/Saldo, tokens:"
186186
187187
188188 func getValueBalanceQtySupplier (item) = getNumberByKey(getKeyBalanceQtySupplier(item))
189189
190190
191191 func getKeyBalanceSupplier (supplier) = "Ingresos por Venta Directa / BlockChain:"
192192
193193
194194 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
195195
196196
197197 func getKeyUI (item) = "UI,_wvs:"
198198
199199
200200 func getValueUI (item) = getNumberByKey(getKeyUI(item))
201201
202202
203203 func getKeyPI (item) = "PI,_%:"
204204
205205
206206 func getValuePI (item) = getNumberByKey(getKeyPI(item))
207207
208208
209209 func getKeySI (item) = "SI,_%:"
210210
211211
212212 func getValueSI (item) = getNumberByKey(getKeySI(item))
213213
214214
215215 func getKeyItemData (item) = "description: "
216216
217217
218218 @Callable(i)
219219 func deposit (title,supplierData) = {
220220 let pmt = extract(i.payment)
221221 if ((pmt.assetId != xBitCO2))
222222 then throw("deposito permitido solo en xBitCO2 tokens")
223223 else {
224224 let supplier = toBase58String(i.caller.bytes)
225225 let currentAmount = match getInteger(this, supplier) {
226226 case a: Int =>
227227 a
228228 case _ =>
229229 startQty
230230 }
231231 let newAmount = (currentAmount + pmt.amount)
232232 if ((0 >= newAmount))
233233 then throw("No hay xBitCO2 en su balance")
234234 else WriteSet([DataEntry(supplier, newAmount)])
235235 }
236236 }
237237
238238
239239
240240 @Callable(i)
241241 func purchase (item,userName,userCountry,userDiscount,orderQty) = {
242242 let pmt = extract(i.payment)
243243 if (isDefined(pmt.assetId))
244244 then throw("En la presente Plastaforma Ud. puede adquirir sus tokens xBitCO2 usando WavesKeeper y su token de pago Waves.")
245245 else {
246246 let supplier = match getString(this, getKeyItemSupplier(item)) {
247247 case a: String =>
248248 a
249249 case _ =>
250250 NONE
251251 }
252252 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
253253 case a: Int =>
254254 a
255255 case _ =>
256256 startQty
257257 }
258258 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
259259 case a: Int =>
260260 a
261261 case _ =>
262262 0
263263 }
264264 let userAddress = toBase58String(i.caller.bytes)
265265 let currentTokenPrice = ((((100 - userDiscount) * nomPrice) * wvs) / 100)
266266 let totalAmount = (orderQty * currentTokenPrice)
267267 if ((totalAmount > pmt.amount))
268268 then throw("Payment Amount can't be less than item Purchase Order")
269269 else if ((pmt.amount > totalAmount))
270270 then throw("Payment Amount can't be higher than item Purchase Order")
271271 else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), " Reserva Forestal Amazónica"), DataEntry(getKeyProjectType(item), " Conservación / Emisión de CO2 Evitada"), DataEntry(getKeyProjectCountry(item), " Ecuador"), DataEntry(getKeyProjectName(item), " Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCode(item), " 001-EC/SGT - ACHUARKAPAWI-01"), DataEntry(getKeyItemSupplier(supplier), getValueItemSupplier(supplier)), DataEntry("Emisor:", " Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), " Fundación Ecológica 'NASE'"), DataEntry("Fases del Proyecto, Pre-ICO:", " I y II Fase"), DataEntry("Cantidad Total de Tokens Bit-CO2 a Emitir en I y II Fase Pre-ICO:", startQty), DataEntry("Precio Nominal, 1 token Bit-CO2:", " 10.00 Euros"), DataEntry(getKeyMaxDescuento(item), " 12.00"), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyItemDiscountUser(item), userDiscount), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("tokenPrice/Supplier, wvs", (nomPrice * wvs)), DataEntry("tokenPrice/User, wvs", currentTokenPrice), DataEntry("investedAmount/User, wvs", totalAmount), DataEntry("purchaseOrder/Status:", "¡Adquisición Confirmada!"), DataEntry(getKeyBalanceQtySupplier(item), (preIcoQty - orderQty)), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (preIcoQty - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount)), DataEntry("Dirección del Proyecto en Waves-BlockChain:", " 3N5v9ndbkGSWy1SfeJSz94tYU8qVNTUJV2q ")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), orderQty, xBitCO2)]))
272272 }
273273 }
274274
275275
276276
277277 @Callable(i)
278278 func AddSupplierToken (title,name,country,preIcoQty,supplierDiscount,supplierData) = {
279279 let supplier = toBase58String(i.caller.bytes)
280280 let item = getKeyItem(supplier, title)
281281 if ((0 >= preIcoQty))
282282 then throw("Sorry, insufficient token offer")
283283 else WriteSet([DataEntry(("Supplier:_" + getKeyProjectDev(item)), supplier), DataEntry(("Title:_" + supplier), title), DataEntry(("ProjectName:_" + supplier), name), DataEntry(("Country:_" + supplier), country), DataEntry(getKeyBalanceQtySupplier(item), preIcoQty), DataEntry(("NomTokenPrice:_" + getKeyItemPriceSupplier(item)), (nomPrice * wvs)), DataEntry(("Max_Descuento_ofrecido:" + getKeyItemDiscountSupplier(item)), supplierDiscount), DataEntry(("Development:_" + getKeyItemData(item)), supplierData)])
284284 }
285285
286286
287287
288288 @Callable(i)
289289 func purchaseGTS (item,userName,userDocument,totalAmount) = {
290290 let pmt = extract(i.payment)
291291 if (isDefined(pmt.assetId))
292292 then throw("El Precio de los aves.")
293293 else {
294294 let supplier = match getString(this, getKeyItemSupplier(item)) {
295295 case a: String =>
296296 a
297297 case _ =>
298298 NONE
299299 }
300300 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
301301 case a: Int =>
302302 a
303303 case _ =>
304304 startQty
305305 }
306306 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
307307 case a: Int =>
308308 a
309309 case _ =>
310310 0
311311 }
312312 let userAddress = toBase58String(i.caller.bytes)
313313 let subTotal = (totalAmount - ((igv * totalAmount) / 100))
314314 let uI = ((subTotal * uIP) / 100)
315315 let uBI = (uI / cPB)
316316 let pI = ((subTotal * pIP) / 100)
317317 let eI = ((subTotal * eIP) / 100)
318318 let eBI = ((subTotal * eIP) / (cPB * 100))
319319 let sI = ((totalAmount - pI) - eI)
320320 let sBI = ((subTotal * sIP) / (cPB * 100))
321321 if ((totalAmount > pmt.amount))
322322 then throw("Payment Amount can't be less than item Purchase Order")
323323 else if ((pmt.amount > totalAmount))
324324 then throw("Payment Amount can't be higher than item Purchase Order")
325325 else ScriptResult(WriteSet([DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserName(item), userName), DataEntry(getKeyUserDocument(item), userDocument), DataEntry("Payment_amount,_wvs", totalAmount), DataEntry("Imp, %", igv), DataEntry("STtl, wvs", subTotal), DataEntry("CP 1 B, wvs", (cPB * 1000000)), DataEntry(getKeyUI(item), uI), DataEntry("UBI", uBI), DataEntry(getKeyPI(item), pI), DataEntry("EcSys", eBI), DataEntry(("Order_Status:_" + userAddress), "Adquisición Confirmada!"), DataEntry(getKeySI(item), sI), DataEntry("SBI: b", sBI), DataEntry(getKeyBalanceSupplier(supplier), (balanceSupplier + pmt.amount))]), TransferSet([ScriptTransfer(i.caller, uBI, xBitCO2), ScriptTransfer(pAdd, pI, unit), ScriptTransfer(issuer, sI, unit), ScriptTransfer(issuer, sBI, xBitCO2), ScriptTransfer(eAdd, eI, unit), ScriptTransfer(eAdd, eBI, xBitCO2)]))
326326 }
327327 }
328328
329329
330330
331331 @Callable(i)
332332 func AddVendedorGTS (title,name,country,preIcoQty,supplierDiscount,supplierData) = {
333333 let supplier = toBase58String(i.caller.bytes)
334334 let item = getKeyItem(supplier, title)
335335 if ((0 >= preIcoQty))
336336 then throw("Sorry, insufficient token offer")
337337 else WriteSet([DataEntry(("Supplier:_" + getKeyProjectDev(item)), supplier), DataEntry(("Title:_" + supplier), title), DataEntry(("ProjectName:_" + supplier), name), DataEntry(("Country:_" + supplier), country), DataEntry(getKeyBalanceQtySupplier(item), preIcoQty), DataEntry(("NomTokenPrice:_" + getKeyItemPriceSupplier(item)), (nomPrice * wvs)), DataEntry(("Max_Descuento_ofrecido:" + getKeyItemDiscountSupplier(item)), supplierDiscount), DataEntry(("Development:_" + getKeyItemData(item)), supplierData)])
338338 }
339339
340340
341341
342342 @Callable(i)
343343 func withdraw (item,amount) = {
344344 let userAddress = toBase58String(i.caller.bytes)
345345 let supplier = match getString(this, getKeyItemSupplier(item)) {
346346 case a: String =>
347347 a
348348 case _ =>
349349 NONE
350350 }
351351 let preIcoQty = match getInteger(this, getKeyBalanceQtySupplier(item)) {
352352 case a: Int =>
353353 a
354354 case _ =>
355355 startQty
356356 }
357357 let newAmount = (preIcoQty - amount)
358358 if ((0 > amount))
359359 then throw("El balance de retiro no puede ser negativo!")
360360 else if ((0 >= newAmount))
361361 then throw("Ooppss.. Insuficiente balance!")
362362 else ScriptResult(WriteSet([DataEntry(item, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, xBitCO2)]))
363363 }
364364
365365
366366 @Verifier(tx)
367367 func verify () = match tx {
368368 case t: SetScriptTransaction =>
369369 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
370370 case d: DataTransaction|ReissueTransaction =>
371371 true
372372 case tx: TransferTransaction =>
373373 true
374374 case tx: ExchangeTransaction =>
375375 let withWaves = if (!(isDefined(tx.sellOrder.assetPair.priceAsset)))
376376 then true
377377 else !(isDefined(tx.sellOrder.assetPair.amountAsset))
378378 withWaves
379379 case _ =>
380380 false
381381 }
382382

github/deemru/w8io/026f985 
49.13 ms