tx · AQJYmaiJ8DFd9hD7gkyQK4b9oQXLVuefTCB9Bk7hYpRF

3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL:  -0.01000000 Waves

2021.10.31 20:21 [1770778] smart account 3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL > SELF 0.00000000 Waves

{ "type": 13, "id": "AQJYmaiJ8DFd9hD7gkyQK4b9oQXLVuefTCB9Bk7hYpRF", "fee": 1000000, "feeAssetId": null, "timestamp": 1635700955914, "version": 2, "chainId": 84, "sender": "3N9DpWDvNPnq3wuuyh2cGk9hcKfoke9CCfL", "senderPublicKey": "A695BnQcmLqEPwcN5kdhv4bHipgdE4FnM5CBEMtA95Mo", "proofs": [ "5ZDzLzFW9GhQvHPNiKjaFpvq4ppvRrCTe2GScYyCSh3c4evH4PJswnaaLGDX1yb8WMwXVyse69u9z4LFiQ2Uv13x" ], "script": "base64:AAIDAAAAAAAAAAsIARIHCgUICAgBAQAAAC0AAAAAB3hCaXRDTzIBAAAAICAEZKaqA3sNb6aq+pclWLOWiXpTDP/vusZoh2yDVNyNAAAAAA1zdGFydFRvdGFsUXR5AAAAAAAABKodAAAAAAxGaXJzdEZhc2VRdHkAAAAAAAAAK7kAAAAADVNlY29uZEZhc2VRdHkAAAAAAAAEMEQAAAAAA3d2cwAAAAAABfXhAAAAAAAETk9ORQIAAAAEbm9uZQAAAAALdG90YWxBbW91bnQAAAAAAAKZwvcAAAAABWV1cm91AAAAAAAAAAB0AAAAAAV1c2RudwAAAAAAAAAJ6wAAAAAFYmNvMmUAAAAAAAAAAAoAAAAAC093bmVyUHViS2V5AQAAACCHCjavfZLifVnrQ+Ec26hgaELdz++KhfvmPcJbb2x8dgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAABVnZXRLZXlQcm9qZWN0Q2F0ZWdvcnkAAAABAAAABGl0ZW0CAAAAC0NhdGVnb3LDrWE6AQAAABdnZXRWYWx1ZVByb2plY3RDYXRlZ29yeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFWdldEtleVByb2plY3RDYXRlZ29yeQAAAAEFAAAABGl0ZW0BAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAIc3VwcGxpZXIJAAEsAAAAAgUAAAAIc3VwcGxpZXICAAAAI0NvbXVuaWRhZCBBY2h1YXIgS2FwYXdpIGRlbCBFY3VhZG9yAQAAABFnZXRLZXlQcm9qZWN0TmFtZQAAAAEAAAAEaXRlbQIAAAAUTm9tYnJlIGRlbCBQcm95ZWN0bzoBAAAAE2dldFZhbHVlUHJvamVjdE5hbWUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABFnZXRLZXlQcm9qZWN0TmFtZQAAAAEFAAAABGl0ZW0BAAAAFGdldEtleVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtAgAAABNQYcOtcyB8IFViaWNhY2nDs246AQAAABZnZXRWYWx1ZVByb2plY3RDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAUZ2V0S2V5UHJvamVjdENvdW50cnkAAAABBQAAAARpdGVtAQAAABFnZXRLZXlQcm9qZWN0Q29kZQAAAAEAAAAEaXRlbQIAAAAIQ8OzZGlnbzoBAAAAE2dldFZhbHVlUHJvamVjdENvZGUAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABFnZXRLZXlQcm9qZWN0Q29kZQAAAAEFAAAABGl0ZW0BAAAAF2dldEtleVByb2plY3RQcm9waWV0YXJ5AAAAAQAAAARpdGVtAgAAAChQcm9waWV0YXJpbyB8IEJlbmVmaWNpYXJpbyBkZWwgUHJveWVjdG86AQAAABlnZXRWYWx1ZVByb2plY3RQcm9waWV0YXJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAXZ2V0S2V5UHJvamVjdFByb3BpZXRhcnkAAAABBQAAAARpdGVtAQAAABBnZXRLZXlQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgIAAAAiRGVzYXJyb2xsYWRvciB8IFJlc3BvbnNhYmxlIExlZ2FsOgEAAAASZ2V0VmFsdWVQcm9qZWN0RGV2AAAAAQAAAAhzdXBwbGllcgkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleVByb2plY3REZXYAAAABBQAAAAhzdXBwbGllcgEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQAAAARpdGVtAgAAADxUb2tlbnMgb2ZlcnRhZG9zIHBhcmEgVXN1YXJpb3N8aW52ZXJzb3JlcyBlbiBGYXNlIEkgUHJlLUlDTzoBAAAAFGdldFZhbHVlRmlyc3RGYXNlUXR5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEAAAAEaXRlbQIAAAAgUHJlY2lvIE5vbWluYWwsIDEgdG9rZW4gQml0LUNPMjoBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEAAAAEaXRlbQIAAAAwUHJlY2lvIGRlIDEgdG9rZW4gQml0LUNPMiBjb24gZGVzY3VlbnRvIGVsZWppZG86AQAAABpnZXRWYWx1ZURlc2N1ZW50bzZUb2tQcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEFAAAABGl0ZW0BAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQAAAARpdGVtAgAAADBTYWxkbyBkZSB0b2tlbnMgZW4gb2ZlcnRhIGNvbiBkY3RvIG3DoXguIGRlbCA2JToBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAB1nZXRLZXlTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtAgAAAApPcmRlcl/ihJY6AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQAAAARpdGVtAgAAADFEb2N1bWVudG8gTmFjaW9uYWwgZGUgSWRlbnRpZGFkLCBETkkgZGVsIFVzdWFyaW86AQAAABRnZXRWYWx1ZVVzZXJEb2N1bWVudAAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleVVzZXJEb2N1bWVudAAAAAEFAAAABGl0ZW0BAAAAEWdldEtleVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtAgAAACBQYcOtcyBkZSBSZXNpZGVuY2lhIGRlbCBVc3VhcmlvOgEAAAATZ2V0VmFsdWVVc2VyQ291bnRyeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEWdldEtleVVzZXJDb3VudHJ5AAAAAQUAAAAEaXRlbQEAAAATZ2V0S2V5RGlzY291bnQ2VXNlcgAAAAEAAAAEaXRlbQIAAAAtRGVzY3VlbnRvIGEgZWxlY2Npw7NuIHZvbHVudGFyaWEsIG3DoXhpbW8gNiU6AQAAABVnZXRWYWx1ZURpc2NvdW50NlVzZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABNnZXRLZXlEaXNjb3VudDZVc2VyAAAAAQUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEAAAAEaXRlbQIAAAAeQ2FudGlkYWQgZGUgdG9rZW5zIGEgYWRxdWlyaXI6AQAAABhnZXRWYWx1ZUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtVXNlck9yZGVyUXR5AAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgIAAAAoSW5ncmVzb3MgcG9yIFZlbnRhIERpcmVjdGEgLyBCbG9ja0NoYWluOgEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIAAAABAAAAAWkBAAAACHB1cmNoYXNlAAAABQAAAARpdGVtAAAADHVzZXJEb2N1bWVudAAAAAt1c2VyQ291bnRyeQAAAAx1c2VyRGlzY291bnQAAAAIb3JkZXJRdHkEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAE5VZC4gcHVlZGUgYWRxdWlyaXIgdG9rZW5zIHhCaXRDTzIgdXNhbmRvIFdhdmVzS2VlcGVyIHkgc3UgdG9rZW4gZGUgcGFnbyBXYXZlcy4EAAAACHN1cHBsaWVyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUEAAAACXByZUljb1F0eQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAD2JhbGFuY2VTdXBwbGllcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALdXNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFZGVzYzEJAABlAAAAAgAAAAAAAAAD6AUAAAAMdXNlckRpc2NvdW50BAAAAAlkc2N0RnJhY3QJAABrAAAAAwkAAGgAAAACCQAAaAAAAAIJAABoAAAAAgkAAGUAAAACAAAAAAAAAAPoBQAAAAx1c2VyRGlzY291bnQFAAAABWJjbzJlBQAAAAVldXJvdQAAAAAAAAAnEAUAAAADd3ZzAAAAAAAAAAPoBAAAABFjdXJyZW50VG9rZW5QcmljZQkAAGsAAAADBQAAAAlkc2N0RnJhY3QAAAAAAAAAAAEFAAAABXVzZG53BAAAAAx0b3RhbEFtb3VudDEJAABoAAAAAgkAAGgAAAACBQAAAAhvcmRlclF0eQUAAAARY3VycmVudFRva2VuUHJpY2UJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGSEFMRlVQAwkAAGYAAAACBQAAAAt0b3RhbEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAA1UGF5bWVudCBBbW91bnQgY2FuJ3QgYmUgbGVzcyB0aGFuIGl0ZW0gUHVyY2hhc2UgT3JkZXIDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAt0b3RhbEFtb3VudAkAAAIAAAABAgAAADdQYXltZW50IEFtb3VudCBjYW4ndCBiZSBoaWdoZXIgdGhhbiBpdGVtIFB1cmNoYXNlIE9yZGVyCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleVByb2plY3RDYXRlZ29yeQAAAAEFAAAABGl0ZW0CAAAAFkNvbnNlcnZhY2nDs24gRm9yZXN0YWwJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRLZXlQcm9qZWN0TmFtZQAAAAEFAAAABGl0ZW0CAAAAIFJlc2VydmEgQW1hesOzbmljYSBBY2h1YXItS2FwYXdpCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAUZ2V0S2V5UHJvamVjdENvdW50cnkAAAABBQAAAARpdGVtAgAAAAdFY3VhZG9yCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0S2V5UHJvamVjdENvZGUAAAABBQAAAARpdGVtAgAAABkwMS1FQ19BQ0gtS0FQQVdJXzAxUFJFSUNPCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAXZ2V0S2V5UHJvamVjdFByb3BpZXRhcnkAAAABBQAAAARpdGVtAgAAABdDb211bmlkYWQgQWNodWFyIEthcGF3aQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVByb2plY3REZXYAAAABBQAAAAhzdXBwbGllcgIAAAAkRnVuZGFjacOzbiBBbGlhbnphIEVjb2zDs2dpY2EgJ05BU0UnCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEFAAAABGl0ZW0CAAAACzEwLjAwIEV1cm9zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAADpDYW50aWRhZCBkZSBUb2tlbnMgQml0LUNPMiBhIGVtaXRpciBlbiBGYXNlIEkgeSBJSSBQcmUtSUNPBQAAAA1zdGFydFRvdGFsUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5Rmlyc3RGYXNlUXR5AAAAAQUAAAAEaXRlbQUAAAAMRmlyc3RGYXNlUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0S2V5RGVzY3VlbnRvNlRva1ByaWNlAAAAAQUAAAAEaXRlbQUAAAARY3VycmVudFRva2VuUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAGFBydWViYSBjdXJyZW50VG9rZW5QcmljZQUAAAARY3VycmVudFRva2VuUHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleVVzZXJEb2N1bWVudAAAAAEFAAAABGl0ZW0FAAAADHVzZXJEb2N1bWVudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldEtleVVzZXJDb3VudHJ5AAAAAQUAAAAEaXRlbQUAAAALdXNlckNvdW50cnkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABNnZXRLZXlEaXNjb3VudDZVc2VyAAAAAQUAAAAEaXRlbQUAAAAMdXNlckRpc2NvdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABNTdW1hIGludmVydGlkYSwgd3ZzBQAAAAt0b3RhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALU3VtYSAyLCB3dnMFAAAADHRvdGFsQW1vdW50MQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAURXN0YWRvIGRlIHN1IHBlZGlkbzoCAAAAGsKhQWRxdWlzaWNpw7NuIENvbmZpcm1hZGEhCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAdZ2V0S2V5U2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtCQAAZAAAAAIJAQAAAB9nZXRWYWx1ZVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQUAAAAIb3JkZXJRdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAD1NhbGRvIGRlIFRva2VucwkAAGUAAAACCQAAZQAAAAIFAAAADEZpcnN0RmFzZVF0eQkBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyCAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAsRGlyZWNjacOzbiBkZWwgcHJveWVjdG8gZW4gV2F2ZXMtQmxvY2tDaGFpbjoCAAAAIzNOOURwV0R2TlBucTN3dXV5aDJjR2s5aGNLZm9rZTlDQ2ZMBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAIb3JkZXJRdHkFAAAAB3hCaXRDTzIFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAC093bmVyUHViS2V5AwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAASUmVpc3N1ZVRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAAAWQFAAAAByRtYXRjaDAGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAnR4BQAAAAckbWF0Y2gwBAAAAAl3aXRoV2F2ZXMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAJYXNzZXRQYWlyAAAACnByaWNlQXNzZXQGCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAgIBQAAAAJ0eAAAAAlzZWxsT3JkZXIAAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BQAAAAl3aXRoV2F2ZXMHXPHzsA==", "height": 1770778, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7cQ13Mq2ZBvW8EaqEjpS14BXuvTs3h5nVKHgBg3mtxeP Next: GUPYM7N4YmjykHJ8Rg2NJi6uVgWqdW8SKVveGWkSF2N7 Diff:
OldNewDifferences
167167 }
168168 let userAddress = toBase58String(i.caller.bytes)
169169 let desc1 = (1000 - userDiscount)
170- let currentTokenPrice = (((((desc1 * bco2e) * eurou) * 1000000000000) / 1000) / usdnw)
171- let totalAmount1 = (((orderQty * 10000) * currentTokenPrice) / 10000000)
170+ let dsctFract = fraction(((((1000 - userDiscount) * bco2e) * eurou) * 10000), wvs, 1000)
171+ let currentTokenPrice = fraction(dsctFract, 1, usdnw)
172+ let totalAmount1 = ((orderQty * currentTokenPrice) * pow(10, 0, 12, 0, 0, HALFUP))
172173 if ((totalAmount > pmt.amount))
173174 then throw("Payment Amount can't be less than item Purchase Order")
174175 else if ((pmt.amount > totalAmount))
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 totalAmount = 43631351
1717
1818 let eurou = 116
1919
2020 let usdnw = 2539
2121
2222 let bco2e = 10
2323
2424 let OwnerPubKey = base58'A695BnQcmLqEPwcN5kdhv4bHipgdE4FnM5CBEMtA95Mo'
2525
2626 func getNumberByKey (key) = {
2727 let num = match getInteger(this, key) {
2828 case a: Int =>
2929 a
3030 case _ =>
3131 0
3232 }
3333 num
3434 }
3535
3636
3737 func getStrByKey (key) = {
3838 let str = match getString(this, key) {
3939 case a: String =>
4040 a
4141 case _ =>
4242 NONE
4343 }
4444 str
4545 }
4646
4747
4848 func getKeyProjectCategory (item) = "Categoría:"
4949
5050
5151 func getValueProjectCategory (item) = getStrByKey(getKeyProjectCategory(item))
5252
5353
5454 func getKeyItemSupplier (supplier) = (supplier + "Comunidad Achuar Kapawi del Ecuador")
5555
5656
5757 func getKeyProjectName (item) = "Nombre del Proyecto:"
5858
5959
6060 func getValueProjectName (item) = getStrByKey(getKeyProjectName(item))
6161
6262
6363 func getKeyProjectCountry (item) = "País | Ubicación:"
6464
6565
6666 func getValueProjectCountry (item) = getStrByKey(getKeyProjectCountry(item))
6767
6868
6969 func getKeyProjectCode (item) = "Código:"
7070
7171
7272 func getValueProjectCode (item) = getStrByKey(getKeyProjectCode(item))
7373
7474
7575 func getKeyProjectPropietary (item) = "Propietario | Beneficiario del Proyecto:"
7676
7777
7878 func getValueProjectPropietary (item) = getStrByKey(getKeyProjectPropietary(item))
7979
8080
8181 func getKeyProjectDev (supplier) = "Desarrollador | Responsable Legal:"
8282
8383
8484 func getValueProjectDev (supplier) = getStrByKey(getKeyProjectDev(supplier))
8585
8686
8787 func getKeyFirstFaseQty (item) = "Tokens ofertados para Usuarios|inversores en Fase I Pre-ICO:"
8888
8989
9090 func getValueFirstFaseQty (item) = getStrByKey(getKeyFirstFaseQty(item))
9191
9292
9393 func getKeyNomTokenPrice (item) = "Precio Nominal, 1 token Bit-CO2:"
9494
9595
9696 func getKeyDescuento6TokPrice (item) = "Precio de 1 token Bit-CO2 con descuento elejido:"
9797
9898
9999 func getValueDescuento6TokPrice (item) = getNumberByKey(getKeyDescuento6TokPrice(item))
100100
101101
102102 func getKeySaldoTokenQtyStartEtapa (item) = "Saldo de tokens en oferta con dcto máx. del 6%:"
103103
104104
105105 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
106106
107107
108108 func getKeyUserItemCounter (user,item) = "Order_№:"
109109
110110
111111 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
112112
113113
114114 func getKeyUserDocument (item) = "Documento Nacional de Identidad, DNI del Usuario:"
115115
116116
117117 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
118118
119119
120120 func getKeyUserCountry (item) = "País de Residencia del Usuario:"
121121
122122
123123 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
124124
125125
126126 func getKeyDiscount6User (item) = "Descuento a elección voluntaria, máximo 6%:"
127127
128128
129129 func getValueDiscount6User (item) = getNumberByKey(getKeyDiscount6User(item))
130130
131131
132132 func getKeyItemUserOrderQty (item) = "Cantidad de tokens a adquirir:"
133133
134134
135135 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
136136
137137
138138 func getKeyBalanceSupplier (supplier) = "Ingresos por Venta Directa / BlockChain:"
139139
140140
141141 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
142142
143143
144144 @Callable(i)
145145 func purchase (item,userDocument,userCountry,userDiscount,orderQty) = {
146146 let pmt = extract(i.payment)
147147 if (isDefined(pmt.assetId))
148148 then throw("Ud. puede adquirir tokens xBitCO2 usando WavesKeeper y su token de pago Waves.")
149149 else {
150150 let supplier = match getString(this, getKeyItemSupplier(item)) {
151151 case a: String =>
152152 a
153153 case _ =>
154154 NONE
155155 }
156156 let preIcoQty = match getInteger(this, getKeySaldoTokenQtyStartEtapa(item)) {
157157 case a: Int =>
158158 a
159159 case _ =>
160160 0
161161 }
162162 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
163163 case a: Int =>
164164 a
165165 case _ =>
166166 0
167167 }
168168 let userAddress = toBase58String(i.caller.bytes)
169169 let desc1 = (1000 - userDiscount)
170- let currentTokenPrice = (((((desc1 * bco2e) * eurou) * 1000000000000) / 1000) / usdnw)
171- let totalAmount1 = (((orderQty * 10000) * currentTokenPrice) / 10000000)
170+ let dsctFract = fraction(((((1000 - userDiscount) * bco2e) * eurou) * 10000), wvs, 1000)
171+ let currentTokenPrice = fraction(dsctFract, 1, usdnw)
172+ let totalAmount1 = ((orderQty * currentTokenPrice) * pow(10, 0, 12, 0, 0, HALFUP))
172173 if ((totalAmount > pmt.amount))
173174 then throw("Payment Amount can't be less than item Purchase Order")
174175 else if ((pmt.amount > totalAmount))
175176 then throw("Payment Amount can't be higher than item Purchase Order")
176177 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(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("Cantidad de Tokens Bit-CO2 a emitir en Fase I y II Pre-ICO", startTotalQty), DataEntry(getKeyFirstFaseQty(item), FirstFaseQty), DataEntry(getKeyDescuento6TokPrice(item), currentTokenPrice), DataEntry("Prueba currentTokenPrice", currentTokenPrice), DataEntry(getKeyUserItemCounter(userAddress, item), (getValueUserItemCounter(userAddress, item) + 1)), DataEntry(getKeyUserDocument(item), userDocument), DataEntry(getKeyUserCountry(item), userCountry), DataEntry(getKeyDiscount6User(item), userDiscount), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma invertida, wvs", totalAmount), DataEntry("Suma 2, wvs", totalAmount1), DataEntry("Estado de su pedido:", "¡Adquisición Confirmada!"), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de Tokens", ((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)]))
177178 }
178179 }
179180
180181
181182 @Verifier(tx)
182183 func verify () = match tx {
183184 case t: SetScriptTransaction =>
184185 sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
185186 case d: ReissueTransaction|DataTransaction =>
186187 true
187188 case tx: TransferTransaction =>
188189 true
189190 case tx: ExchangeTransaction =>
190191 let withWaves = if (!(isDefined(tx.sellOrder.assetPair.priceAsset)))
191192 then true
192193 else !(isDefined(tx.sellOrder.assetPair.amountAsset))
193194 withWaves
194195 case _ =>
195196 false
196197 }
197198

github/deemru/w8io/169f3d6 
34.50 ms