tx · 2RYyn4HLyfmKNsaEQeM7driNn5NWomnTqu3Yqpy5VK35

3N5xYa3t8rCyBcQvxebBM7Qg9Hjix7PzASV:  -0.00900000 Waves

2022.08.05 15:19 [2171177] smart account 3N5xYa3t8rCyBcQvxebBM7Qg9Hjix7PzASV > SELF 0.00000000 Waves

{ "type": 13, "id": "2RYyn4HLyfmKNsaEQeM7driNn5NWomnTqu3Yqpy5VK35", "fee": 900000, "feeAssetId": null, "timestamp": 1659701998647, "version": 2, "chainId": 84, "sender": "3N5xYa3t8rCyBcQvxebBM7Qg9Hjix7PzASV", "senderPublicKey": "Cyf33duPHeDukNKXnrekipPBeivui6A3LrRgFxLXuQe5", "proofs": [ "fwfKdxZ7Vhg7TgNN4HQNrRMroSxTWr9cUUDa55MndsTtDYpWbjdGPyaXwAy4uLf1pGUgJAhG5DFuzvbtRy4oXE5" ], "script": "base64:AAIDAAAAAAAAAAwIARIICgYICAgBAQEAAAAxAAAAAANTR1QBAAAAILGnwLyipxS3/m8T50CfSy0hX8wn1do2IfMjm00T1WeRAAAAAA1zdGFydFRvdGFsUXR5AAAAAAAABKodAAAAAAxGaXJzdEZhc2VRdHkAAAAAAAAAedkAAAAADVNlY29uZEZhc2VRdHkAAAAAAAAEMEQAAAAAA3d2cwAAAAAABfXhAAAAAAAETk9ORQIAAAAEbm9uZQAAAAAFZXVyb3UAAAAAAAAAAGUAAAAABXVzZG53AAAAAAAAAAJBAAAAAAViY28yZQAAAAAAAAAACgAAAAAKYWRtTjA4U0dUVwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVDkEczCkU/Iu9CUnDhaZyqXscP0ID3xwqQAAAAASYWRtTjA4RUNwakFtYXpTR1Q2CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU0bzI+v0BWU54+fpfjqWsDHFy0/GGgesMAAAAAAphZG1QdWJLZXkxAQAAABoBVBHbBLCFIVQZj6iMNbG8y0EY2yLLPCdidgAAAAAKYWRtUHViS2V5MgEAAAAaAVR5cQ6eC5RLwT7PIqcZVXOG6YBH+0DQRR0AAAAACmFkbVB1YktleTMBAAAAGgFUa4hUwgEGV/+5i/RP9fyNk7nAiqOGbNblAAAAAAphZG1QdWJLZXk0AQAAABoBVGuIVMIBBlf/uYv0T/X8jZO5wIqjhmzW5QEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAABVnZXRLZXlQcm9qZWN0Q2F0ZWdvcnkAAAABAAAABGl0ZW0CAAAAGENhdGVnb3LDrWEgZGVsIFByb3llY3RvOgEAAAAXZ2V0VmFsdWVQcm9qZWN0Q2F0ZWdvcnkAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABVnZXRLZXlQcm9qZWN0Q2F0ZWdvcnkAAAABBQAAAARpdGVtAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQABLAAAAAIFAAAACHN1cHBsaWVyAgAAACNDb211bmlkYWQgQWNodWFyIEthcGF3aSBkZWwgRWN1YWRvcgEAAAARZ2V0S2V5UHJvamVjdE5hbWUAAAABAAAABGl0ZW0CAAAAFE5vbWJyZSBkZWwgUHJveWVjdG86AQAAABNnZXRWYWx1ZVByb2plY3ROYW1lAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5UHJvamVjdE5hbWUAAAABBQAAAARpdGVtAQAAABRnZXRLZXlQcm9qZWN0Q291bnRyeQAAAAEAAAAEaXRlbQIAAAATUGHDrXMgfCBVYmljYWNpw7NuOgEAAAAWZ2V0VmFsdWVQcm9qZWN0Q291bnRyeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAFGdldEtleVByb2plY3RDb3VudHJ5AAAAAQUAAAAEaXRlbQEAAAARZ2V0S2V5UHJvamVjdENvZGUAAAABAAAABGl0ZW0CAAAACEPDs2RpZ286AQAAABNnZXRWYWx1ZVByb2plY3RDb2RlAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5UHJvamVjdENvZGUAAAABBQAAAARpdGVtAQAAABdnZXRLZXlQcm9qZWN0UHJvcGlldGFyeQAAAAEAAAAEaXRlbQIAAAAoUHJvcGlldGFyaW8gfCBCZW5lZmljaWFyaW8gZGVsIFByb3llY3RvOgEAAAAZZ2V0VmFsdWVQcm9qZWN0UHJvcGlldGFyeQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAF2dldEtleVByb2plY3RQcm9waWV0YXJ5AAAAAQUAAAAEaXRlbQEAAAAQZ2V0S2V5UHJvamVjdERldgAAAAEAAAAIc3VwcGxpZXICAAAAIkRlc2Fycm9sbGFkb3IgfCBSZXNwb25zYWJsZSBMZWdhbDoBAAAAEmdldFZhbHVlUHJvamVjdERldgAAAAEAAAAIc3VwcGxpZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABBnZXRLZXlQcm9qZWN0RGV2AAAAAQUAAAAIc3VwcGxpZXIBAAAAE2dldEtleU5vbVRva2VuUHJpY2UAAAABAAAABGl0ZW0CAAAAFlByZWNpbyBOb21pbmFsLCAxIFNHVDoBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEAAAAEaXRlbQIAAAAiUHJlY2lvIGRlIDEgU0dUIGNvbiBkc2N0byBlbGVnaWRvOgEAAAAaZ2V0VmFsdWVEZXNjdWVudG82VG9rUHJpY2UAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRLZXlEZXNjdWVudG82VG9rUHJpY2UAAAABBQAAAARpdGVtAQAAABJnZXRLZXlGaXJzdEZhc2VRdHkAAAABAAAABGl0ZW0CAAAAKUNhbnRpZGFkIGRlIFRva2VucyBvZmVydGFkb3MsIEYxIFByZS1JQ086AQAAABRnZXRWYWx1ZUZpcnN0RmFzZVF0eQAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleUZpcnN0RmFzZVF0eQAAAAEFAAAABGl0ZW0BAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQAAAARpdGVtAgAAACNUb3RhbCBkZSB0b2tlbnMgcmVhbGl6YWRvcywgUHJlLUlDTwEAAAAfZ2V0VmFsdWVTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgIAAAAfRm9uZG9zIGRlc2RlIFRva2VucyBTR1QsIFByZUlDTwEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAACHN1cHBsaWVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtAgAAAApPcmRlcl/ihJY6AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQAAAARpdGVtAgAAADBEb2N1bWVudG8gTmFjaW9uYWwgZGUgSWRlbnRpZGFkLCBETkkgZGVsIFVzdWFyaW8BAAAAFGdldFZhbHVlVXNlckRvY3VtZW50AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5VXNlckRvY3VtZW50AAAAAQUAAAAEaXRlbQEAAAARZ2V0S2V5VXNlckNvdW50cnkAAAABAAAABGl0ZW0CAAAAIFBhw61zIGRlIFJlc2lkZW5jaWEgZGVsIFVzdWFyaW86AQAAABNnZXRWYWx1ZVVzZXJDb3VudHJ5AAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAARZ2V0S2V5VXNlckNvdW50cnkAAAABBQAAAARpdGVtAQAAABNnZXRLZXlEaXNjb3VudDZVc2VyAAAAAQAAAARpdGVtAgAAACNQb3JjZW50YWplIGRlIGRlc2N1ZW50byBlbGVnaWRvLCAlOgEAAAAVZ2V0VmFsdWVEaXNjb3VudDZVc2VyAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAATZ2V0S2V5RGlzY291bnQ2VXNlcgAAAAEFAAAABGl0ZW0BAAAAFmdldEtleUl0ZW1Vc2VyT3JkZXJRdHkAAAABAAAABGl0ZW0CAAAAHkNhbnRpZGFkIGRlIHRva2VucyBhZHF1aXJpZG9zOgEAAAAYZ2V0VmFsdWVJdGVtVXNlck9yZGVyUXR5AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlL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amVjdENvdW50cnkAAAABBQAAAARpdGVtAgAAAAdFY3VhZG9yCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0S2V5UHJvamVjdENvZGUAAAABBQAAAARpdGVtAgAAABxOMDhFQy0wMV9BQ0gtS0FQQVdJX1BSRUlDT0YxCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAXZ2V0S2V5UHJvamVjdFByb3BpZXRhcnkAAAABBQAAAARpdGVtAgAAABdDb211bmlkYWQgQWNodWFyIEthcGF3aQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldEtleVByb2plY3REZXYAAAABBQAAAAhzdXBwbGllcgIAAAAqRnVuZGFjacOzbiBBbGlhbnphIEVjb2zDs2dpY2EgTkFTRUUgJ0ZBRU4nCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0S2V5Tm9tVG9rZW5QcmljZQAAAAEFAAAABGl0ZW0CAAAACzEwLjAwIEV1cm9zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACt0b2tlbnMgU0dUIGEgZW1pdGlyIGVuIEYxL0YyIFByZUlDTywgdG90YWw6BQAAAA1zdGFydFRvdGFsUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACV0b2tlbnMgU0dUIGVuIG9mZXJ0YSBGMSBQcmVJQ08sIHVuaWRzBQAAAAxGaXJzdEZhc2VRdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAMXRva2VucyBTR1QgZW4gb2ZlcnRhL0ludGVyY2FtYmlvIGVuIEYxLCA5MCUgdW5pZHMFAAAAEWYxUGpPZmVydGFTR1Q5WDEwCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAADJ0b2tlbnMgU0dUIGRlIEFwb3lvIEFkbWluLUluaWNpYWwgZW4gRjEsIDEwJSB1bmlkcwUAAAAYZjFQalN0YXJ0QWRtRm9uZHNTR1QxWDEwCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAACZ0b2tlbnMgU0dUIGVuIG9mZXJ0YSBGMiBQcmVJQ08sIHVuaWRzLgUAAAANU2Vjb25kRmFzZVF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAsQ3RhLiBkZSBBcG95by1BZG1pbiBkZWwgUHJveWVjdG8sIGJsb2NrY2hhaW4CAAAAIzNOOTM1QTJpV3VHSDNBbWlmcEhWbVFqb2FBN0tOWDZFMWZSCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0JAABkAAAAAgkBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0AAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlVc2VyRG9jdW1lbnQAAAABBQAAAARpdGVtBQAAAAx1c2VyRG9jdW1lbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABFnZXRLZXlVc2VyQ291bnRyeQAAAAEFAAAABGl0ZW0FAAAAC3VzZXJDb3VudHJ5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0S2V5RGlzY291bnQ2VXNlcgAAAAEFAAAABGl0ZW0FAAAADHVzZXJEaXNjb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEtleURlc2N1ZW50bzZUb2tQcmljZQAAAAEFAAAABGl0ZW0FAAAAEWN1cnJlbnRUb2tlblByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABxFc3RhZG8gZGUgc3UgcGVkaWRvLCB0b2tlbnM6AgAAABrCoUFkcXVpc2ljacOzbiBDb25maXJtYWRhIQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFmdldEtleUl0ZW1Vc2VyT3JkZXJRdHkAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAhU3VtYSB0cmFuc21pdGlkYSBhIGxhIFByZUlDTywgd3ZzBQAAAAt0b3RhbEFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHWdldEtleVNhbGRvVG9rZW5RdHlTdGFydEV0YXBhAAAAAQUAAAAEaXRlbQkAAGQAAAACCQEAAAAfZ2V0VmFsdWVTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAC9TYWxkbyBkZSB0b2tlbnMgU0dUIGVuIG9mZXJ0YSBGMSBQcmVJQ08sIHVuaWRzLgkAAGUAAAACCQAAZQAAAAIFAAAADEZpcnN0RmFzZVF0eQkBAAAAH2dldFZhbHVlU2FsZG9Ub2tlblF0eVN0YXJ0RXRhcGEAAAABBQAAAARpdGVtBQAAAAhvcmRlclF0eQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAsU2FsZG8gZGUgVG9rZW5zIFNHVCBlbiBQcmVJQ08gQWNodWFyLUthcGF3aToJAABlAAAAAgkAAGUAAAACBQAAAA1zdGFydFRvdGFsUXR5CQEAAAAfZ2V0VmFsdWVTYWxkb1Rva2VuUXR5U3RhcnRFdGFwYQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIJAABkAAAAAgkBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAIc3VwcGxpZXIIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAC5DdGEuIEFkbWluIFNHVCBkZWwgRWNvc2lzdGVtYSBOMDgsIGJsb2NrY2hhaW46AgAAACMzTXU3WmQzVXNTRmljYWY0NXZVRlRwVnNUWkpXZ1R0dkJoegUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAALdXNlckFkZHJlc3MJAABoAAAAAgAAAAAAAAAnEAUAAAAIb3JkZXJRdHkFAAAAA1NHVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAphZG1OMDhTR1RXCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAXwgFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAAGQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAASYWRtTjA4RUNwakFtYXpTR1Q2CQAAaQAAAAIJAABoAAAAAgAAAAAAAAAABQgFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAAGQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACQACWQAAAAECAAAALEN5ZjMzZHVQSGVEdWtOS1hucmVraXBQQmVpdnVpNkEzTHJSZ0Z4TFh1UWU1oNDr8w==", "height": 2171177, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5hPxSPhCduG81rBN7WsX9M56qUtNK52MWEqNqqtPHWzX Next: Z9fwoMaPaGm5kadpD5uRaDQsDcXUHV8W6ah9v63BeLX Diff:
OldNewDifferences
1515
1616 let eurou = 101
1717
18-let usdnw = 478
18+let usdnw = 577
1919
2020 let bco2e = 10
21-
22-let OwnerPubKey = base58'Cyf33duPHeDukNKXnrekipPBeivui6A3LrRgFxLXuQe5'
2321
2422 let admN08SGTW = Address(base58'3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz')
2523
2624 let admN08ECpjAmazSGT6 = Address(base58'3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR')
25+
26+let admPubKey1 = base58'3MqYVdqk5vg2TPCjbNj3pmKHqVLMh7yeyVw'
27+
28+let admPubKey2 = base58'3MzzCyUcpBFkCGjo23eWmQFQfNoGr24JqPi'
29+
30+let admPubKey3 = base58'3MyifPtwHYvFh2J3zkVsxehJkscEsUKHxCk'
31+
32+let admPubKey4 = base58'3MyifPtwHYvFh2J3zkVsxehJkscEsUKHxCk'
2733
2834 func getNumberByKey (key) = {
2935 let num = match getInteger(this, key) {
177183 then throw("Payment Amount can't be less than item Purchase Order")
178184 else if ((pmt.amount > totalAmount))
179185 then throw("Payment Amount can't be higher than item Purchase Order")
180- else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "N08EC-01_ACH-KAPAWI_PREICOF1"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica NASEE 'FAEN'"), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("tokens SGT a emitir en F1/F2 PreICO, total:", startTotalQty), DataEntry("tokens SGT en oferta F1 PreICO, unids", FirstFaseQty), DataEntry("tokens SGT en oferta/Intercambio en F1, 90% unids", f1PjOfertaSGT9X10), DataEntry("tokens SGT de Apoyo Admin-Inicial en F1, 10% unids", f1PjStartAdmFondsSGT1X10), DataEntry("tokens SGT en oferta F2 PreICO, unids.", SecondFaseQty), DataEntry("Cta. de Apoyo-Admin del Proyecto, blockchain", "3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR"), 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("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida a la PreICO, wvs", totalAmount), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de tokens SGT en oferta F1 PreICO, unids.", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry("Saldo de Tokens SGT en PreICO Achuar-Kapawi:", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Cta. Admin SGT del Ecosistema N08, blockchain:", "3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), SGT), ScriptTransfer(admN08SGTW, ((95 * pmt.amount) / 100), unit)]))
186+ else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "N08EC-01_ACH-KAPAWI_PREICOF1"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica NASEE 'FAEN'"), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("tokens SGT a emitir en F1/F2 PreICO, total:", startTotalQty), DataEntry("tokens SGT en oferta F1 PreICO, unids", FirstFaseQty), DataEntry("tokens SGT en oferta/Intercambio en F1, 90% unids", f1PjOfertaSGT9X10), DataEntry("tokens SGT de Apoyo Admin-Inicial en F1, 10% unids", f1PjStartAdmFondsSGT1X10), DataEntry("tokens SGT en oferta F2 PreICO, unids.", SecondFaseQty), DataEntry("Cta. de Apoyo-Admin del Proyecto, blockchain", "3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR"), 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("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida a la PreICO, wvs", totalAmount), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de tokens SGT en oferta F1 PreICO, unids.", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry("Saldo de Tokens SGT en PreICO Achuar-Kapawi:", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Cta. Admin SGT del Ecosistema N08, blockchain:", "3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), SGT), ScriptTransfer(admN08SGTW, ((95 * pmt.amount) / 100), unit), ScriptTransfer(admN08ECpjAmazSGT6, ((5 * pmt.amount) / 100), unit)]))
181187 }
182188 }
183189
184190
185191 @Verifier(tx)
186-func verify () = match tx {
187- case t: SetScriptTransaction =>
188- sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
189- case d: DataTransaction|ReissueTransaction =>
190- true
191- case tx: TransferTransaction =>
192- true
193- case _ =>
194- false
195-}
192+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], fromBase58String("Cyf33duPHeDukNKXnrekipPBeivui6A3LrRgFxLXuQe5"))
196193
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SGT = base58'CxVXPje89EXJUtWEhGAG88t99cxaVWU6DrzniFfjYjig'
55
66 let startTotalQty = 305693
77
88 let FirstFaseQty = 31193
99
1010 let SecondFaseQty = 274500
1111
1212 let wvs = 100000000
1313
1414 let NONE = "none"
1515
1616 let eurou = 101
1717
18-let usdnw = 478
18+let usdnw = 577
1919
2020 let bco2e = 10
21-
22-let OwnerPubKey = base58'Cyf33duPHeDukNKXnrekipPBeivui6A3LrRgFxLXuQe5'
2321
2422 let admN08SGTW = Address(base58'3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz')
2523
2624 let admN08ECpjAmazSGT6 = Address(base58'3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR')
25+
26+let admPubKey1 = base58'3MqYVdqk5vg2TPCjbNj3pmKHqVLMh7yeyVw'
27+
28+let admPubKey2 = base58'3MzzCyUcpBFkCGjo23eWmQFQfNoGr24JqPi'
29+
30+let admPubKey3 = base58'3MyifPtwHYvFh2J3zkVsxehJkscEsUKHxCk'
31+
32+let admPubKey4 = base58'3MyifPtwHYvFh2J3zkVsxehJkscEsUKHxCk'
2733
2834 func getNumberByKey (key) = {
2935 let num = match getInteger(this, key) {
3036 case a: Int =>
3137 a
3238 case _ =>
3339 0
3440 }
3541 num
3642 }
3743
3844
3945 func getStrByKey (key) = {
4046 let str = match getString(this, key) {
4147 case a: String =>
4248 a
4349 case _ =>
4450 NONE
4551 }
4652 str
4753 }
4854
4955
5056 func getKeyProjectCategory (item) = "Categoría del Proyecto:"
5157
5258
5359 func getValueProjectCategory (item) = getStrByKey(getKeyProjectCategory(item))
5460
5561
5662 func getKeyItemSupplier (supplier) = (supplier + "Comunidad Achuar Kapawi del Ecuador")
5763
5864
5965 func getKeyProjectName (item) = "Nombre del Proyecto:"
6066
6167
6268 func getValueProjectName (item) = getStrByKey(getKeyProjectName(item))
6369
6470
6571 func getKeyProjectCountry (item) = "País | Ubicación:"
6672
6773
6874 func getValueProjectCountry (item) = getStrByKey(getKeyProjectCountry(item))
6975
7076
7177 func getKeyProjectCode (item) = "Código:"
7278
7379
7480 func getValueProjectCode (item) = getStrByKey(getKeyProjectCode(item))
7581
7682
7783 func getKeyProjectPropietary (item) = "Propietario | Beneficiario del Proyecto:"
7884
7985
8086 func getValueProjectPropietary (item) = getStrByKey(getKeyProjectPropietary(item))
8187
8288
8389 func getKeyProjectDev (supplier) = "Desarrollador | Responsable Legal:"
8490
8591
8692 func getValueProjectDev (supplier) = getStrByKey(getKeyProjectDev(supplier))
8793
8894
8995 func getKeyNomTokenPrice (item) = "Precio Nominal, 1 SGT:"
9096
9197
9298 func getKeyDescuento6TokPrice (item) = "Precio de 1 SGT con dscto elegido:"
9399
94100
95101 func getValueDescuento6TokPrice (item) = getNumberByKey(getKeyDescuento6TokPrice(item))
96102
97103
98104 func getKeyFirstFaseQty (item) = "Cantidad de Tokens ofertados, F1 Pre-ICO:"
99105
100106
101107 func getValueFirstFaseQty (item) = getStrByKey(getKeyFirstFaseQty(item))
102108
103109
104110 func getKeySaldoTokenQtyStartEtapa (item) = "Total de tokens realizados, Pre-ICO"
105111
106112
107113 func getValueSaldoTokenQtyStartEtapa (item) = getNumberByKey(getKeySaldoTokenQtyStartEtapa(item))
108114
109115
110116 func getKeyBalanceSupplier (supplier) = "Fondos desde Tokens SGT, PreICO"
111117
112118
113119 func getValueBalanceSupplier (supplier) = getNumberByKey(getKeyBalanceSupplier(supplier))
114120
115121
116122 func getKeyUserItemCounter (user,item) = "Order_№:"
117123
118124
119125 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
120126
121127
122128 func getKeyUserDocument (item) = "Documento Nacional de Identidad, DNI del Usuario"
123129
124130
125131 func getValueUserDocument (item) = getStrByKey(getKeyUserDocument(item))
126132
127133
128134 func getKeyUserCountry (item) = "País de Residencia del Usuario:"
129135
130136
131137 func getValueUserCountry (item) = getStrByKey(getKeyUserCountry(item))
132138
133139
134140 func getKeyDiscount6User (item) = "Porcentaje de descuento elegido, %:"
135141
136142
137143 func getValueDiscount6User (item) = getNumberByKey(getKeyDiscount6User(item))
138144
139145
140146 func getKeyItemUserOrderQty (item) = "Cantidad de tokens adquiridos:"
141147
142148
143149 func getValueItemUserOrderQty (item) = getNumberByKey(getKeyItemUserOrderQty(item))
144150
145151
146152 @Callable(i)
147153 func purchaseSGT (item,userDocument,userCountry,userDiscount,orderQty,totalAmount) = {
148154 let pmt = extract(i.payment)
149155 if (isDefined(pmt.assetId))
150156 then throw("Ud. puede adquirir tokens SGT usando WavesKeeper y su token de pago Waves.")
151157 else {
152158 let supplier = match getString(this, getKeyItemSupplier(item)) {
153159 case a: String =>
154160 a
155161 case _ =>
156162 NONE
157163 }
158164 let preIcoQty = match getInteger(this, getKeySaldoTokenQtyStartEtapa(item)) {
159165 case a: Int =>
160166 a
161167 case _ =>
162168 0
163169 }
164170 let balanceSupplier = match getInteger(this, getKeyBalanceSupplier(supplier)) {
165171 case a: Int =>
166172 a
167173 case _ =>
168174 0
169175 }
170176 let userAddress = toBase58String(i.caller.bytes)
171177 let currentTokenPrice = ((((((100 - userDiscount) * bco2e) * eurou) * wvs) / 100) / usdnw)
172178 let f1PjOfertaSGT9X10 = (((9 * FirstFaseQty) / 10) + 1)
173179 let f1PjStartAdmFondsSGT1X10 = ((1 * FirstFaseQty) / 10)
174180 if ((0 >= ((FirstFaseQty - preIcoQty) - orderQty)))
175181 then throw("Lo sentimos, por ahora no hay oferta de tokens para su transacción")
176182 else if ((totalAmount > pmt.amount))
177183 then throw("Payment Amount can't be less than item Purchase Order")
178184 else if ((pmt.amount > totalAmount))
179185 then throw("Payment Amount can't be higher than item Purchase Order")
180- else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "N08EC-01_ACH-KAPAWI_PREICOF1"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica NASEE 'FAEN'"), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("tokens SGT a emitir en F1/F2 PreICO, total:", startTotalQty), DataEntry("tokens SGT en oferta F1 PreICO, unids", FirstFaseQty), DataEntry("tokens SGT en oferta/Intercambio en F1, 90% unids", f1PjOfertaSGT9X10), DataEntry("tokens SGT de Apoyo Admin-Inicial en F1, 10% unids", f1PjStartAdmFondsSGT1X10), DataEntry("tokens SGT en oferta F2 PreICO, unids.", SecondFaseQty), DataEntry("Cta. de Apoyo-Admin del Proyecto, blockchain", "3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR"), 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("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida a la PreICO, wvs", totalAmount), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de tokens SGT en oferta F1 PreICO, unids.", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry("Saldo de Tokens SGT en PreICO Achuar-Kapawi:", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Cta. Admin SGT del Ecosistema N08, blockchain:", "3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), SGT), ScriptTransfer(admN08SGTW, ((95 * pmt.amount) / 100), unit)]))
186+ else ScriptResult(WriteSet([DataEntry(getKeyProjectCategory(item), "Conservación Forestal"), DataEntry(getKeyProjectName(item), "Reserva Amazónica Achuar-Kapawi"), DataEntry(getKeyProjectCountry(item), "Ecuador"), DataEntry(getKeyProjectCode(item), "N08EC-01_ACH-KAPAWI_PREICOF1"), DataEntry(getKeyProjectPropietary(item), "Comunidad Achuar Kapawi"), DataEntry(getKeyProjectDev(supplier), "Fundación Alianza Ecológica NASEE 'FAEN'"), DataEntry(getKeyNomTokenPrice(item), "10.00 Euros"), DataEntry("tokens SGT a emitir en F1/F2 PreICO, total:", startTotalQty), DataEntry("tokens SGT en oferta F1 PreICO, unids", FirstFaseQty), DataEntry("tokens SGT en oferta/Intercambio en F1, 90% unids", f1PjOfertaSGT9X10), DataEntry("tokens SGT de Apoyo Admin-Inicial en F1, 10% unids", f1PjStartAdmFondsSGT1X10), DataEntry("tokens SGT en oferta F2 PreICO, unids.", SecondFaseQty), DataEntry("Cta. de Apoyo-Admin del Proyecto, blockchain", "3N935A2iWuGH3AmifpHVmQjoaA7KNX6E1fR"), 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("Estado de su pedido, tokens:", "¡Adquisición Confirmada!"), DataEntry(getKeyItemUserOrderQty(item), orderQty), DataEntry("Suma transmitida a la PreICO, wvs", totalAmount), DataEntry(getKeySaldoTokenQtyStartEtapa(item), (getValueSaldoTokenQtyStartEtapa(item) + orderQty)), DataEntry("Saldo de tokens SGT en oferta F1 PreICO, unids.", ((FirstFaseQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry("Saldo de Tokens SGT en PreICO Achuar-Kapawi:", ((startTotalQty - getValueSaldoTokenQtyStartEtapa(item)) - orderQty)), DataEntry(getKeyBalanceSupplier(supplier), (getValueBalanceSupplier(supplier) + pmt.amount)), DataEntry("Cta. Admin SGT del Ecosistema N08, blockchain:", "3Mu7Zd3UsSFicaf45vUFTpVsTZJWgTtvBhz")]), TransferSet([ScriptTransfer(addressFromStringValue(userAddress), (10000 * orderQty), SGT), ScriptTransfer(admN08SGTW, ((95 * pmt.amount) / 100), unit), ScriptTransfer(admN08ECpjAmazSGT6, ((5 * pmt.amount) / 100), unit)]))
181187 }
182188 }
183189
184190
185191 @Verifier(tx)
186-func verify () = match tx {
187- case t: SetScriptTransaction =>
188- sigVerify(tx.bodyBytes, tx.proofs[0], OwnerPubKey)
189- case d: DataTransaction|ReissueTransaction =>
190- true
191- case tx: TransferTransaction =>
192- true
193- case _ =>
194- false
195-}
192+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], fromBase58String("Cyf33duPHeDukNKXnrekipPBeivui6A3LrRgFxLXuQe5"))
196193

github/deemru/w8io/873ac7e 
47.33 ms