tx · 5zF4XnfFjrBxDNzZsQphR8zT2qZwBQXStX4839s2zf5p

3N1ANGT1c7FMseQTA1Zn5y7n4WBxC5DGssk:  -0.01000000 Waves

2021.11.03 15:41 [1774815] smart account 3N1ANGT1c7FMseQTA1Zn5y7n4WBxC5DGssk > SELF 0.00000000 Waves

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

github/deemru/w8io/873ac7e 
28.58 ms