tx · H5RbdsG7QRKzR6YpJ7yX4U5aoAJd7dndHaBGmXyvaJAZ 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy: -0.01100000 Waves 2023.06.15 22:27 [2624173] smart account 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy > SELF 0.00000000 Waves
{ "type": 13, "id": "H5RbdsG7QRKzR6YpJ7yX4U5aoAJd7dndHaBGmXyvaJAZ", "fee": 1100000, "feeAssetId": null, "timestamp": 1686857276039, "version": 2, "chainId": 84, "sender": "3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy", "senderPublicKey": "FsR18761ZAsUqsTd7TK3XmR6bhihs1UXVmpHYxz5JzQ1", "proofs": [ "w5vBa3DQg6BJK3nL3cQW5GswvCiKp58ucNutJjvGGSpWQ3xL6nVwDjxwmer7grwNXpRvJyjoU6NkKjRFaHnsQki" ], "script": "base64:BgIVCAISBQoDCAgIEgMKAQESAwoBARIAgQEABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgADU0VQAgJfXwAFTVVMVDYAwIQ9AAVNVUxUNwCAreIEAAVNVUxUOACAwtcvAAZNVUxUMTAAgMivoCUACkxBTkRQUkVGSVgCBExBTkQACkRVQ0tQUkVGSVgCBERVQ0sACkFSVFBSRVNBTEUCB1BSRVNBTEUABk5VTVJFUwAGAAVTU0laRQAZAAVNU0laRQBkAAVMU0laRQDhAQAGWExTSVpFAJADAAdYWExTSVpFAPEEAA9EQUlMWVJFU0JZUElFQ0UAgPjSAQAJREFZTUlMTElTAIC4mSkADFdITVVMVElQTElFUgCAyK+gJQAPREVGQVVMVExPQ0FUSU9OAg9BZnJpY2FfRl9BZnJpY2EAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAMACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoABU1BWEhQAGQACHJlc1R5cGVzCQDMCAICA09pbAkAzAgCAgNPcmUJAMwIAgIEV29vZAkAzAgCAgRTYW5kCQDMCAICBENsYXkJAMwIAgIHT3JnYW5pYwUDbmlsAAhtYXRUeXBlcwkAzAgCAgRGdWVsCQDMCAICBU1ldGFsCQDMCAICBVBsYW5rCQDMCAICBUdsYXNzCQDMCAICB1BsYXN0aWMJAMwIAgIHUHJvdGVpbgUDbmlsAAlwcm9kVHlwZXMJAMwIAgIQRmlyc3QgQWlkIEtpdCBMMQkAzAgCAhBGaXJzdCBBaWQgS2l0IEwyCQDMCAICEEZpcnN0IEFpZCBLaXQgTDMJAMwIAgILQmFja3BhY2sgTDEJAMwIAgILQmFja3BhY2sgTDIJAMwIAgILQmFja3BhY2sgTDMJAMwIAgIORm9vZCBSYXRpb24gTDEJAMwIAgIORm9vZCBSYXRpb24gTDIJAMwIAgIORm9vZCBSYXRpb24gTDMJAMwIAgILSmV0IFBhY2sgTDEJAMwIAgILSmV0IFBhY2sgTDIJAMwIAgILSmV0IFBhY2sgTDMJAMwIAgIJU2hpZWxkIEwxCQDMCAICCVNoaWVsZCBMMgkAzAgCAglTaGllbGQgTDMFA25pbAAKY29udGluZW50cwkAzAgCAghBbWVyaWNhcwkAzAgCAgZFdXJvcGUJAMwIAgIEQXNpYQkAzAgCAgZBZnJpY2EJAMwIAgIHT2NlYW5pYQUDbmlsABBwcm9kdWN0aW9uTWF0cml4CQDMCAICEjFfMV8xXzJfMl81XzFfMTBfMAkAzAgCAhMyXzJfMl80XzRfMTBfMV8xMF8wCQDMCAICEzNfM18zXzZfNl8xNV8xXzEwXzAJAMwIAgITMl81XzVfMl83XzVfMl8xMDBfMQkAzAgCAhc0XzEwXzEwXzRfMTRfMTBfMl8xMDBfMQkAzAgCAhc2XzE1XzE1XzZfMjFfMTVfMl8xMDBfMQkAzAgCAhIxXzFfMV8xXzFfOF8xXzEwXzIJAMwIAgITMl8yXzJfMl8yXzE2XzFfMTBfMgkAzAgCAhMzXzNfM18zXzNfMjRfMV8xMF8yCQDMCAICEzlfOV8xXzVfNV8xXzVfMTAwXzMJAMwIAgIXMThfMThfMl8xMF8xMF8yXzVfMTAwXzMJAMwIAgIXMjdfMjdfM18xNV8xNV8zXzVfMTAwXzMJAMwIAgISMl8yXzFfMl8yXzJfMV8xMF80CQDMCAICEjRfNF8yXzRfNF80XzFfMTBfNAkAzAgCAhI2XzZfM182XzZfNl8xXzEwXzQFA25pbAAPY29udElkeEFtZXJpY2FzAAAADWNvbnRJZHhFdXJvcGUAAQALY29udElkeEFzaWEAAgANY29udElkeEFmcmljYQADAA5jb250SWR4T2NlYW5pYQAEAA1yZWNpcGVJZHhGdWVsAAAADnJlY2lwZUlkeE1ldGFsAAEADnJlY2lwZUlkeFBsYW5rAAIADnJlY2lwZUlkeEdsYXNzAAMAEHJlY2lwZUlkeFBsYXN0aWMABAAQcmVjaXBlSWR4UHJvdGVpbgAFAA9yZWNpcGVJZHhXZWlnaHQABgARcmVjaXBlSWR4UGFja3NpemUABwAScmVjaXBlSWR4Q29udGluZW50AAgACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMAC3doSWR4TGV2ZWxzAAAACHdoSWR4UmVzAAEACHdoSWR4TWF0AAIACXdoSWR4UHJvZAADAAl3aElkeExPRlQABAAJdm9sTG9ja2VkAAAAC3ZvbE9jY3VwaWVkAAEAB3ZvbEZyZWUAAgAIdm9sVG90YWwAAwAKYnBJZHhMZXZlbAAAAAhicElkeFJlcwABAAhicElkeE1hdAACAAlicElkeFByb2QAAwEKZ2V0UGtnU2l6ZQEHcHJvZElkeAkBDXBhcnNlSW50VmFsdWUBCQCRAwIJALUJAgkAkQMCBRBwcm9kdWN0aW9uTWF0cml4BQdwcm9kSWR4AgFfBRFyZWNpcGVJZHhQYWNrc2l6ZQEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgABDGdldEludE9yRWxzZQIDa2V5CmRlZmF1bHRWYWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUDa2V5BQpkZWZhdWx0VmFsABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACABRJZHhDZmdHb3Zlcm5hbmNlRGFwcAADAA1JZHhDZmdXbGdEYXBwAAQBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAtnb3ZDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0dvdmVybmFuY2VEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHABEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYbGFuZEN1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQdhc3NldElkCQCsAgICC2luZnJhTGV2ZWxfBQdhc3NldElkASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIEdHlwZQdhc3NldElkCQC5CQIJAMwIAgINbGFuZEFydFN0YXR1cwkAzAgCBQR0eXBlCQDMCAIFB2Fzc2V0SWQFA25pbAIBXwEia2V5U3Rha2VkVGltZUJ5VHlwZUFzc2V0SWRBbmRPd25lcgMHbmZ0VHlwZQdhc3NldElkCW93bmVyQWRkcgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICIHN0YWtlZFRpbWVCeVR5cGVBc3NldElkQW5kT3duZXJfBQduZnRUeXBlAgFfBQdhc3NldElkAgFfBQlvd25lckFkZHIBEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKd2FyZUhvdXNlXwULbGFuZEFzc2V0SWQBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBEWtleUJhY2twYWNrQnlEdWNrAQtkdWNrQXNzZXRJZAkArAICAgliYWNrUGFja18FC2R1Y2tBc3NldElkAQ9rZXlEdWNrTG9jYXRpb24BC2R1Y2tBc3NldElkCQCsAgICDWR1Y2tMb2NhdGlvbl8FC2R1Y2tBc3NldElkAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBFWtleVVzZXJHd2xSZWxlYXNlVGltZQEIdXNlckFkZHIJAKwCAgIaJXMlc19fdXNlckd3bFJlbGVhc2VUaW1lX18FCHVzZXJBZGRyAQ5rZXlPcmRlckJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKbGFuZE9yZGVyXwULbGFuZEFzc2V0SWQBDmtleUVzV2FyZWhvdXNlAAIaZW1lcmdlbmN5V2FyZWhvdXNlUHJvZHVjdHMAD2xvY0lkeENvbnRpbmVudAAAAApsb2NJZHhUeXBlAAEACGxvY0lkeElkAAIBCGFzU3RyaW5nAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwkAAgECGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQlhc0FueUxpc3QBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAFsBQckbWF0Y2gwBQFsCQACAQIbZmFpbCB0byBjYXN0IGludG8gTGlzdFtBbnldAQlhc0Jvb2xlYW4BAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBcwUHJG1hdGNoMAUBcwkAAgECGWZhaWwgdG8gY2FzdCBpbnRvIEJvb2xlYW4BD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUAC0lkeEVmZlRvdGFsAAAACklkeEVmZlVzZXIAAQEOZ2V0Vm90aW5nUG93ZXIBEnVzZXJBZGRyU3RyT3JFbXB0eQQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlSZXNQcm9wb3J0aW9ucwACCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyAwkAAAIFEnVzZXJBZGRyU3RyT3JFbXB0eQIAAAAECGxhbmRzU3RyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleVN0YWtlZExhbmRzQnlPd25lcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8FA25pbAoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAQFYXNzZXQJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQIbGFuZFNpemUJAJEDAgkAtQkCCAUFYXNzZXQLZGVzY3JpcHRpb24CAV8FC3JlY0xhbmRTaXplCQBkAgUDYWNjCQEPbnVtUGllY2VzQnlT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dElkS2V5Agt3bGdfYXNzZXRJZAAPd2xnSXNzdWVUaW1lS2V5Ag13bGdfaXNzdWVUaW1lABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nAA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBGFkZHICG2xhc3RDbGFpbWVkVGltZVVzZXJfICsgYWRkcgQBaQENY29uc3RydWN0b3JWMQMIcmVzdEFkZHINbWFya2V0aW5nQWRkcgh0ZWFtQWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBCWlzRGVmaW5lZAEJAKIIAQUNd2xnQXNzZXRJZEtleQkAAgECE0FscmVhZHkgaW5pdGlhbGl6ZWQEBWlzc3VlCQDDCAcCBldMR09MRAIgV2F2ZXNMYW5kcyBHb2xkIGludmVzdG1lbnQgdG9rZW4FBk1VTFQxNAAIBgUEdW5pdAAABAdhc3NldElkCQC4CAEFBWlzc3VlCQDMCAIFBWlzc3VlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ93bGdJc3N1ZVRpbWVLZXkIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQtCaW5hcnlFbnRyeQIFDXdsZ0Fzc2V0SWRLZXkFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUQbWFya2V0aW5nQWRkcktleQUNbWFya2V0aW5nQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBQt0ZWFtQWRkcktleQUIdGVhbUFkZHIFA25pbAFpAQZidXlXbGcBBmFtb3VudAUDbmlsAWkBB3NlbGxXbGcBBmFtb3VudAUDbmlsAWkBBWNsYWltAAQGY2FsbGVyCAUBaQZjYWxsZXIECmNhbGxlckFkZHIJAKUIAQUGY2FsbGVyBANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBQ93bGdJc3N1ZVRpbWVLZXkCD05vdCBpbml0aWFsaXplZAQKd2xnQXNzZXRJZAkBBXZhbHVlAQkAoQgBBQ13bGdBc3NldElkS2V5BBFsYXN0TWFya2V0aW5nVGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBRRsYXN0TWFya2V0aW5nVGltZUtleQUJaXNzdWVUaW1lBA1tYXJrZXRpbmdBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCiCAEFEG1hcmtldGluZ0FkZHJLZXkED21hcmtldGluZ0Ftb3VudAkAawMJAGsDBQZNVUxUMTQFDk1BUktFVElOR1NIQVJFBQVNVUxUNgkAZQIFA25vdwURbGFzdE1hcmtldGluZ1RpbWUFCllFQVJNSUxMSVMEDGxhc3RUZWFtVGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQ9sYXN0VGVhbVRpbWVLZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQULdGVhbUFkZHJLZXkECnRlYW1BbW91bnQJAGsDCQBrAwUGTVVMVDE0BQlURUFNU0hBUkUFBU1VTFQ2CQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQJYWN0QW1vdW50CQBrAwkAawMFBk1VTFQxNAUNQUNUSVZJVFlTSEFSRQUFTVVMVDYJAGUCBQNub3cFEmxhc3RBY3Rpdml0aWVzVGltZQkAaAIAAwUKWUVBUk1JTExJUwQLdXNlclRpbWVLZXkJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQpjYWxsZXJBZGRyBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQULdXNlclRpbWVLZXkFCWlzc3VlVGltZQQDZWZmCQEOZ2V0Vm90aW5nUG93ZXIBBQpjYWxsZXJBZGRyBAp1c2VyQW1vdW50CQBrAwkAawMJAGsDBQZNVUxUMTQFC1BMQVlFUlNIQVJFBQVNVUxUNgkAkQMCBQNlZmYFCklkeEVmZlVzZXIJAJEDAgUDZWZmBQtJZHhFZmZUb3RhbAkAZQIFA25vdwUMbGFzdFVzZXJUaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDW1hcmtldGluZ0FkZHIFD21hcmtldGluZ0Ftb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQh0ZWFtQWRkcgUKdGVhbUFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQxyZXN0Q29udHJhY3QFCWFjdEFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZjYWxsZXIFCnVzZXJBbW91bnQFCndsZ0Fzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIFFGxhc3RNYXJrZXRpbmdUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIFD2xhc3RUZWFtVGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgULdXNlclRpbWVLZXkFA25vdwUDbmlsAMdfh44=", "height": 2624173, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B4tw6JUmfdpcDni1S2mf9oM5xX52zGgKdAEdmPAP6iDw Next: HtAsxNwuDdVkabmoNGMS9h26TvRaodhoxcM11FVNSyzR Diff:
Old | New | Differences | |
---|---|---|---|
6 | 6 | let b = { | |
7 | 7 | let c = a | |
8 | 8 | if ((base58'2W' == c)) | |
9 | + | then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi' | |
10 | + | else if ((base58'2T' == c)) | |
11 | + | then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63' | |
12 | + | else throw("Unknown chain") | |
13 | + | } | |
14 | + | ||
15 | + | let d = { | |
16 | + | let c = a | |
17 | + | if ((base58'2W' == c)) | |
9 | 18 | then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv" | |
10 | 19 | else if ((base58'2T' == c)) | |
11 | 20 | then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy" | |
12 | 21 | else throw("Unknown chain") | |
13 | 22 | } | |
14 | 23 | ||
15 | - | let d = "__" | |
24 | + | let e = { | |
25 | + | let c = a | |
26 | + | if ((base58'2W' == c)) | |
27 | + | then 10000000000 | |
28 | + | else if ((base58'2T' == c)) | |
29 | + | then 100000000 | |
30 | + | else throw("Unknown chain") | |
31 | + | } | |
16 | 32 | ||
17 | - | let | |
33 | + | let f = "__" | |
18 | 34 | ||
19 | - | let | |
35 | + | let g = 1000000 | |
20 | 36 | ||
21 | - | let | |
37 | + | let h = 10000000 | |
22 | 38 | ||
23 | - | let | |
39 | + | let i = 100000000 | |
24 | 40 | ||
25 | - | let | |
41 | + | let j = 10000000000 | |
26 | 42 | ||
27 | - | let | |
43 | + | let k = "LAND" | |
28 | 44 | ||
29 | - | let | |
45 | + | let l = "DUCK" | |
30 | 46 | ||
31 | - | func l (m,n) = valueOrErrorMessage(getString(m, n), makeString(["mandatory ", toString(m), ".", n, " is not defined"], "")) | |
47 | + | let m = "PRESALE" | |
48 | + | ||
49 | + | let n = 6 | |
50 | + | ||
51 | + | let o = 25 | |
52 | + | ||
53 | + | let p = 100 | |
54 | + | ||
55 | + | let q = 225 | |
56 | + | ||
57 | + | let r = 400 | |
58 | + | ||
59 | + | let s = 625 | |
60 | + | ||
61 | + | let t = 3456000 | |
62 | + | ||
63 | + | let u = 86400000 | |
64 | + | ||
65 | + | let v = 10000000000 | |
66 | + | ||
67 | + | let w = "Africa_F_Africa" | |
68 | + | ||
69 | + | let x = 39637 | |
70 | + | ||
71 | + | let y = 3 | |
72 | + | ||
73 | + | let z = 4 | |
74 | + | ||
75 | + | let A = 10 | |
76 | + | ||
77 | + | let B = 100 | |
78 | + | ||
79 | + | let C = ["Oil", "Ore", "Wood", "Sand", "Clay", "Organic"] | |
80 | + | ||
81 | + | let D = ["Fuel", "Metal", "Plank", "Glass", "Plastic", "Protein"] | |
82 | + | ||
83 | + | let E = ["First Aid Kit L1", "First Aid Kit L2", "First Aid Kit L3", "Backpack L1", "Backpack L2", "Backpack L3", "Food Ration L1", "Food Ration L2", "Food Ration L3", "Jet Pack L1", "Jet Pack L2", "Jet Pack L3", "Shield L1", "Shield L2", "Shield L3"] | |
84 | + | ||
85 | + | let F = ["Americas", "Europe", "Asia", "Africa", "Oceania"] | |
86 | + | ||
87 | + | let G = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"] | |
88 | + | ||
89 | + | let H = 0 | |
90 | + | ||
91 | + | let I = 1 | |
92 | + | ||
93 | + | let J = 2 | |
94 | + | ||
95 | + | let K = 3 | |
96 | + | ||
97 | + | let L = 4 | |
98 | + | ||
99 | + | let M = 0 | |
100 | + | ||
101 | + | let N = 1 | |
102 | + | ||
103 | + | let O = 2 | |
104 | + | ||
105 | + | let P = 3 | |
106 | + | ||
107 | + | let Q = 4 | |
108 | + | ||
109 | + | let R = 5 | |
110 | + | ||
111 | + | let S = 6 | |
112 | + | ||
113 | + | let T = 7 | |
114 | + | ||
115 | + | let U = 8 | |
116 | + | ||
117 | + | let V = 0 | |
118 | + | ||
119 | + | let W = 1 | |
120 | + | ||
121 | + | let X = 2 | |
122 | + | ||
123 | + | let Y = 3 | |
124 | + | ||
125 | + | let Z = 0 | |
126 | + | ||
127 | + | let aa = 1 | |
128 | + | ||
129 | + | let ab = 2 | |
130 | + | ||
131 | + | let ac = 3 | |
132 | + | ||
133 | + | let ad = 4 | |
134 | + | ||
135 | + | let ae = 0 | |
136 | + | ||
137 | + | let af = 1 | |
138 | + | ||
139 | + | let ag = 2 | |
140 | + | ||
141 | + | let ah = 3 | |
142 | + | ||
143 | + | let ai = 0 | |
144 | + | ||
145 | + | let aj = 1 | |
146 | + | ||
147 | + | let ak = 2 | |
148 | + | ||
149 | + | let al = 3 | |
150 | + | ||
151 | + | func am (an) = parseIntValue(split(G[an], "_")[T]) | |
32 | 152 | ||
33 | 153 | ||
34 | - | let o = 1 | |
35 | - | ||
36 | - | func p () = "%s__restConfig" | |
154 | + | func ao (ap,aq) = valueOrErrorMessage(getString(ap, aq), makeString(["mandatory ", toString(ap), ".", aq, " is not defined"], "")) | |
37 | 155 | ||
38 | 156 | ||
39 | - | func | |
157 | + | func ar (aq,as) = valueOrElse(getInteger(this, aq), as) | |
40 | 158 | ||
41 | 159 | ||
42 | - | func r (s) = split_4C(l(s, p()), d) | |
160 | + | let at = 1 | |
161 | + | ||
162 | + | let au = 2 | |
163 | + | ||
164 | + | let av = 3 | |
165 | + | ||
166 | + | let aw = 4 | |
167 | + | ||
168 | + | func ax () = "%s__restConfig" | |
43 | 169 | ||
44 | 170 | ||
45 | - | func | |
171 | + | func ay () = "%s__restAddr" | |
46 | 172 | ||
47 | 173 | ||
48 | - | let w = addressFromStringValue(valueOrElse(getString(this, q()), b)) | |
49 | - | ||
50 | - | let u = r(w) | |
51 | - | ||
52 | - | let x = t(u, o) | |
53 | - | ||
54 | - | func y (z) = ("stakedLandsByOwner_" + z) | |
174 | + | func az (aA) = split_4C(ao(aA, ax()), f) | |
55 | 175 | ||
56 | 176 | ||
57 | - | func | |
177 | + | func aB (aC,aD) = valueOrErrorMessage(addressFromString(aC[aD]), ("Rest cfg doesn't contain address at index " + toString(aD))) | |
58 | 178 | ||
59 | 179 | ||
60 | - | func B (C) = { | |
61 | - | let c = C | |
180 | + | let aE = addressFromStringValue(valueOrElse(getString(this, ay()), d)) | |
181 | + | ||
182 | + | let aC = az(aE) | |
183 | + | ||
184 | + | let aF = aB(aC, at) | |
185 | + | ||
186 | + | let aG = aB(aC, au) | |
187 | + | ||
188 | + | let aH = aB(aC, av) | |
189 | + | ||
190 | + | let aI = aB(aC, aw) | |
191 | + | ||
192 | + | func aJ (aK) = ("lastTxIdByUser_" + aK) | |
193 | + | ||
194 | + | ||
195 | + | func aL (aM) = ("nftOwner_" + aM) | |
196 | + | ||
197 | + | ||
198 | + | func aN (aM) = ("landCustomNameByAssetId_" + aM) | |
199 | + | ||
200 | + | ||
201 | + | func aO (aM) = ("stakedTime_" + aM) | |
202 | + | ||
203 | + | ||
204 | + | func aP (aM) = ("infraLevel_" + aM) | |
205 | + | ||
206 | + | ||
207 | + | func aQ (aR,aM) = makeString(["landArtStatus", aR, aM], "_") | |
208 | + | ||
209 | + | ||
210 | + | func aS (aT,aM,aU) = ((((("stakedTimeByTypeAssetIdAndOwner_" + aT) + "_") + aM) + "_") + aU) | |
211 | + | ||
212 | + | ||
213 | + | func aV (aW) = ("wareHouse_" + aW) | |
214 | + | ||
215 | + | ||
216 | + | func aX (aU) = ("stakedLandsByOwner_" + aU) | |
217 | + | ||
218 | + | ||
219 | + | func aY (aM) = ("duckCustomNameByAssetId_" + aM) | |
220 | + | ||
221 | + | ||
222 | + | func aZ (aK) = ("accountCustomNameByAddr_" + aK) | |
223 | + | ||
224 | + | ||
225 | + | func ba (aK) = ("accRefBy_" + aK) | |
226 | + | ||
227 | + | ||
228 | + | func bb (aK) = ("accReferrals_" + aK) | |
229 | + | ||
230 | + | ||
231 | + | func bc (aM) = ("duckOwner_" + aM) | |
232 | + | ||
233 | + | ||
234 | + | func bd (aU) = ("stakedDuckByOwner_" + aU) | |
235 | + | ||
236 | + | ||
237 | + | func be (bf) = ("backPack_" + bf) | |
238 | + | ||
239 | + | ||
240 | + | func bg (bf) = ("duckLocation_" + bf) | |
241 | + | ||
242 | + | ||
243 | + | func bh (bf) = ("duckHealth_" + bf) | |
244 | + | ||
245 | + | ||
246 | + | func bi () = "resTypesProportions" | |
247 | + | ||
248 | + | ||
249 | + | func bj () = "contractsBlocked" | |
250 | + | ||
251 | + | ||
252 | + | func bk (bl) = ("%s%s__userGwlReleaseTime__" + bl) | |
253 | + | ||
254 | + | ||
255 | + | func bm (aW) = ("landOrder_" + aW) | |
256 | + | ||
257 | + | ||
258 | + | func bn () = "emergencyWarehouseProducts" | |
259 | + | ||
260 | + | ||
261 | + | let bo = 0 | |
262 | + | ||
263 | + | let bp = 1 | |
264 | + | ||
265 | + | let bq = 2 | |
266 | + | ||
267 | + | func br (bs) = { | |
268 | + | let c = bs | |
269 | + | if ($isInstanceOf(c, "String")) | |
270 | + | then { | |
271 | + | let bt = c | |
272 | + | bt | |
273 | + | } | |
274 | + | else throw("fail to cast into String") | |
275 | + | } | |
276 | + | ||
277 | + | ||
278 | + | func bu (bs) = { | |
279 | + | let c = bs | |
280 | + | if ($isInstanceOf(c, "Int")) | |
281 | + | then { | |
282 | + | let bv = c | |
283 | + | bv | |
284 | + | } | |
285 | + | else throw("fail to cast into Int") | |
286 | + | } | |
287 | + | ||
288 | + | ||
289 | + | func bw (bs) = { | |
290 | + | let c = bs | |
291 | + | if ($isInstanceOf(c, "List[Any]")) | |
292 | + | then { | |
293 | + | let bx = c | |
294 | + | bx | |
295 | + | } | |
296 | + | else throw("fail to cast into List[Any]") | |
297 | + | } | |
298 | + | ||
299 | + | ||
300 | + | func by (bs) = { | |
301 | + | let c = bs | |
302 | + | if ($isInstanceOf(c, "Boolean")) | |
303 | + | then { | |
304 | + | let bt = c | |
305 | + | bt | |
306 | + | } | |
307 | + | else throw("fail to cast into Boolean") | |
308 | + | } | |
309 | + | ||
310 | + | ||
311 | + | func bz (bA) = { | |
312 | + | let c = bA | |
62 | 313 | if (("S" == c)) | |
63 | - | then | |
314 | + | then o | |
64 | 315 | else if (("M" == c)) | |
65 | - | then | |
316 | + | then p | |
66 | 317 | else if (("L" == c)) | |
67 | - | then | |
318 | + | then q | |
68 | 319 | else if (("XL" == c)) | |
69 | - | then | |
320 | + | then r | |
70 | 321 | else if (("XXL" == c)) | |
71 | - | then | |
322 | + | then s | |
72 | 323 | else throw("Unknown land size") | |
73 | 324 | } | |
74 | 325 | ||
75 | 326 | ||
76 | - | let | |
327 | + | let bB = 0 | |
77 | 328 | ||
78 | - | let | |
329 | + | let bC = 1 | |
79 | 330 | ||
80 | - | func | |
81 | - | let | |
82 | - | func | |
331 | + | func bD (bE) = { | |
332 | + | let bF = split(valueOrElse(getString(aF, bi()), "0_0_0_0_0_0"), "_") | |
333 | + | func bG (bH,bI) = (bH + parseIntValue(bI)) | |
83 | 334 | ||
84 | - | let | |
85 | - | let | |
86 | - | let | |
87 | - | let | |
88 | - | func | |
89 | - | then | |
90 | - | else | |
335 | + | let bJ = { | |
336 | + | let bK = bF | |
337 | + | let bL = size(bK) | |
338 | + | let bM = 0 | |
339 | + | func bN (bO,bP) = if ((bP >= bL)) | |
340 | + | then bO | |
341 | + | else bG(bO, bK[bP]) | |
91 | 342 | ||
92 | - | func | |
93 | - | then | |
343 | + | func bQ (bO,bP) = if ((bP >= bL)) | |
344 | + | then bO | |
94 | 345 | else throw("List size exceeds 6") | |
95 | 346 | ||
96 | - | | |
347 | + | bQ(bN(bN(bN(bN(bN(bN(bM, 0), 1), 2), 3), 4), 5), 6) | |
97 | 348 | } | |
98 | - | let | |
349 | + | let bR = if ((bE == "")) | |
99 | 350 | then 0 | |
100 | 351 | else { | |
101 | - | let | |
102 | - | let | |
103 | - | then split_51C(value( | |
352 | + | let bS = getString(aF, aX(bE)) | |
353 | + | let bT = if (isDefined(bS)) | |
354 | + | then split_51C(value(bS), "_") | |
104 | 355 | else nil | |
105 | - | func | |
106 | - | let | |
107 | - | let | |
108 | - | ( | |
356 | + | func bU (bH,aW) = { | |
357 | + | let bV = value(assetInfo(fromBase58String(aW))) | |
358 | + | let bA = split(bV.description, "_")[W] | |
359 | + | (bH + bz(bA)) | |
109 | 360 | } | |
110 | 361 | ||
111 | - | let | |
112 | - | let | |
113 | - | let | |
114 | - | func | |
115 | - | then | |
116 | - | else | |
362 | + | let bK = bT | |
363 | + | let bL = size(bK) | |
364 | + | let bM = 0 | |
365 | + | func bW (bO,bP) = if ((bP >= bL)) | |
366 | + | then bO | |
367 | + | else bU(bO, bK[bP]) | |
117 | 368 | ||
118 | - | func | |
119 | - | then | |
369 | + | func bX (bO,bP) = if ((bP >= bL)) | |
370 | + | then bO | |
120 | 371 | else throw("List size exceeds 100") | |
121 | 372 | ||
122 | - | | |
373 | + | bX(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bM, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
123 | 374 | } | |
124 | - | [ | |
375 | + | [bJ, bR] | |
125 | 376 | } | |
126 | 377 | ||
127 | 378 | ||
128 | - | let ab = 100000000000000 | |
379 | + | func bY (bZ) = { | |
380 | + | func ca (cb,cc) = (cb + parseIntValue(bZ[cc])) | |
129 | 381 | ||
130 | - | let ac = 100000 | |
382 | + | let bK = [0, 1, 2, 3, 4, 5] | |
383 | + | let bL = size(bK) | |
384 | + | let bM = 0 | |
385 | + | func bN (bO,bP) = if ((bP >= bL)) | |
386 | + | then bO | |
387 | + | else ca(bO, bK[bP]) | |
131 | 388 | ||
132 | - | let ad = 200000 | |
389 | + | func bQ (bO,bP) = if ((bP >= bL)) | |
390 | + | then bO | |
391 | + | else throw("List size exceeds 6") | |
133 | 392 | ||
134 | - | let ae = 100000 | |
135 | - | ||
136 | - | let af = 400000 | |
137 | - | ||
138 | - | let ag = 31557600000 | |
139 | - | ||
140 | - | let ah = "wlg_assetId" | |
141 | - | ||
142 | - | let ai = "wlg_issueTime" | |
143 | - | ||
144 | - | let aj = "marketingAddr" | |
145 | - | ||
146 | - | let ak = "teamAddr" | |
147 | - | ||
148 | - | let al = "lastClaimedTime_marketing" | |
149 | - | ||
150 | - | let am = "lastClaimedTime_team" | |
151 | - | ||
152 | - | let an = "lastClaimedTime_activities" | |
153 | - | ||
154 | - | func ao (ap) = "lastClaimedTimeUser_ + addr" | |
393 | + | bQ(bN(bN(bN(bN(bN(bN(bM, 0), 1), 2), 3), 4), 5), 6) | |
394 | + | } | |
155 | 395 | ||
156 | 396 | ||
157 | - | @Callable(aq) | |
158 | - | func constructorV1 (ar,as,at) = if ((aq.caller != this)) | |
397 | + | let cd = 100000000000000 | |
398 | + | ||
399 | + | let ce = 100000 | |
400 | + | ||
401 | + | let cf = 200000 | |
402 | + | ||
403 | + | let cg = 100000 | |
404 | + | ||
405 | + | let ch = 400000 | |
406 | + | ||
407 | + | let ci = 31557600000 | |
408 | + | ||
409 | + | let cj = "wlg_assetId" | |
410 | + | ||
411 | + | let ck = "wlg_issueTime" | |
412 | + | ||
413 | + | let cl = "marketingAddr" | |
414 | + | ||
415 | + | let cm = "teamAddr" | |
416 | + | ||
417 | + | let cn = "lastClaimedTime_marketing" | |
418 | + | ||
419 | + | let co = "lastClaimedTime_team" | |
420 | + | ||
421 | + | let cp = "lastClaimedTime_activities" | |
422 | + | ||
423 | + | func cq (aK) = "lastClaimedTimeUser_ + addr" | |
424 | + | ||
425 | + | ||
426 | + | @Callable(cr) | |
427 | + | func constructorV1 (cs,ct,cu) = if ((cr.caller != this)) | |
159 | 428 | then throw("Permission denied") | |
160 | - | else if (isDefined(getString( | |
429 | + | else if (isDefined(getString(cj))) | |
161 | 430 | then throw("Already initialized") | |
162 | 431 | else { | |
163 | - | let | |
164 | - | let | |
165 | - | [ | |
432 | + | let cv = Issue("WLGOLD", "WavesLands Gold investment token", cd, 8, true, unit, 0) | |
433 | + | let aM = calculateAssetId(cv) | |
434 | + | [cv, IntegerEntry(ck, lastBlock.timestamp), BinaryEntry(cj, aM), StringEntry(ay(), cs), StringEntry(cl, ct), StringEntry(cm, cu)] | |
166 | 435 | } | |
167 | 436 | ||
168 | 437 | ||
169 | 438 | ||
170 | - | @Callable( | |
171 | - | func buyWlg ( | |
439 | + | @Callable(cr) | |
440 | + | func buyWlg (cw) = nil | |
172 | 441 | ||
173 | 442 | ||
174 | 443 | ||
175 | - | @Callable( | |
176 | - | func sellWlg ( | |
444 | + | @Callable(cr) | |
445 | + | func sellWlg (cw) = nil | |
177 | 446 | ||
178 | 447 | ||
179 | 448 | ||
180 | - | @Callable( | |
449 | + | @Callable(cr) | |
181 | 450 | func claim () = { | |
182 | - | let | |
183 | - | let | |
184 | - | let | |
185 | - | let | |
186 | - | let | |
187 | - | let | |
188 | - | let | |
189 | - | let | |
190 | - | let | |
191 | - | let | |
192 | - | let | |
193 | - | let | |
194 | - | let | |
195 | - | let | |
196 | - | let | |
197 | - | let | |
198 | - | let | |
199 | - | [ScriptTransfer( | |
451 | + | let cx = cr.caller | |
452 | + | let cy = toString(cx) | |
453 | + | let cz = lastBlock.timestamp | |
454 | + | let cA = valueOrErrorMessage(getInteger(ck), "Not initialized") | |
455 | + | let cB = value(getBinary(cj)) | |
456 | + | let cC = valueOrElse(getInteger(cn), cA) | |
457 | + | let ct = addressFromStringValue(value(getString(cl))) | |
458 | + | let cD = fraction(fraction(cd, ce, g), (cz - cC), ci) | |
459 | + | let cE = valueOrElse(getInteger(co), cA) | |
460 | + | let cu = addressFromStringValue(value(getString(cm))) | |
461 | + | let cF = fraction(fraction(cd, cf, g), (cz - cE), (3 * ci)) | |
462 | + | let cG = valueOrElse(getInteger(cp), cA) | |
463 | + | let cH = fraction(fraction(cd, cg, g), (cz - cG), (3 * ci)) | |
464 | + | let cI = cq(cy) | |
465 | + | let cJ = valueOrElse(getInteger(cI), cA) | |
466 | + | let cK = bD(cy) | |
467 | + | let cL = fraction(fraction(fraction(cd, ch, g), cK[bC], cK[bB]), (cz - cJ), (3 * ci)) | |
468 | + | [ScriptTransfer(ct, cD, cB), ScriptTransfer(cu, cF, cB), ScriptTransfer(aE, cH, cB), ScriptTransfer(cx, cL, cB), IntegerEntry(cn, cz), IntegerEntry(co, cz), IntegerEntry(cp, cz), IntegerEntry(cI, cz)] | |
200 | 469 | } | |
201 | 470 | ||
202 | 471 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = take(drop(this.bytes, 1), 1) | |
5 | 5 | ||
6 | 6 | let b = { | |
7 | 7 | let c = a | |
8 | 8 | if ((base58'2W' == c)) | |
9 | + | then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi' | |
10 | + | else if ((base58'2T' == c)) | |
11 | + | then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63' | |
12 | + | else throw("Unknown chain") | |
13 | + | } | |
14 | + | ||
15 | + | let d = { | |
16 | + | let c = a | |
17 | + | if ((base58'2W' == c)) | |
9 | 18 | then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv" | |
10 | 19 | else if ((base58'2T' == c)) | |
11 | 20 | then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy" | |
12 | 21 | else throw("Unknown chain") | |
13 | 22 | } | |
14 | 23 | ||
15 | - | let d = "__" | |
24 | + | let e = { | |
25 | + | let c = a | |
26 | + | if ((base58'2W' == c)) | |
27 | + | then 10000000000 | |
28 | + | else if ((base58'2T' == c)) | |
29 | + | then 100000000 | |
30 | + | else throw("Unknown chain") | |
31 | + | } | |
16 | 32 | ||
17 | - | let | |
33 | + | let f = "__" | |
18 | 34 | ||
19 | - | let | |
35 | + | let g = 1000000 | |
20 | 36 | ||
21 | - | let | |
37 | + | let h = 10000000 | |
22 | 38 | ||
23 | - | let | |
39 | + | let i = 100000000 | |
24 | 40 | ||
25 | - | let | |
41 | + | let j = 10000000000 | |
26 | 42 | ||
27 | - | let | |
43 | + | let k = "LAND" | |
28 | 44 | ||
29 | - | let | |
45 | + | let l = "DUCK" | |
30 | 46 | ||
31 | - | func l (m,n) = valueOrErrorMessage(getString(m, n), makeString(["mandatory ", toString(m), ".", n, " is not defined"], "")) | |
47 | + | let m = "PRESALE" | |
48 | + | ||
49 | + | let n = 6 | |
50 | + | ||
51 | + | let o = 25 | |
52 | + | ||
53 | + | let p = 100 | |
54 | + | ||
55 | + | let q = 225 | |
56 | + | ||
57 | + | let r = 400 | |
58 | + | ||
59 | + | let s = 625 | |
60 | + | ||
61 | + | let t = 3456000 | |
62 | + | ||
63 | + | let u = 86400000 | |
64 | + | ||
65 | + | let v = 10000000000 | |
66 | + | ||
67 | + | let w = "Africa_F_Africa" | |
68 | + | ||
69 | + | let x = 39637 | |
70 | + | ||
71 | + | let y = 3 | |
72 | + | ||
73 | + | let z = 4 | |
74 | + | ||
75 | + | let A = 10 | |
76 | + | ||
77 | + | let B = 100 | |
78 | + | ||
79 | + | let C = ["Oil", "Ore", "Wood", "Sand", "Clay", "Organic"] | |
80 | + | ||
81 | + | let D = ["Fuel", "Metal", "Plank", "Glass", "Plastic", "Protein"] | |
82 | + | ||
83 | + | let E = ["First Aid Kit L1", "First Aid Kit L2", "First Aid Kit L3", "Backpack L1", "Backpack L2", "Backpack L3", "Food Ration L1", "Food Ration L2", "Food Ration L3", "Jet Pack L1", "Jet Pack L2", "Jet Pack L3", "Shield L1", "Shield L2", "Shield L3"] | |
84 | + | ||
85 | + | let F = ["Americas", "Europe", "Asia", "Africa", "Oceania"] | |
86 | + | ||
87 | + | let G = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"] | |
88 | + | ||
89 | + | let H = 0 | |
90 | + | ||
91 | + | let I = 1 | |
92 | + | ||
93 | + | let J = 2 | |
94 | + | ||
95 | + | let K = 3 | |
96 | + | ||
97 | + | let L = 4 | |
98 | + | ||
99 | + | let M = 0 | |
100 | + | ||
101 | + | let N = 1 | |
102 | + | ||
103 | + | let O = 2 | |
104 | + | ||
105 | + | let P = 3 | |
106 | + | ||
107 | + | let Q = 4 | |
108 | + | ||
109 | + | let R = 5 | |
110 | + | ||
111 | + | let S = 6 | |
112 | + | ||
113 | + | let T = 7 | |
114 | + | ||
115 | + | let U = 8 | |
116 | + | ||
117 | + | let V = 0 | |
118 | + | ||
119 | + | let W = 1 | |
120 | + | ||
121 | + | let X = 2 | |
122 | + | ||
123 | + | let Y = 3 | |
124 | + | ||
125 | + | let Z = 0 | |
126 | + | ||
127 | + | let aa = 1 | |
128 | + | ||
129 | + | let ab = 2 | |
130 | + | ||
131 | + | let ac = 3 | |
132 | + | ||
133 | + | let ad = 4 | |
134 | + | ||
135 | + | let ae = 0 | |
136 | + | ||
137 | + | let af = 1 | |
138 | + | ||
139 | + | let ag = 2 | |
140 | + | ||
141 | + | let ah = 3 | |
142 | + | ||
143 | + | let ai = 0 | |
144 | + | ||
145 | + | let aj = 1 | |
146 | + | ||
147 | + | let ak = 2 | |
148 | + | ||
149 | + | let al = 3 | |
150 | + | ||
151 | + | func am (an) = parseIntValue(split(G[an], "_")[T]) | |
32 | 152 | ||
33 | 153 | ||
34 | - | let o = 1 | |
35 | - | ||
36 | - | func p () = "%s__restConfig" | |
154 | + | func ao (ap,aq) = valueOrErrorMessage(getString(ap, aq), makeString(["mandatory ", toString(ap), ".", aq, " is not defined"], "")) | |
37 | 155 | ||
38 | 156 | ||
39 | - | func | |
157 | + | func ar (aq,as) = valueOrElse(getInteger(this, aq), as) | |
40 | 158 | ||
41 | 159 | ||
42 | - | func r (s) = split_4C(l(s, p()), d) | |
160 | + | let at = 1 | |
161 | + | ||
162 | + | let au = 2 | |
163 | + | ||
164 | + | let av = 3 | |
165 | + | ||
166 | + | let aw = 4 | |
167 | + | ||
168 | + | func ax () = "%s__restConfig" | |
43 | 169 | ||
44 | 170 | ||
45 | - | func | |
171 | + | func ay () = "%s__restAddr" | |
46 | 172 | ||
47 | 173 | ||
48 | - | let w = addressFromStringValue(valueOrElse(getString(this, q()), b)) | |
49 | - | ||
50 | - | let u = r(w) | |
51 | - | ||
52 | - | let x = t(u, o) | |
53 | - | ||
54 | - | func y (z) = ("stakedLandsByOwner_" + z) | |
174 | + | func az (aA) = split_4C(ao(aA, ax()), f) | |
55 | 175 | ||
56 | 176 | ||
57 | - | func | |
177 | + | func aB (aC,aD) = valueOrErrorMessage(addressFromString(aC[aD]), ("Rest cfg doesn't contain address at index " + toString(aD))) | |
58 | 178 | ||
59 | 179 | ||
60 | - | func B (C) = { | |
61 | - | let c = C | |
180 | + | let aE = addressFromStringValue(valueOrElse(getString(this, ay()), d)) | |
181 | + | ||
182 | + | let aC = az(aE) | |
183 | + | ||
184 | + | let aF = aB(aC, at) | |
185 | + | ||
186 | + | let aG = aB(aC, au) | |
187 | + | ||
188 | + | let aH = aB(aC, av) | |
189 | + | ||
190 | + | let aI = aB(aC, aw) | |
191 | + | ||
192 | + | func aJ (aK) = ("lastTxIdByUser_" + aK) | |
193 | + | ||
194 | + | ||
195 | + | func aL (aM) = ("nftOwner_" + aM) | |
196 | + | ||
197 | + | ||
198 | + | func aN (aM) = ("landCustomNameByAssetId_" + aM) | |
199 | + | ||
200 | + | ||
201 | + | func aO (aM) = ("stakedTime_" + aM) | |
202 | + | ||
203 | + | ||
204 | + | func aP (aM) = ("infraLevel_" + aM) | |
205 | + | ||
206 | + | ||
207 | + | func aQ (aR,aM) = makeString(["landArtStatus", aR, aM], "_") | |
208 | + | ||
209 | + | ||
210 | + | func aS (aT,aM,aU) = ((((("stakedTimeByTypeAssetIdAndOwner_" + aT) + "_") + aM) + "_") + aU) | |
211 | + | ||
212 | + | ||
213 | + | func aV (aW) = ("wareHouse_" + aW) | |
214 | + | ||
215 | + | ||
216 | + | func aX (aU) = ("stakedLandsByOwner_" + aU) | |
217 | + | ||
218 | + | ||
219 | + | func aY (aM) = ("duckCustomNameByAssetId_" + aM) | |
220 | + | ||
221 | + | ||
222 | + | func aZ (aK) = ("accountCustomNameByAddr_" + aK) | |
223 | + | ||
224 | + | ||
225 | + | func ba (aK) = ("accRefBy_" + aK) | |
226 | + | ||
227 | + | ||
228 | + | func bb (aK) = ("accReferrals_" + aK) | |
229 | + | ||
230 | + | ||
231 | + | func bc (aM) = ("duckOwner_" + aM) | |
232 | + | ||
233 | + | ||
234 | + | func bd (aU) = ("stakedDuckByOwner_" + aU) | |
235 | + | ||
236 | + | ||
237 | + | func be (bf) = ("backPack_" + bf) | |
238 | + | ||
239 | + | ||
240 | + | func bg (bf) = ("duckLocation_" + bf) | |
241 | + | ||
242 | + | ||
243 | + | func bh (bf) = ("duckHealth_" + bf) | |
244 | + | ||
245 | + | ||
246 | + | func bi () = "resTypesProportions" | |
247 | + | ||
248 | + | ||
249 | + | func bj () = "contractsBlocked" | |
250 | + | ||
251 | + | ||
252 | + | func bk (bl) = ("%s%s__userGwlReleaseTime__" + bl) | |
253 | + | ||
254 | + | ||
255 | + | func bm (aW) = ("landOrder_" + aW) | |
256 | + | ||
257 | + | ||
258 | + | func bn () = "emergencyWarehouseProducts" | |
259 | + | ||
260 | + | ||
261 | + | let bo = 0 | |
262 | + | ||
263 | + | let bp = 1 | |
264 | + | ||
265 | + | let bq = 2 | |
266 | + | ||
267 | + | func br (bs) = { | |
268 | + | let c = bs | |
269 | + | if ($isInstanceOf(c, "String")) | |
270 | + | then { | |
271 | + | let bt = c | |
272 | + | bt | |
273 | + | } | |
274 | + | else throw("fail to cast into String") | |
275 | + | } | |
276 | + | ||
277 | + | ||
278 | + | func bu (bs) = { | |
279 | + | let c = bs | |
280 | + | if ($isInstanceOf(c, "Int")) | |
281 | + | then { | |
282 | + | let bv = c | |
283 | + | bv | |
284 | + | } | |
285 | + | else throw("fail to cast into Int") | |
286 | + | } | |
287 | + | ||
288 | + | ||
289 | + | func bw (bs) = { | |
290 | + | let c = bs | |
291 | + | if ($isInstanceOf(c, "List[Any]")) | |
292 | + | then { | |
293 | + | let bx = c | |
294 | + | bx | |
295 | + | } | |
296 | + | else throw("fail to cast into List[Any]") | |
297 | + | } | |
298 | + | ||
299 | + | ||
300 | + | func by (bs) = { | |
301 | + | let c = bs | |
302 | + | if ($isInstanceOf(c, "Boolean")) | |
303 | + | then { | |
304 | + | let bt = c | |
305 | + | bt | |
306 | + | } | |
307 | + | else throw("fail to cast into Boolean") | |
308 | + | } | |
309 | + | ||
310 | + | ||
311 | + | func bz (bA) = { | |
312 | + | let c = bA | |
62 | 313 | if (("S" == c)) | |
63 | - | then | |
314 | + | then o | |
64 | 315 | else if (("M" == c)) | |
65 | - | then | |
316 | + | then p | |
66 | 317 | else if (("L" == c)) | |
67 | - | then | |
318 | + | then q | |
68 | 319 | else if (("XL" == c)) | |
69 | - | then | |
320 | + | then r | |
70 | 321 | else if (("XXL" == c)) | |
71 | - | then | |
322 | + | then s | |
72 | 323 | else throw("Unknown land size") | |
73 | 324 | } | |
74 | 325 | ||
75 | 326 | ||
76 | - | let | |
327 | + | let bB = 0 | |
77 | 328 | ||
78 | - | let | |
329 | + | let bC = 1 | |
79 | 330 | ||
80 | - | func | |
81 | - | let | |
82 | - | func | |
331 | + | func bD (bE) = { | |
332 | + | let bF = split(valueOrElse(getString(aF, bi()), "0_0_0_0_0_0"), "_") | |
333 | + | func bG (bH,bI) = (bH + parseIntValue(bI)) | |
83 | 334 | ||
84 | - | let | |
85 | - | let | |
86 | - | let | |
87 | - | let | |
88 | - | func | |
89 | - | then | |
90 | - | else | |
335 | + | let bJ = { | |
336 | + | let bK = bF | |
337 | + | let bL = size(bK) | |
338 | + | let bM = 0 | |
339 | + | func bN (bO,bP) = if ((bP >= bL)) | |
340 | + | then bO | |
341 | + | else bG(bO, bK[bP]) | |
91 | 342 | ||
92 | - | func | |
93 | - | then | |
343 | + | func bQ (bO,bP) = if ((bP >= bL)) | |
344 | + | then bO | |
94 | 345 | else throw("List size exceeds 6") | |
95 | 346 | ||
96 | - | | |
347 | + | bQ(bN(bN(bN(bN(bN(bN(bM, 0), 1), 2), 3), 4), 5), 6) | |
97 | 348 | } | |
98 | - | let | |
349 | + | let bR = if ((bE == "")) | |
99 | 350 | then 0 | |
100 | 351 | else { | |
101 | - | let | |
102 | - | let | |
103 | - | then split_51C(value( | |
352 | + | let bS = getString(aF, aX(bE)) | |
353 | + | let bT = if (isDefined(bS)) | |
354 | + | then split_51C(value(bS), "_") | |
104 | 355 | else nil | |
105 | - | func | |
106 | - | let | |
107 | - | let | |
108 | - | ( | |
356 | + | func bU (bH,aW) = { | |
357 | + | let bV = value(assetInfo(fromBase58String(aW))) | |
358 | + | let bA = split(bV.description, "_")[W] | |
359 | + | (bH + bz(bA)) | |
109 | 360 | } | |
110 | 361 | ||
111 | - | let | |
112 | - | let | |
113 | - | let | |
114 | - | func | |
115 | - | then | |
116 | - | else | |
362 | + | let bK = bT | |
363 | + | let bL = size(bK) | |
364 | + | let bM = 0 | |
365 | + | func bW (bO,bP) = if ((bP >= bL)) | |
366 | + | then bO | |
367 | + | else bU(bO, bK[bP]) | |
117 | 368 | ||
118 | - | func | |
119 | - | then | |
369 | + | func bX (bO,bP) = if ((bP >= bL)) | |
370 | + | then bO | |
120 | 371 | else throw("List size exceeds 100") | |
121 | 372 | ||
122 | - | | |
373 | + | bX(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bW(bM, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
123 | 374 | } | |
124 | - | [ | |
375 | + | [bJ, bR] | |
125 | 376 | } | |
126 | 377 | ||
127 | 378 | ||
128 | - | let ab = 100000000000000 | |
379 | + | func bY (bZ) = { | |
380 | + | func ca (cb,cc) = (cb + parseIntValue(bZ[cc])) | |
129 | 381 | ||
130 | - | let ac = 100000 | |
382 | + | let bK = [0, 1, 2, 3, 4, 5] | |
383 | + | let bL = size(bK) | |
384 | + | let bM = 0 | |
385 | + | func bN (bO,bP) = if ((bP >= bL)) | |
386 | + | then bO | |
387 | + | else ca(bO, bK[bP]) | |
131 | 388 | ||
132 | - | let ad = 200000 | |
389 | + | func bQ (bO,bP) = if ((bP >= bL)) | |
390 | + | then bO | |
391 | + | else throw("List size exceeds 6") | |
133 | 392 | ||
134 | - | let ae = 100000 | |
135 | - | ||
136 | - | let af = 400000 | |
137 | - | ||
138 | - | let ag = 31557600000 | |
139 | - | ||
140 | - | let ah = "wlg_assetId" | |
141 | - | ||
142 | - | let ai = "wlg_issueTime" | |
143 | - | ||
144 | - | let aj = "marketingAddr" | |
145 | - | ||
146 | - | let ak = "teamAddr" | |
147 | - | ||
148 | - | let al = "lastClaimedTime_marketing" | |
149 | - | ||
150 | - | let am = "lastClaimedTime_team" | |
151 | - | ||
152 | - | let an = "lastClaimedTime_activities" | |
153 | - | ||
154 | - | func ao (ap) = "lastClaimedTimeUser_ + addr" | |
393 | + | bQ(bN(bN(bN(bN(bN(bN(bM, 0), 1), 2), 3), 4), 5), 6) | |
394 | + | } | |
155 | 395 | ||
156 | 396 | ||
157 | - | @Callable(aq) | |
158 | - | func constructorV1 (ar,as,at) = if ((aq.caller != this)) | |
397 | + | let cd = 100000000000000 | |
398 | + | ||
399 | + | let ce = 100000 | |
400 | + | ||
401 | + | let cf = 200000 | |
402 | + | ||
403 | + | let cg = 100000 | |
404 | + | ||
405 | + | let ch = 400000 | |
406 | + | ||
407 | + | let ci = 31557600000 | |
408 | + | ||
409 | + | let cj = "wlg_assetId" | |
410 | + | ||
411 | + | let ck = "wlg_issueTime" | |
412 | + | ||
413 | + | let cl = "marketingAddr" | |
414 | + | ||
415 | + | let cm = "teamAddr" | |
416 | + | ||
417 | + | let cn = "lastClaimedTime_marketing" | |
418 | + | ||
419 | + | let co = "lastClaimedTime_team" | |
420 | + | ||
421 | + | let cp = "lastClaimedTime_activities" | |
422 | + | ||
423 | + | func cq (aK) = "lastClaimedTimeUser_ + addr" | |
424 | + | ||
425 | + | ||
426 | + | @Callable(cr) | |
427 | + | func constructorV1 (cs,ct,cu) = if ((cr.caller != this)) | |
159 | 428 | then throw("Permission denied") | |
160 | - | else if (isDefined(getString( | |
429 | + | else if (isDefined(getString(cj))) | |
161 | 430 | then throw("Already initialized") | |
162 | 431 | else { | |
163 | - | let | |
164 | - | let | |
165 | - | [ | |
432 | + | let cv = Issue("WLGOLD", "WavesLands Gold investment token", cd, 8, true, unit, 0) | |
433 | + | let aM = calculateAssetId(cv) | |
434 | + | [cv, IntegerEntry(ck, lastBlock.timestamp), BinaryEntry(cj, aM), StringEntry(ay(), cs), StringEntry(cl, ct), StringEntry(cm, cu)] | |
166 | 435 | } | |
167 | 436 | ||
168 | 437 | ||
169 | 438 | ||
170 | - | @Callable( | |
171 | - | func buyWlg ( | |
439 | + | @Callable(cr) | |
440 | + | func buyWlg (cw) = nil | |
172 | 441 | ||
173 | 442 | ||
174 | 443 | ||
175 | - | @Callable( | |
176 | - | func sellWlg ( | |
444 | + | @Callable(cr) | |
445 | + | func sellWlg (cw) = nil | |
177 | 446 | ||
178 | 447 | ||
179 | 448 | ||
180 | - | @Callable( | |
449 | + | @Callable(cr) | |
181 | 450 | func claim () = { | |
182 | - | let | |
183 | - | let | |
184 | - | let | |
185 | - | let | |
186 | - | let | |
187 | - | let | |
188 | - | let | |
189 | - | let | |
190 | - | let | |
191 | - | let | |
192 | - | let | |
193 | - | let | |
194 | - | let | |
195 | - | let | |
196 | - | let | |
197 | - | let | |
198 | - | let | |
199 | - | [ScriptTransfer( | |
451 | + | let cx = cr.caller | |
452 | + | let cy = toString(cx) | |
453 | + | let cz = lastBlock.timestamp | |
454 | + | let cA = valueOrErrorMessage(getInteger(ck), "Not initialized") | |
455 | + | let cB = value(getBinary(cj)) | |
456 | + | let cC = valueOrElse(getInteger(cn), cA) | |
457 | + | let ct = addressFromStringValue(value(getString(cl))) | |
458 | + | let cD = fraction(fraction(cd, ce, g), (cz - cC), ci) | |
459 | + | let cE = valueOrElse(getInteger(co), cA) | |
460 | + | let cu = addressFromStringValue(value(getString(cm))) | |
461 | + | let cF = fraction(fraction(cd, cf, g), (cz - cE), (3 * ci)) | |
462 | + | let cG = valueOrElse(getInteger(cp), cA) | |
463 | + | let cH = fraction(fraction(cd, cg, g), (cz - cG), (3 * ci)) | |
464 | + | let cI = cq(cy) | |
465 | + | let cJ = valueOrElse(getInteger(cI), cA) | |
466 | + | let cK = bD(cy) | |
467 | + | let cL = fraction(fraction(fraction(cd, ch, g), cK[bC], cK[bB]), (cz - cJ), (3 * ci)) | |
468 | + | [ScriptTransfer(ct, cD, cB), ScriptTransfer(cu, cF, cB), ScriptTransfer(aE, cH, cB), ScriptTransfer(cx, cL, cB), IntegerEntry(cn, cz), IntegerEntry(co, cz), IntegerEntry(cp, cz), IntegerEntry(cI, cz)] | |
200 | 469 | } | |
201 | 470 | ||
202 | 471 |
github/deemru/w8io/c3f4982 180.48 ms ◑