tx · 8UY1G7m11wExPnLuEtgUKAVNhAS6TbBC5dgKV8WQfhRz

3N1mAvAyeEwnFekyjaY4BXBKUcHqAUxwQxX:  -0.02800000 Waves

2025.03.11 21:01 [3539712] smart account 3N1mAvAyeEwnFekyjaY4BXBKUcHqAUxwQxX > SELF 0.00000000 Waves

{ "type": 13, "id": "8UY1G7m11wExPnLuEtgUKAVNhAS6TbBC5dgKV8WQfhRz", "fee": 2800000, "feeAssetId": null, "timestamp": 1741716142563, "version": 2, "chainId": 84, "sender": "3N1mAvAyeEwnFekyjaY4BXBKUcHqAUxwQxX", "senderPublicKey": "PwwJDKx8yjU8AygkZRDwcPJMvUHpwP62y3H2F3PoC5C", "proofs": [ "67nZPwd8uMMwzVhp7Zfa48x7oaVHdJ4D9haWEQ6ULd57XscfRYsv1oytwSQdBx2rgU3mHU3uJFyV7gdEuKEagJ74" ], "script": "base64:BgIcCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICDYBDmJhc2VQcmljZVNwaWNlAACAlOvcAwEMYmFzZVByaWNlRWdnAACAhK9fARBkZWxheUZvckhhdGNoaW5nAAACAQ9oYXRjaGluZ1N0YXJ0ZWQAAhBCUkVFRElOR19TVEFSVEVEARBoYXRjaGluZ0ZpbmlzaGVkAAIRQlJFRURJTkdfRklOSVNIRUQBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAAhNzdGF0aWNfc3BpY2VBc3NldElkARxzdGF0aWNLZXlfZHVja0JyZWVkZXJBZGRyZXNzAAIVc3RhdGljX2JyZWVkZXJBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlQnJlZWRlckFkZHJlc3MAAhtzdGF0aWNfdHVydGxlQnJlZWRlckFkZHJlc3MBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBEnN0YXRpY0tleV9leHRyYUZlZQACD3N0YXRpY19leHRyYUZlZQEXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAAhRzdGF0aWNfZmVlQWdncmVnYXRvcgEVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAISc3RhdGljX2J1cm5BZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlU3Rha2luZ0FkZHJlc3MAAhtzdGF0aWNfdHVydGxlU3Rha2luZ0FkZHJlc3MBHnN0YXRpY0tleV9jYW5pbmVCcmVlZGVyQWRkcmVzcwACG3N0YXRpY19jYW5pbmVCcmVlZGVyQWRkcmVzcwEec3RhdGljS2V5X2ZlbGluZUJyZWVkZXJBZGRyZXNzAAIbc3RhdGljX2ZlbGluZUJyZWVkZXJBZGRyZXNzAR1zdGF0aWNLZXlfZWFnbGVCcmVlZGVyQWRkcmVzcwACGnN0YXRpY19lYWdsZUJyZWVkZXJBZGRyZXNzARJnZXRTdGF0c0tleV9hbW91bnQAAgxzdGF0c19hbW91bnQBC2dldFN0YXRzS2V5AQlnZW5TdHJpbmcJAKwCAgkArAICAgZzdGF0c18FCWdlblN0cmluZwIHX2Ftb3VudAELZ2V0Q2hpbGRyZW4BB2Fzc2V0SWQJAKwCAgkArAICAgZhc3NldF8FB2Fzc2V0SWQCCV9jaGlsZHJlbgEMZ2V0UGFyZW50S2V5AgR0eElkCXBhcmVudE51bQkArAICCQCsAgIJAKwCAgIHaW5pdHR4XwkA2AQBBQR0eElkAgdfcGFyZW50CQCkAwEFCXBhcmVudE51bQETZ2V0UHJvY2Vzc1N0YXR1c0tleQIHYWRkcmVzcwR0eElkCQCsAgIJAKwCAgkArAICBQdhZGRyZXNzAgFfBQR0eElkAgdfc3RhdHVzARlnZXRQcm9jZXNzRmluaXNoSGVpZ2h0S2V5AgdhZGRyZXNzBHR4SWQJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8FBHR4SWQCA19maAEIZ2V0SWRLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwUEdHhJZAIDX2RpARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJ0IAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAAQx0cnlHZXRTdHJpbmcBA2tleQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgUEdGhpcwUDa2V5AQ10cnlHZXRJbnRlZ2VyAQNrZXkEA3ZhbAQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAAFA3ZhbAEJZ2V0T3JhY2xlAAkBB0FkZHJlc3MBCQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV90dXJ0bGVCcmVlZGVyQWRkcmVzcwABFWdldER1Y2tCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHHN0YXRpY0tleV9kdWNrQnJlZWRlckFkZHJlc3MAARZnZXRFYWdsZUJyZWVkZXJBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEdc3RhdGljS2V5X2VhZ2xlQnJlZWRlckFkZHJlc3MAARdnZXRDYW5pbmVCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV9jYW5pbmVCcmVlZGVyQWRkcmVzcwABF2dldEZlbGluZUJyZWVkZXJBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEec3RhdGljS2V5X2ZlbGluZUJyZWVkZXJBZGRyZXNzAAENZ2V0RWdnQXNzZXRJZAAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARRzdGF0aWNLZXlfZWdnQXNzZXRJZAABD2dldFNwaWNlQXNzZXRJZAAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARZzdGF0aWNLZXlfc3BpY2VBc3NldElkAAEQZ2V0RmVlQWdncmVnYXRvcgAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAEOZ2V0QnVybkFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARVzdGF0aWNLZXlfYnVybkFkZHJlc3MAARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV90dXJ0bGVTdGFraW5nQWRkcmVzcwABEWdldEFsbG93ZWRNdXRhbnRzAAkAzAgCCQEXZ2V0VHVydGxlQnJlZWRlckFkZHJlc3MACQDMCAIJARVnZXREdWNrQnJlZWRlckFkZHJlc3MABQNuaWwBEGNhbGNQcmljZUluQXNzZXQBCmJhc2VBbW91bnQJAGQCBQpiYXNlQW1vdW50CQBpAgkAaQIJAGgCBQpiYXNlQW1vdW50CQBkAgkBDXRyeUdldEludGVnZXIBCQESZ2V0U3RhdHNLZXlfYW1vdW50AAABAOgHCQCQAwEJARFnZXRBbGxvd2VkTXV0YW50cwABB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBCWlzVGVzdEVudgAJAQdnZXRCb29sAQIHVEVTVEVOVgEPZ2V0UmFuZG9tTnVtYmVyBAh2YXJpYW50cwR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0Bm9mZnNldAQPcmFuZG9tU2VlZEJsb2NrCQEFdmFsdWUBCQDtBwEJAGUCBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAABBApyYW5kb21IYXNoCQDUFgEJAMsBAgUEdHhJZAkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYJAGoCCQCyCQIFCnJhbmRvbUhhc2gFBm9mZnNldAUIdmFyaWFudHMBDGdldFJhbmRvbUdlbgUEZ2VuMQRnZW4yBHN0ZXAEdHhJZBRoYXRjaGluZ0ZpbmlzaEhlaWdodAQJcmFuZG9tTnVtCQEPZ2V0UmFuZG9tTnVtYmVyBAACBQR0eElkBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAUEc3RlcAQDZ2VuAwkAAAIFCXJhbmRvbU51bQAABQRnZW4xBQRnZW4yBQNnZW4BCGdlbmVyYXRlBAR0eElkDGZpbmlzaEhlaWdodAlwYXJlbnQxSWQJcGFyZW50MklkBAtjb2xvclJhbmRvbQkBD2dldFJhbmRvbU51bWJlcgQAZAUEdHhJZAUMZmluaXNoSGVpZ2h0AAsEBWNvbG9yAwkAZgIAGgULY29sb3JSYW5kb20CAUEDCQBmAgAwBQtjb2xvclJhbmRvbQIBQgMJAGYCAEYFC2NvbG9yUmFuZG9tAgFDAwkAZgIAWgULY29sb3JSYW5kb20CAUQCAUcECnBhcmVudDFHZW4JALUJAggJAQV2YWx1ZQEJAOwHAQUJcGFyZW50MUlkBG5hbWUCAAQKcGFyZW50MkdlbgkAtQkCCAkBBXZhbHVlAQkA7AcBBQlwYXJlbnQySWQEbmFtZQIABANnZW4JAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIFTVROVC0JAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ABQkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAUAAAUEdHhJZAUMZmluaXNoSGVpZ2h0CQEMZ2V0UmFuZG9tR2VuBQkArAICCQCRAwIFCnBhcmVudDFHZW4AAAkAkQMCBQpwYXJlbnQxR2VuAAYJAKwCAgkAkQMCBQpwYXJlbnQyR2VuAAAJAJEDAgUKcGFyZW50MkdlbgAGAAEFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAHCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ABwACBQR0eElkBQxmaW5pc2hIZWlnaHQJAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ACAkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAgAAwUEdHhJZAUMZmluaXNoSGVpZ2h0CQEMZ2V0UmFuZG9tR2VuBQkArAICCQCRAwIFCnBhcmVudDFHZW4AAAkAkQMCBQpwYXJlbnQxR2VuAAkJAKwCAgkAkQMCBQpwYXJlbnQyR2VuAAAJAJEDAgUKcGFyZW50MkdlbgAJAAQFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAKCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACgAFBQR0eElkBQxmaW5pc2hIZWlnaHQJAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ACwkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAsABgUEdHhJZAUMZmluaXNoSGVpZ2h0CQEMZ2V0UmFuZG9tR2VuBQkArAICCQCRAwIFCnBhcmVudDFHZW4AAAkAkQMCBQpwYXJlbnQxR2VuAAwJAKwCAgkAkQMCBQpwYXJlbnQyR2VuAAAJAJEDAgUKcGFyZW50MkdlbgAMAAcFBHR4SWQFDGZpbmlzaEhlaWdodAICLUcFBWNvbG9yBQNnZW4BCGlzU3ltYm9sAgNhY2MDc3ltAwkAAAIFA3N5bQgFA2FjYwJfMgkAlAoCCQBkAggFA2FjYwJfMQABCAUDYWNjAl8yCQCUCgIJAGQCCAUDYWNjAl8xAAAIBQNhY2MCXzIBEGdldEFtb3VudE9yQ2xlYXIBBmFtb3VudAMJAQhjb250YWlucwIFBmFtb3VudAIBMAIABQZhbW91bnQBCGNoYXJMaXN0AAkAzAgCAgFBCQDMCAICAUIJAMwIAgIBQwkAzAgCAgFECQDMCAICAUUJAMwIAgIBRgkAzAgCAgFHCQDMCAICAUgJAMwIAgIBSQkAzAgCAgFKCQDMCAICAUsJAMwIAgIBTAkAzAgCAgFNCQDMCAICAU4JAMwIAgIBTwkAzAgCAgFQCQDMCAICAVEJAMwIAgIBUgkAzAgCAgFTCQDMCAICAVQJAMwIAgIBVQkAzAgCAgFWCQDMCAICAVcJAMwIAgIBWAkAzAgCAgFZCQDMCAICAVoFA25pbAERZ2V0UmFyaXR5RnJvbU5hbWUBBG5hbWUEBWNvbG9yCQCyAgIFBG5hbWUAAQQIZ2Vub3R5cGUJALUJAgkAswICCQCwAgIFBG5hbWUABQADAgAECGdlbmV0aWNzCQDMCAIJAJEDAgUIZ2Vub3R5cGUAAQkAzAgCCQCRAwIFCGdlbm90eXBlAAMJAMwIAgkAkQMCBQhnZW5vdHlwZQAFCQDMCAIJAJEDAgUIZ2Vub3R5cGUABwkAzAgCCQCRAwIFCGdlbm90eXBlAAkJAMwIAgkAkQMCBQhnZW5vdHlwZQALCQDMCAIJAJEDAgUIZ2Vub3R5cGUADQkAzAgCCQCRAwIFCGdlbm90eXBlAA8FA25pbAoBDWNvbXBvc2VTdHJpbmcCA2FjYwRjaGFyBAljaGFyQ291bnQKAAIkbAUIZ2VuZXRpY3MKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAUEY2hhcgoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIaXNTeW1ib2wCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAICQCsAgIFA2FjYwkBEGdldEFtb3VudE9yQ2xlYXIBCQCsAgIJAKQDAQgFCWNoYXJDb3VudAJfMQUEY2hhcgkArAICCQCsAgIKAAIkbAkBCGNoYXJMaXN0AAoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQENY29tcG9zZVN0cmluZwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaAgEtBQVjb2xvcgENbnJPZlR5cGVHZW5lcwEDZ2VuBAhnZW5vdHlwZQkAtQkCCQCzAgIJALACAgUDZ2VuAAUAAwIABAZwYXJ0czEJAKwCAgkAkQMCBQhnZW5vdHlwZQAACQCRAwIFCGdlbm90eXBlAAEEBnBhcnRzMgkArAICCQCRAwIFCGdlbm90eXBlAAIJAJEDAgUIZ2Vub3R5cGUAAwQGcGFydHMzCQCsAgIJAJEDAgUIZ2Vub3R5cGUABAkAkQMCBQhnZW5vdHlwZQAFBAZwYXJ0czQJAKwCAgkAkQMCBQhnZW5vdHlwZQAGCQCRAwIFCGdlbm90eXBlAAcEBnBhcnRzNQkArAICCQCRAwIFCGdlbm90eXBlAAgJAJEDAgUIZ2Vub3R5cGUACQQGcGFydHM2CQCsAgIJAJEDAgUIZ2Vub3R5cGUACgkAkQMCBQhnZW5vdHlwZQALBAZwYXJ0czcJAKwCAgkAkQMCBQhnZW5vdHlwZQAMCQCRAwIFCGdlbm90eXBlAA0EBnBhcnRzOAkArAICCQCRAwIFCGdlbm90eXBlAA4JAJEDAgUIZ2Vub3R5cGUADwQFcGFydHMJAMwIAgUGcGFydHMxCQDMCAIFBnBhcnRzMgkAzAgCBQZwYXJ0czMJAMwIAgUGcGFydHM0CQDMCAIFBnBhcnRzNQkAzAgCBQZwYXJ0czYJAMwIAgUGcGFydHM3CQDMCAIFBnBhcnRzOAUDbmlsCgEPc29ydFBhcnRzQnlUeXBlAgNhY2MEcGFydAQKc3BsaXRQYXJ0cwkAtQkCBQRwYXJ0AgADCQAAAgkAkQMCBQpzcGxpdFBhcnRzAAACAVQJAJcKBQkAzQgCCAUDYWNjAl8xCQCRAwIFCnNwbGl0UGFydHMAAQgFA2FjYwJfMggFA2FjYwJfMwgFA2FjYwJfNAgFA2FjYwJfNQMJAAACCQCRAwIFCnNwbGl0UGFydHMAAAIBRAkAlwoFCAUDYWNjAl8xCQDNCAIIBQNhY2MCXzIJAJEDAgUKc3BsaXRQYXJ0cwABCAUDYWNjAl8zCAUDYWNjAl80CAUDYWNjAl81AwkAAAIJAJEDAgUKc3BsaXRQYXJ0cwAAAgFGCQCXCgUIBQNhY2MCXzEIBQNhY2MCXzIJAM0IAggFA2FjYwJfMwkAkQMCBQpzcGxpdFBhcnRzAAEIBQNhY2MCXzQIBQNhY2MCXzUDCQAAAgkAkQMCBQpzcGxpdFBhcnRzAAACAUMJAJcKBQgFA2FjYwJfMQgFA2FjYwJfMggFA2FjYwJfMwkAzQgCCAUDYWNj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JGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgQSZmluaXNoZWRUdXJ0bGVHZW5zAwkAAAIFCnR1cnRsZUdlbnMCAAIACQCsAgIJAKwCAgICVDoFCnR1cnRsZUdlbnMCAV8EEGZpbmlzaGVkRHVja0dlbnMDCQAAAgUIZHVja0dlbnMCAAIACQCsAgIJAKwCAgICRDoFCGR1Y2tHZW5zAgFfBA9maW5pc2hlZENhdEdlbnMDCQAAAgUHY2F0R2VucwIAAgAJAKwCAgkArAICAgJGOgUHY2F0R2VucwIBXwQQZmluaXNoZWRIb25kR2VucwMJAAACBQhob25kR2VucwIAAgAJAKwCAgkArAICAgJDOgUIaG9uZEdlbnMCAV8EEWZpbmlzaGVkRWFnbGVHZW5zAwkAAAIFCWVhZ2xlR2VucwIAAgAJAKwCAgkArAICAgJFOgUIaG9uZEdlbnMCAV8JAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCAgxERUJVR19UVVJUTEUFCnR1cnRsZUdlbnMJAMwIAgkBC1N0cmluZ0VudHJ5AgIKREVCVUdfRFVDSwUIZHVja0dlbnMJAMwIAgkBC1N0cmluZ0VudHJ5AgIJREVCVUdfQ0FUBQdjYXRHZW5zCQDMCAIJAQtTdHJpbmdFbnRyeQICCkRFQlVHX0hPTkQFCGhvbmRHZW5zCQDMCAIJAQtTdHJpbmdFbnRyeQICC0RFQlVHX0VBR0xFBQllYWdsZUdlbnMFA25pbAkArAICCQCsAgIJAKwCAgkArAICBRJmaW5pc2hlZFR1cnRsZUdlbnMFEGZpbmlzaGVkRHVja0dlbnMFD2ZpbmlzaGVkQ2F0R2VucwUIaG9uZEdlbnMFCWVhZ2xlR2VucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEWdmFsaWRhdGVJZk11dGFudEZhaWxlZAEGcmFyaXR5AwkAZgIAAwkAkAMBCQC1CQIFBnJhcml0eQIBOgYHARZmaW5pc2hIYXRjaGluZ0ludGVybmFsAgR0eElkBW93bmVyBBBwcm9jZXNzU3RhdHVzS2V5CQETZ2V0UHJvY2Vzc1N0YXR1c0tleQIFBW93bmVyBQR0eElkBA9maW5pc2hIZWlnaHRLZXkJARlnZXRQcm9jZXNzRmluaXNoSGVpZ2h0S2V5AgUFb3duZXIFBHR4SWQEBUlkS2V5CQEIZ2V0SWRLZXkCBQVvd25lcgUEdHhJZAQPcHJvY2Vzc1R4U3RhdHVzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBRBwcm9jZXNzU3RhdHVzS2V5BBNwcm9jZXNzRmluaXNoSGVpZ2h0CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ9maW5pc2hIZWlnaHRLZXkDCQAAAgUPcHJvY2Vzc1R4U3RhdHVzCQEQaGF0Y2hpbmdGaW5pc2hlZAAEAklkCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEIZ2V0SWRLZXkCBQVvd25lcgUEdHhJZAkAAgEJAKwCAgJCVGhlIE1VVEFOVCB3YXMgYnJlZWRlZCBhbmQgY2xhaW1lZCBhbHJlYWR5LCBoZXJlIGlzIHRoZSBmb2xvd2luZzogBQJJZAMJAGYCBRNwcm9jZXNzRmluaXNoSGVpZ2h0BQZoZWlnaHQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgICHUJyZWVkaW5nIGlzIG5vdCBmaW5pc2hlZCB5ZXQgCQCkAwEJAGUCBRNwcm9jZXNzRmluaXNoSGVpZ2h0BQZoZWlnaHQCJyBibG9ja3MgcmVtYWluaW5nLCBpdCB3aWxsIHRha2UgYXJvdW5kIAkApAMBCQBlAgUTcHJvY2Vzc0ZpbmlzaEhlaWdodAUGaGVpZ2h0AgggbWludXRlcwQJcGFyZW50MUlkCQEMdHJ5R2V0U3RyaW5nAQkBDGdldFBhcmVudEtleQIJANkEAQUEdHhJZAABBAlwYXJlbnQySWQJAQx0cnlHZXRTdHJpbmcBCQEMZ2V0UGFyZW50S2V5AgkA2QQBBQR0eElkAAIEDnBhcmVudDFJZEJ5dGVzCQDZBAEFCXBhcmVudDFJZAQOcGFyZW50MklkQnl0ZXMJANkEAQUJcGFyZW50MklkBANnZW4JAQhnZW5lcmF0ZQQJANkEAQUEdHhJZAUTcHJvY2Vzc0ZpbmlzaEhlaWdodAUOcGFyZW50MUlkQnl0ZXMFDnBhcmVudDJJZEJ5dGVzBAdmYXJtR2VuCQENbnJPZlR5cGVHZW5lcwEFA2dlbgQOcmFyaXR5RnJvbU5hbWUJARFnZXRSYXJpdHlGcm9tTmFtZQEFA2dlbgQJYW1vdW50R2VuCQBkAgkBDXRyeUdldEludGVnZXIBCQELZ2V0U3RhdHNLZXkBBQNnZW4AAQQGYW1vdW50CQBkAgkBDXRyeUdldEludGVnZXIBCQESZ2V0U3RhdHNLZXlfYW1vdW50AAABBAVhc3NldAkAwwgHCQCsAgICBU1UTlQtCQCkAwEFBmFtb3VudAUDZ2VuAAEAAAcFBHVuaXQFE3Byb2Nlc3NGaW5pc2hIZWlnaHQEB2Fzc2V0SWQJALgIAQUFYXNzZXQECHF1YW50aXR5CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZzdGF0c18IBQdmYXJtR2VuAl8yAglfcXVhbnRpdHkEBnJhcml0eQkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RhdHNfBQ5yYXJpdHlGcm9tTmFtZQIHX3Jhcml0eQQOb3duZXJBc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBW93bmVyBAZmYWlsZWQJARZ2YWxpZGF0ZUlmTXV0YW50RmFpbGVkAQgFB2Zhcm1HZW4CXzIEDnRyYW5zZmVyT3JCdXJuAwUGZmFpbGVkCQEEQnVybgIFB2Fzc2V0SWQAAQkBDlNjcmlwdFRyYW5zZmVyAwUOb3duZXJBc0FkZHJlc3MAAQUHYXNzZXRJZAQVdHJhbnNmZXJPckJ1cm5QYXJlbnQxAwkAAAIJAQ9nZXRSYW5kb21OdW1iZXIEAAoJANkEAQUEdHhJZAUTcHJvY2Vzc0ZpbmlzaEhlaWdodAACAAUJAQRCdXJuAgUOcGFyZW50MUlkQnl0ZXMAAQkBDlNjcmlwdFRyYW5zZmVyAwUOb3duZXJBc0FkZHJlc3MAAQUOcGFyZW50MUlkQnl0ZXMEFXRyYW5zZmVyT3JCdXJuUGFyZW50MgMJAAACCQEPZ2V0UmFuZG9tTnVtYmVyBAAKCQDZBAEFBHR4SWQFE3Byb2Nlc3NGaW5pc2hIZWlnaHQAAwAFCQEEQnVybgIFDnBhcmVudDJJZEJ5dGVzAAEJAQ5TY3JpcHRUcmFuc2ZlcgMFDm93bmVyQXNBZGRyZXNzAAEFDnBhcmVudDJJZEJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIFEHByb2Nlc3NTdGF0dXNLZXkJARBoYXRjaGluZ0ZpbmlzaGVkAAkAzAgCCQELU3RyaW5nRW50cnkCBQVJZEtleQkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQUHYXNzZXRJZAUFSWRLZXkJAMwIAgkBDEludGVnZXJFbnRyeQIJAQtnZXRTdGF0c0tleQEFA2dlbgUJYW1vdW50R2VuCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0U3RhdHNLZXlfYW1vdW50AAUGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RhdHNfCAUHZmFybUdlbgJfMgIJX3F1YW50aXR5CQBkAgUIcXVhbnRpdHkAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0YXRzXwUOcmFyaXR5RnJvbU5hbWUCB19yYXJpdHkJAGQCBQZyYXJpdHkAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBmFzc2V0XwUJcGFyZW50MUlkAglfY2hpbGRyZW4AAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBmFzc2V0XwUJcGFyZW50MklkAglfY2hpbGRyZW4AAQkAzAgCBQVhc3NldAkAzAgCBQ50cmFuc2Zlck9yQnVybgkAzAgCBRV0cmFuc2Zlck9yQnVyblBhcmVudDEJAMwIAgUVdHJhbnNmZXJPckJ1cm5QYXJlbnQyBQNuaWwBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBB3BheW1lbnQDCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAkAAgECGUJDQVA6IFBsZWFzZSBhdHRhY2ggd2F2ZXMECWZlZUFtb3VudAkBEUBleHRyTmF0aXZlKDEwNTApAgkBCWdldE9yYWNsZQAJARJzdGF0aWNLZXlfZXh0cmFGZWUAAwkBAiE9AggFB3BheW1lbnQGYW1vdW50BQlmZWVBbW91bnQJAAIBCQCsAgIJAKwCAgIcQkNBUDogUGxlYXNlIGF0dGFjaCBleGFjdGx5IAkApAMBBQlmZWVBbW91bnQCEyBhbW91bnQgb2Ygd2F2ZWxldHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEGdldEZlZUFnZ3JlZ2F0b3IABQlmZWVBbW91bnQFBHVuaXQFA25pbAEaY2hlY2tUeXBlQW5kVmFsaWRPYnN0aW5hdGUBBGluZm8ECHNwbGl0dGVkCQC1CQIIBQRpbmZvBG5hbWUCAAQEdHlwZQkAkQMCBQhzcGxpdHRlZAAABANnZW4JAJEDAgUIc3BsaXR0ZWQADgMJAQIhPQIFA2dlbgIBTwkAAgECMk1DVEFWTzogT25seSBvYnN0aW5hdGVzIGNhbiBiZSB0dXJuZWQgaW50byBtdXRhbnRzBAlicmVlZGVyU2MDCQAAAgUEdHlwZQIBVAkBF2dldFR1cnRsZUJyZWVkZXJBZGRyZXNzAAMJAAACBQR0eXBlAgFECQEVZ2V0RHVja0JyZWVkZXJBZGRyZXNzAAMJAAACBQR0eXBlAgFDCQEXZ2V0Q2FuaW5lQnJlZWRlckFkZHJlc3MAAwkAAAIFBHR5cGUCAUYJARdnZXRGZWxpbmVCcmVlZGVyQWRkcmVzcwADCQAAAgUEdHlwZQIBRQkBFmdldEVhZ2xlQnJlZWRlckFkZHJlc3MACQACAQIUTUNUQVZPOiBJbnZhbGlkIHR5cGUDCQECIT0CBQlicmVlZGVyU2MIBQRpbmZvBmlzc3VlcgkAAgECTE1DVEFWTzogT25seSBvYnN0aW5hdGVzIGZyb20gdGhlIGJyZWVkZXIgY29udHJhY3QgY2FuIGJlIHR1cm5lZCBpbnRvIG11dGFudHMDCQAAAgkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgUJYnJlZWRlclNjCQDYBAEIBQRpbmZvAmlkAgAJAAIBAhNNQ1RBVk86IEludmFsaWQgbmZ0AwkAAAIJAQ10cnlHZXRJbnRlZ2VyAQkBC2dldENoaWxkcmVuAQkA2AQBCAUEaW5mbwJpZAABCQACAQIYTUNUQVZPOiBORlQgYWxyZWFkeSB1c2VkBQR0eXBlBQFpAQ9jb25maWd1cmVPcmFjbGUBBm9yYWNsZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD0lDVTogYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwUGb3JhY2xlBQNuaWwBaQETc3RhcnRNdXRhbnRIYXRjaGluZwEOcmVmZXJlckFkZHJlc3MDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAUJAAIBAhlNU01IOiA1IHBheW1lbnRzIHJlcXVpcmVkAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAQkAAgECIE1TTUg6IDFzdCBwYXltZW50IG11c3QgYmUgYW4gTkZUAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAQZhbW91bnQAAQkAAgECIE1TTUg6IDJuZCBwYXltZW50IG11c3QgYmUgYW4gTkZUBAx2YWxpZFBheW1lbnQJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwACAwkAAAIFDHZhbGlkUGF5bWVudAUMdmFsaWRQYXltZW50AwMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAMHYXNzZXRJZAkBD2dldFNwaWNlQXNzZXRJZAAGCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwADBmFtb3VudAkBEGNhbGNQcmljZUluQXNzZXQBCQEOYmFzZVByaWNlU3BpY2UACQACAQIiTVNNSDogNHRoIHBheW1lbnQgbXVzdCBiZSBpbiBzcGljZQMDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAEB2Fzc2V0SWQJAQ1nZXRFZ2dBc3NldElkAAYJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAQGYW1vdW50CQEQY2FsY1ByaWNlSW5Bc3NldAEJAQxiYXNlUHJpY2VFZ2cACQACAQIgTVNNSDogNXRoIHBheW1lbnQgbXVzdCBiZSBpbiBlZ2cEBG5mdDEJAQV2YWx1ZQEJAOwHAQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBARuZnQyCQEFdmFsdWUBCQDsBwEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAQFdHlwZTEJARpjaGVja1R5cGVBbmRWYWxpZE9ic3RpbmF0ZQEFBG5mdDEEBXR5cGUyCQEaY2hlY2tUeXBlQW5kVmFsaWRPYnN0aW5hdGUBBQRuZnQyBAhidXJuQ2FsbAkA/AcECQEOZ2V0QnVybkFkZHJlc3MAAhRidXJuQXR0YWNoZWRQYXltZW50cwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0RWdnQXNzZXRJZAAJAPAHAgUEdGhpcwkBDWdldEVnZ0Fzc2V0SWQABQNuaWwDCQAAAgUIYnVybkNhbGwFCGJ1cm5DYWxsBAV0b3B1cAkA/AcECQEXZ2V0VHVydGxlU3Rha2luZ0FkZHJlc3MAAgt0b3BVcFJld2FyZAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEPZ2V0U3BpY2VBc3NldElkAAkAaQIJAPAHAgUEdGhpcwkBD2dldFNwaWNlQXNzZXRJZAAABQUDbmlsAwkAAAIFBXRvcHVwBQV0b3B1cAMJAAACBQV0eXBlMQUFdHlwZTIJAAIBAiZNU01IOiBORlRzIGNhbiBub3QgYmUgb2YgdGhlIHNhbWUgdHlwZQkAzggCCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxnZXRQYXJlbnRLZXkCCAUBaQ10cmFuc2FjdGlvbklkAAEJANgEAQgFBG5mdDECaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGdldFBhcmVudEtleQIIBQFpDXRyYW5zYWN0aW9uSWQAAgkA2AQBCAUEbmZ0MgJpZAkAzAgCCQELU3RyaW5nRW50cnkCCQETZ2V0UHJvY2Vzc1N0YXR1c0tleQIJAKUIAQgFAWkGY2FsbGVyCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJAQ9oYXRjaGluZ1N0YXJ0ZWQACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQIJAKUIAQgFAWkGY2FsbGVyCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJAGQCBQZoZWlnaHQJARBkZWxheUZvckhhdGNoaW5nAAkAzAgCCQEEQnVybgIJAQ9nZXRTcGljZUFzc2V0SWQACQDwBwIFBHRoaXMJAQ9nZXRTcGljZUFzc2V0SWQABQNuaWwFDHZhbGlkUGF5bWVudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARRmaW5pc2hNdXRhbnRIYXRjaGluZwEHdHhJZFN0cgQFb3duZXIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIfTUZNSDogV3JvbmcgYW1vdW50IG9mIHBheW1lbnRzIQQLZmVlVmFsaWRhdGUJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwAAAwkAAAIFC2ZlZVZhbGlkYXRlBQtmZWVWYWxpZGF0ZQkAzggCCQEWZmluaXNoSGF0Y2hpbmdJbnRlcm5hbAIFB3R4SWRTdHIFBW93bmVyBQtmZWVWYWxpZGF0ZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQlnZXRSYXJpdHkBCGdlbm90eXBlBA5yYXJpdHlGcm9tTmFtZQkBEWdldFJhcml0eUZyb21OYW1lAQUIZ2Vub3R5cGUECHF1YW50aXR5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBnN0YXRzXwUOcmFyaXR5RnJvbU5hbWUCB19yYXJpdHkJAKwCAgkArAICAgZzdGF0c18FDnJhcml0eUZyb21OYW1lAgdfcmFyaXR5BAVwb3dlcgkAbAYJAGkCAJBOBQhxdWFudGl0eQAEAAUAAQACBQVGTE9PUgQGcmFyaXR5AwkAZgIFBXBvd2VyAAAFBXBvd2VyAAIJAJQKAgUDbmlsCQCUCgIFDnJhcml0eUZyb21OYW1lBQZyYXJpdHkBaQEMcmVkdWNlUmFyaXR5Agdhc3NldElkBGZHZW4JAAIBAhRNUlI6IE5vdCBpbXBsZW1lbnRlZAECdHgBBnZlcmlmeQADCQEJaXNUZXN0RW52AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQQJZmlyc3RVc2VyASBRHOT9Zv8SadLxWhSfO7Li9Dt/wctoJ6I0Xmw411fdbQQKc2Vjb25kVXNlcgEgXHIOS67xIU9m5hlF+mqise2xNilZXxnMzLDhTUGIan0ECXRoaXJkVXNlcgEgoK+R5S15Q2FhMhKtjrn6GFlRnS1TSTbD0KP3qGAZO04ED2ZpcnN0VXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQlmaXJzdFVzZXIAAQAABBBzZWNvbmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUKc2Vjb25kVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUKc2Vjb25kVXNlcgABAAAED3RoaXJkVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQl0aGlyZFVzZXIAAQAABA9zaWduYXR1cmVzQ291bnQJAGQCCQBkAgUPZmlyc3RVc2VyU2lnbmVkBRBzZWNvbmRVc2VyU2lnbmVkBQ90aGlyZFVzZXJTaWduZWQEByRtYXRjaDAFAnR4CQBnAgUPc2lnbmF0dXJlc0NvdW50AAFdCWP/", "height": 3539712, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2XuHMj4Rnf9eG9nhXVGRUVNSD22Tggo57DpdJ9PQsMUd Next: 2fvYZG1iWTKFyg2nQpQtFVQe1HbTwTwzzhujeGDPyfg3 Diff:
OldNewDifferences
3737 func l () = "static_feeAggregator"
3838
3939
40-func m () = "stats_amount"
40+func m () = "static_burnAddress"
4141
4242
43-func n (o) = (("stats_" + o) + "_amount")
43+func n () = "static_turtleStakingAddress"
4444
4545
46-func p (q) = (("asset_" + q) + "_children")
46+func o () = "static_canineBreederAddress"
4747
4848
49-func r (s,t) = ((("inittx_" + toBase58String(s)) + "_parent") + toString(t))
49+func p () = "static_felineBreederAddress"
5050
5151
52-func u (v,s) = (((v + "_") + s) + "_status")
52+func q () = "static_eagleBreederAddress"
5353
5454
55-func w (v,s) = (((v + "_") + s) + "_fh")
55+func r () = "stats_amount"
5656
5757
58-func x (v,s) = (((v + "_") + s) + "_di")
58+func s (t) = (("stats_" + t) + "_amount")
5959
6060
61-func y (v,z) = {
62- let A = getString(v, z)
63- if ($isInstanceOf(A, "String"))
61+func u (v) = (("asset_" + v) + "_children")
62+
63+
64+func w (x,y) = ((("inittx_" + toBase58String(x)) + "_parent") + toString(y))
65+
66+
67+func z (A,x) = (((A + "_") + x) + "_status")
68+
69+
70+func B (A,x) = (((A + "_") + x) + "_fh")
71+
72+
73+func C (A,x) = (((A + "_") + x) + "_di")
74+
75+
76+func D (A,E) = {
77+ let F = getString(A, E)
78+ if ($isInstanceOf(F, "String"))
6479 then {
65- let B = A
66- B
80+ let G = F
81+ G
6782 }
6883 else ""
6984 }
7085
7186
72-func C (z) = y(this, z)
87+func H (E) = D(this, E)
7388
7489
75-func D (z) = {
76- let E = {
77- let A = getInteger(this, z)
78- if ($isInstanceOf(A, "Int"))
90+func I (E) = {
91+ let J = {
92+ let F = getInteger(this, E)
93+ if ($isInstanceOf(F, "Int"))
7994 then {
80- let F = A
81- F
95+ let K = F
96+ K
8297 }
8398 else 0
8499 }
85- E
100+ J
86101 }
87102
88103
89-func G () = Address(fromBase58String(C(j())))
104+func L () = Address(fromBase58String(H(j())))
90105
91106
92-func H () = Address(fromBase58String(y(G(), i())))
107+func M () = Address(fromBase58String(D(L(), i())))
93108
94109
95-func I () = Address(fromBase58String(y(G(), h())))
110+func N () = Address(fromBase58String(D(L(), h())))
96111
97112
98-func J () = fromBase58String(y(G(), f()))
113+func O () = Address(fromBase58String(D(L(), q())))
99114
100115
101-func K () = fromBase58String(y(G(), g()))
116+func P () = Address(fromBase58String(D(L(), o())))
102117
103118
104-func L () = Address(fromBase58String(y(G(), l())))
119+func Q () = Address(fromBase58String(D(L(), p())))
105120
106121
107-func M () = [H(), I()]
122+func R () = fromBase58String(D(L(), f()))
108123
109124
110-func N (O) = (O + (((O * (D(m()) + 1)) / 1000) / size(M())))
125+func S () = fromBase58String(D(L(), g()))
111126
112127
113-func P (z) = {
114- let A = getBoolean(this, z)
115- if ($isInstanceOf(A, "Boolean"))
128+func T () = Address(fromBase58String(D(L(), l())))
129+
130+
131+func U () = Address(fromBase58String(D(L(), m())))
132+
133+
134+func V () = Address(fromBase58String(D(L(), n())))
135+
136+
137+func W () = [M(), N()]
138+
139+
140+func X (Y) = (Y + (((Y * (I(r()) + 1)) / 1000) / size(W())))
141+
142+
143+func Z (E) = {
144+ let F = getBoolean(this, E)
145+ if ($isInstanceOf(F, "Boolean"))
116146 then {
117- let F = A
118- F
147+ let K = F
148+ K
119149 }
120150 else false
121151 }
122152
123153
124-func Q () = P("TESTENV")
154+func aa () = Z("TESTENV")
125155
126156
127-func R (S,s,T,U) = {
128- let V = value(blockInfoByHeight((T - 1)))
129- let W = sha256_16Kb((s + value(V.vrf)))
130- (toInt(W, U) % S)
157+func ab (ac,x,ad,ae) = {
158+ let af = value(blockInfoByHeight((ad - 1)))
159+ let ag = sha256_16Kb((x + value(af.vrf)))
160+ (toInt(ag, ae) % ac)
131161 }
132162
133163
134-func X (Y,Z,aa,s,T) = {
135- let ab = R(2, s, T, aa)
136- let ac = if ((ab == 0))
137- then Y
138- else Z
139- ac
164+func ah (ai,aj,ak,x,ad) = {
165+ let al = ab(2, x, ad, ak)
166+ let am = if ((al == 0))
167+ then ai
168+ else aj
169+ am
140170 }
141171
142172
143-func ad (s,ae,af,ag) = {
144- let ah = R(100, s, ae, 11)
145- let ai = if ((26 > ah))
173+func an (x,ao,ap,aq) = {
174+ let ar = ab(100, x, ao, 11)
175+ let as = if ((26 > ar))
146176 then "A"
147- else if ((48 > ah))
177+ else if ((48 > ar))
148178 then "B"
149- else if ((70 > ah))
179+ else if ((70 > ar))
150180 then "C"
151- else if ((90 > ah))
181+ else if ((90 > ar))
152182 then "D"
153183 else "G"
154- let aj = split(value(assetInfo(af)).name, "")
155- let ak = split(value(assetInfo(ag)).name, "")
156- let ac = (((((((((("MTNT-" + X((aj[0] + aj[5]), (ak[0] + ak[5]), 0, s, ae)) + X((aj[0] + aj[6]), (ak[0] + ak[6]), 1, s, ae)) + X((aj[0] + aj[7]), (ak[0] + ak[7]), 2, s, ae)) + X((aj[0] + aj[8]), (ak[0] + ak[8]), 3, s, ae)) + X((aj[0] + aj[9]), (ak[0] + ak[9]), 4, s, ae)) + X((aj[0] + aj[10]), (ak[0] + ak[10]), 5, s, ae)) + X((aj[0] + aj[11]), (ak[0] + ak[11]), 6, s, ae)) + X((aj[0] + aj[12]), (ak[0] + ak[12]), 7, s, ae)) + "-G") + ai)
157- ac
184+ let at = split(value(assetInfo(ap)).name, "")
185+ let au = split(value(assetInfo(aq)).name, "")
186+ let am = (((((((((("MTNT-" + ah((at[0] + at[5]), (au[0] + au[5]), 0, x, ao)) + ah((at[0] + at[6]), (au[0] + au[6]), 1, x, ao)) + ah((at[0] + at[7]), (au[0] + au[7]), 2, x, ao)) + ah((at[0] + at[8]), (au[0] + au[8]), 3, x, ao)) + ah((at[0] + at[9]), (au[0] + au[9]), 4, x, ao)) + ah((at[0] + at[10]), (au[0] + au[10]), 5, x, ao)) + ah((at[0] + at[11]), (au[0] + au[11]), 6, x, ao)) + ah((at[0] + at[12]), (au[0] + au[12]), 7, x, ao)) + "-G") + as)
187+ am
158188 }
159189
160190
161-func al (am,an) = if ((an == am._2))
162- then $Tuple2((am._1 + 1), am._2)
163- else $Tuple2((am._1 + 0), am._2)
191+func av (aw,ax) = if ((ax == aw._2))
192+ then $Tuple2((aw._1 + 1), aw._2)
193+ else $Tuple2((aw._1 + 0), aw._2)
164194
165195
166-func ao (ap) = if (contains(ap, "0"))
196+func ay (az) = if (contains(az, "0"))
167197 then ""
168- else ap
198+ else az
169199
170200
171-func aq () = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
201+func aA () = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
172202
173203
174-func ar (as) = {
175- let ai = takeRight(as, 1)
176- let at = split(dropRight(drop(as, 5), 3), "")
177- let au = [at[1], at[3], at[5], at[7], at[9], at[11], at[13], at[15]]
178- func av (am,aw) = {
179- let ax = {
180- let ay = au
181- let az = size(ay)
182- let aA = $Tuple2(0, aw)
183- func aB (aC,aD) = if ((aD >= az))
184- then aC
185- else al(aC, ay[aD])
204+func aB (aC) = {
205+ let as = takeRight(aC, 1)
206+ let aD = split(dropRight(drop(aC, 5), 3), "")
207+ let aE = [aD[1], aD[3], aD[5], aD[7], aD[9], aD[11], aD[13], aD[15]]
208+ func aF (aw,aG) = {
209+ let aH = {
210+ let aI = aE
211+ let aJ = size(aI)
212+ let aK = $Tuple2(0, aG)
213+ func aL (aM,aN) = if ((aN >= aJ))
214+ then aM
215+ else av(aM, aI[aN])
186216
187- func aE (aC,aD) = if ((aD >= az))
188- then aC
217+ func aO (aM,aN) = if ((aN >= aJ))
218+ then aM
189219 else throw("List size exceeds 8")
190220
191- aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
221+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
192222 }
193- (am + ao((toString(ax._1) + aw)))
223+ (aw + ay((toString(aH._1) + aG)))
194224 }
195225
196226 (({
197- let ay = aq()
198- let az = size(ay)
199- let aA = ""
200- func aB (aC,aD) = if ((aD >= az))
201- then aC
202- else av(aC, ay[aD])
227+ let aI = aA()
228+ let aJ = size(aI)
229+ let aK = ""
230+ func aL (aM,aN) = if ((aN >= aJ))
231+ then aM
232+ else aF(aM, aI[aN])
203233
204- func aE (aC,aD) = if ((aD >= az))
205- then aC
234+ func aO (aM,aN) = if ((aN >= aJ))
235+ then aM
206236 else throw("List size exceeds 26")
207237
208- aE(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aA, 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)
209- } + "-") + ai)
238+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aK, 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)
239+ } + "-") + as)
210240 }
211241
212242
213-func aF (ac) = {
214- let at = split(dropRight(drop(ac, 5), 3), "")
215- let aG = (at[0] + at[1])
216- let aH = (at[2] + at[3])
217- let aI = (at[4] + at[5])
218- let aJ = (at[6] + at[7])
219- let aK = (at[8] + at[9])
220- let aL = (at[10] + at[11])
221- let aM = (at[12] + at[13])
222- let aN = (at[14] + at[15])
223- let aO = [aG, aH, aI, aJ, aK, aL, aM, aN]
224- func aP (am,aQ) = {
225- let aR = split(aQ, "")
226- if ((aR[0] == "T"))
227- then $Tuple4((am._1 :+ aR[1]), am._2, am._3, am._4)
228- else if ((aR[0] == "D"))
229- then $Tuple4(am._1, (am._2 :+ aR[1]), am._3, am._4)
230- else if ((aR[0] == "C"))
231- then $Tuple4(am._1, am._2, (am._3 :+ aR[1]), am._4)
232- else if ((aR[0] == "H"))
233- then $Tuple4(am._1, am._2, am._3, (am._4 :+ aR[1]))
234- else throw("UNKNOWN TYPE")
243+func aP (am) = {
244+ let aD = split(dropRight(drop(am, 5), 3), "")
245+ let aQ = (aD[0] + aD[1])
246+ let aR = (aD[2] + aD[3])
247+ let aS = (aD[4] + aD[5])
248+ let aT = (aD[6] + aD[7])
249+ let aU = (aD[8] + aD[9])
250+ let aV = (aD[10] + aD[11])
251+ let aW = (aD[12] + aD[13])
252+ let aX = (aD[14] + aD[15])
253+ let aY = [aQ, aR, aS, aT, aU, aV, aW, aX]
254+ func aZ (aw,ba) = {
255+ let bb = split(ba, "")
256+ if ((bb[0] == "T"))
257+ then $Tuple5((aw._1 :+ bb[1]), aw._2, aw._3, aw._4, aw._5)
258+ else if ((bb[0] == "D"))
259+ then $Tuple5(aw._1, (aw._2 :+ bb[1]), aw._3, aw._4, aw._5)
260+ else if ((bb[0] == "F"))
261+ then $Tuple5(aw._1, aw._2, (aw._3 :+ bb[1]), aw._4, aw._5)
262+ else if ((bb[0] == "C"))
263+ then $Tuple5(aw._1, aw._2, aw._3, (aw._4 :+ bb[1]), aw._5)
264+ else if ((bb[0] == "E"))
265+ then $Tuple5(aw._1, aw._2, aw._3, aw._4, (aw._5 :+ bb[1]))
266+ else throw("UNKNOWN TYPE")
235267 }
236268
237- let aS = {
238- let ay = aO
239- let az = size(ay)
240- let aA = $Tuple4(nil, nil, nil, nil)
241- func aB (aC,aD) = if ((aD >= az))
242- then aC
243- else aP(aC, ay[aD])
269+ let bc = {
270+ let aI = aY
271+ let aJ = size(aI)
272+ let aK = $Tuple5(nil, nil, nil, nil, nil)
273+ func aL (aM,aN) = if ((aN >= aJ))
274+ then aM
275+ else aZ(aM, aI[aN])
244276
245- func aE (aC,aD) = if ((aD >= az))
246- then aC
277+ func aO (aM,aN) = if ((aN >= aJ))
278+ then aM
247279 else throw("List size exceeds 8")
248280
249- aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
281+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
250282 }
251- if ((aS == aS))
283+ if ((bc == bc))
252284 then {
253- func aT (am,aw) = {
254- let ax = {
255- let ay = aS._1
256- let az = size(ay)
257- let aA = $Tuple2(0, aw)
258- func aU (aC,aD) = if ((aD >= az))
259- then aC
260- else al(aC, ay[aD])
285+ func bd (aw,aG) = {
286+ let aH = {
287+ let aI = bc._1
288+ let aJ = size(aI)
289+ let aK = $Tuple2(0, aG)
290+ func be (aM,aN) = if ((aN >= aJ))
291+ then aM
292+ else av(aM, aI[aN])
261293
262- func aV (aC,aD) = if ((aD >= az))
263- then aC
294+ func bf (aM,aN) = if ((aN >= aJ))
295+ then aM
264296 else throw("List size exceeds 8")
265297
266- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
298+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
267299 }
268- (am + ao((toString(ax._1) + aw)))
300+ (aw + ay((toString(aH._1) + aG)))
269301 }
270302
271- func aW (am,aw) = {
272- let ax = {
273- let ay = aS._2
274- let az = size(ay)
275- let aA = $Tuple2(0, aw)
276- func aU (aC,aD) = if ((aD >= az))
277- then aC
278- else al(aC, ay[aD])
303+ func bg (aw,aG) = {
304+ let aH = {
305+ let aI = bc._2
306+ let aJ = size(aI)
307+ let aK = $Tuple2(0, aG)
308+ func be (aM,aN) = if ((aN >= aJ))
309+ then aM
310+ else av(aM, aI[aN])
279311
280- func aV (aC,aD) = if ((aD >= az))
281- then aC
312+ func bf (aM,aN) = if ((aN >= aJ))
313+ then aM
282314 else throw("List size exceeds 8")
283315
284- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
316+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
285317 }
286- (am + ao((toString(ax._1) + aw)))
318+ (aw + ay((toString(aH._1) + aG)))
287319 }
288320
289- func aX (am,aw) = {
290- let ax = {
291- let ay = aS._3
292- let az = size(ay)
293- let aA = $Tuple2(0, aw)
294- func aU (aC,aD) = if ((aD >= az))
295- then aC
296- else al(aC, ay[aD])
321+ func bh (aw,aG) = {
322+ let aH = {
323+ let aI = bc._3
324+ let aJ = size(aI)
325+ let aK = $Tuple2(0, aG)
326+ func be (aM,aN) = if ((aN >= aJ))
327+ then aM
328+ else av(aM, aI[aN])
297329
298- func aV (aC,aD) = if ((aD >= az))
299- then aC
330+ func bf (aM,aN) = if ((aN >= aJ))
331+ then aM
300332 else throw("List size exceeds 8")
301333
302- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
334+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
303335 }
304- (am + ao((toString(ax._1) + aw)))
336+ (aw + ay((toString(aH._1) + aG)))
305337 }
306338
307- func aY (am,aw) = {
308- let ax = {
309- let ay = aS._4
310- let az = size(ay)
311- let aA = $Tuple2(0, aw)
312- func aU (aC,aD) = if ((aD >= az))
313- then aC
314- else al(aC, ay[aD])
339+ func bi (aw,aG) = {
340+ let aH = {
341+ let aI = bc._4
342+ let aJ = size(aI)
343+ let aK = $Tuple2(0, aG)
344+ func be (aM,aN) = if ((aN >= aJ))
345+ then aM
346+ else av(aM, aI[aN])
315347
316- func aV (aC,aD) = if ((aD >= az))
317- then aC
348+ func bf (aM,aN) = if ((aN >= aJ))
349+ then aM
318350 else throw("List size exceeds 8")
319351
320- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
352+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
321353 }
322- (am + ao((toString(ax._1) + aw)))
354+ (aw + ay((toString(aH._1) + aG)))
323355 }
324356
325- let aZ = {
326- let ay = aq()
327- let az = size(ay)
328- let aA = ""
329- func aU (aC,aD) = if ((aD >= az))
330- then aC
331- else aT(aC, ay[aD])
357+ func bj (aw,aG) = {
358+ let aH = {
359+ let aI = bc._4
360+ let aJ = size(aI)
361+ let aK = $Tuple2(0, aG)
362+ func be (aM,aN) = if ((aN >= aJ))
363+ then aM
364+ else av(aM, aI[aN])
332365
333- func aV (aC,aD) = if ((aD >= az))
334- then aC
366+ func bf (aM,aN) = if ((aN >= aJ))
367+ then aM
368+ else throw("List size exceeds 8")
369+
370+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
371+ }
372+ (aw + ay((toString(aH._1) + aG)))
373+ }
374+
375+ let bk = {
376+ let aI = aA()
377+ let aJ = size(aI)
378+ let aK = ""
379+ func be (aM,aN) = if ((aN >= aJ))
380+ then aM
381+ else bd(aM, aI[aN])
382+
383+ func bf (aM,aN) = if ((aN >= aJ))
384+ then aM
335385 else throw("List size exceeds 26")
336386
337- aV(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aA, 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)
387+ bf(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(aK, 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)
338388 }
339- let ba = {
340- let ay = aq()
341- let az = size(ay)
342- let aA = ""
343- func bb (aC,aD) = if ((aD >= az))
344- then aC
345- else aW(aC, ay[aD])
389+ let bl = {
390+ let aI = aA()
391+ let aJ = size(aI)
392+ let aK = ""
393+ func bm (aM,aN) = if ((aN >= aJ))
394+ then aM
395+ else bg(aM, aI[aN])
346396
347- func bc (aC,aD) = if ((aD >= az))
348- then aC
397+ func bn (aM,aN) = if ((aN >= aJ))
398+ then aM
349399 else throw("List size exceeds 26")
350400
351- bc(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(aA, 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)
401+ bn(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(aK, 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)
352402 }
353- let bd = {
354- let ay = aq()
355- let az = size(ay)
356- let aA = ""
357- func be (aC,aD) = if ((aD >= az))
358- then aC
359- else aX(aC, ay[aD])
403+ let bo = {
404+ let aI = aA()
405+ let aJ = size(aI)
406+ let aK = ""
407+ func bp (aM,aN) = if ((aN >= aJ))
408+ then aM
409+ else bh(aM, aI[aN])
360410
361- func bf (aC,aD) = if ((aD >= az))
362- then aC
411+ func bq (aM,aN) = if ((aN >= aJ))
412+ then aM
363413 else throw("List size exceeds 26")
364414
365- bf(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(aA, 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)
415+ bq(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(aK, 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)
366416 }
367- let bg = {
368- let ay = aq()
369- let az = size(ay)
370- let aA = ""
371- func bh (aC,aD) = if ((aD >= az))
372- then aC
373- else aY(aC, ay[aD])
417+ let br = {
418+ let aI = aA()
419+ let aJ = size(aI)
420+ let aK = ""
421+ func bs (aM,aN) = if ((aN >= aJ))
422+ then aM
423+ else bi(aM, aI[aN])
374424
375- func bi (aC,aD) = if ((aD >= az))
376- then aC
425+ func bt (aM,aN) = if ((aN >= aJ))
426+ then aM
377427 else throw("List size exceeds 26")
378428
379- bi(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(aA, 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)
429+ bt(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(aK, 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)
380430 }
381- let bj = if ((aZ == ""))
431+ let bu = {
432+ let aI = aA()
433+ let aJ = size(aI)
434+ let aK = ""
435+ func bv (aM,aN) = if ((aN >= aJ))
436+ then aM
437+ else bj(aM, aI[aN])
438+
439+ func bw (aM,aN) = if ((aN >= aJ))
440+ then aM
441+ else throw("List size exceeds 26")
442+
443+ bw(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(aK, 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)
444+ }
445+ let bx = if ((bk == ""))
382446 then ""
383- else (("T:" + aZ) + "_")
384- let bk = if ((ba == ""))
447+ else (("T:" + bk) + "_")
448+ let by = if ((bl == ""))
385449 then ""
386- else (("D:" + ba) + "_")
387- let bl = if ((bd == ""))
450+ else (("D:" + bl) + "_")
451+ let bz = if ((bo == ""))
388452 then ""
389- else (("C:" + bd) + "_")
390- let bm = if ((bg == ""))
453+ else (("F:" + bo) + "_")
454+ let bA = if ((br == ""))
391455 then ""
392- else (("H:" + bg) + "_")
393- $Tuple2([StringEntry("DEBUG_TURTLE", aZ), StringEntry("DEBUG_DUCK", ba), StringEntry("DEBUG_CAT", bd), StringEntry("DEBUG_HOND", bg)], (((bj + bk) + bl) + bg))
456+ else (("C:" + br) + "_")
457+ let bB = if ((bu == ""))
458+ then ""
459+ else (("E:" + br) + "_")
460+ $Tuple2([StringEntry("DEBUG_TURTLE", bk), StringEntry("DEBUG_DUCK", bl), StringEntry("DEBUG_CAT", bo), StringEntry("DEBUG_HOND", br), StringEntry("DEBUG_EAGLE", bu)], ((((bx + by) + bz) + br) + bu))
394461 }
395462 else throw("Strict value is not equal to itself.")
396463 }
397464
398465
399-func bn (bo) = if ((3 > size(split(bo, ":"))))
466+func bC (bD) = if ((3 > size(split(bD, ":"))))
400467 then true
401468 else false
402469
403470
404-func bp (s,bq) = {
405- let br = u(bq, s)
406- let bs = w(bq, s)
407- let bt = x(bq, s)
408- let bu = getStringValue(this, br)
409- let bv = getIntegerValue(this, bs)
410- if ((bu == e()))
471+func bE (x,bF) = {
472+ let bG = z(bF, x)
473+ let bH = B(bF, x)
474+ let bI = C(bF, x)
475+ let bJ = getStringValue(this, bG)
476+ let bK = getIntegerValue(this, bH)
477+ if ((bJ == e()))
411478 then {
412- let bw = getStringValue(this, x(bq, s))
413- throw(("The MUTANT was breeded and claimed already, here is the folowing: " + bw))
479+ let bL = getStringValue(this, C(bF, x))
480+ throw(("The MUTANT was breeded and claimed already, here is the folowing: " + bL))
414481 }
415- else if ((bv > height))
416- then throw((((("Breeding is not finished yet " + toString((bv - height))) + " blocks remaining, it will take around ") + toString((bv - height))) + " minutes"))
482+ else if ((bK > height))
483+ then throw((((("Breeding is not finished yet " + toString((bK - height))) + " blocks remaining, it will take around ") + toString((bK - height))) + " minutes"))
417484 else {
418- let af = C(r(fromBase58String(s), 1))
419- let ag = C(r(fromBase58String(s), 2))
420- let bx = fromBase58String(af)
421- let by = fromBase58String(ag)
422- let ac = ad(fromBase58String(s), bv, bx, by)
423- let bz = aF(ac)
424- let bA = ar(ac)
425- let bB = (D(n(ac)) + 1)
426- let ap = (D(m()) + 1)
427- let bC = Issue(("MTNT-" + toString(ap)), ac, 1, 0, false, unit, bv)
428- let q = calculateAssetId(bC)
429- let bD = D((("stats_" + bz._2) + "_quantity"))
430- let bo = D((("stats_" + bA) + "_rarity"))
431- let bE = addressFromStringValue(bq)
432- let bF = bn(bz._2)
433- let bG = if (bF)
434- then Burn(q, 1)
435- else ScriptTransfer(bE, 1, q)
436- let bH = if ((R(10, fromBase58String(s), bv, 2) == 5))
437- then Burn(bx, 1)
438- else ScriptTransfer(bE, 1, bx)
439- let bI = if ((R(10, fromBase58String(s), bv, 3) == 5))
440- then Burn(by, 1)
441- else ScriptTransfer(bE, 1, by)
442-[StringEntry(br, e()), StringEntry(bt, toBase58String(q)), StringEntry(toBase58String(q), bt), IntegerEntry(n(ac), bB), IntegerEntry(m(), ap), IntegerEntry((("stats_" + bz._2) + "_quantity"), (bD + 1)), IntegerEntry((("stats_" + bA) + "_rarity"), (bo + 1)), IntegerEntry((("asset_" + af) + "_children"), 1), IntegerEntry((("asset_" + ag) + "_children"), 1), bC, bG, bH, bI]
485+ let ap = H(w(fromBase58String(x), 1))
486+ let aq = H(w(fromBase58String(x), 2))
487+ let bM = fromBase58String(ap)
488+ let bN = fromBase58String(aq)
489+ let am = an(fromBase58String(x), bK, bM, bN)
490+ let bO = aP(am)
491+ let bP = aB(am)
492+ let bQ = (I(s(am)) + 1)
493+ let az = (I(r()) + 1)
494+ let bR = Issue(("MTNT-" + toString(az)), am, 1, 0, false, unit, bK)
495+ let v = calculateAssetId(bR)
496+ let bS = I((("stats_" + bO._2) + "_quantity"))
497+ let bD = I((("stats_" + bP) + "_rarity"))
498+ let bT = addressFromStringValue(bF)
499+ let bU = bC(bO._2)
500+ let bV = if (bU)
501+ then Burn(v, 1)
502+ else ScriptTransfer(bT, 1, v)
503+ let bW = if ((ab(10, fromBase58String(x), bK, 2) == 5))
504+ then Burn(bM, 1)
505+ else ScriptTransfer(bT, 1, bM)
506+ let bX = if ((ab(10, fromBase58String(x), bK, 3) == 5))
507+ then Burn(bN, 1)
508+ else ScriptTransfer(bT, 1, bN)
509+[StringEntry(bG, e()), StringEntry(bI, toBase58String(v)), StringEntry(toBase58String(v), bI), IntegerEntry(s(am), bQ), IntegerEntry(r(), az), IntegerEntry((("stats_" + bO._2) + "_quantity"), (bS + 1)), IntegerEntry((("stats_" + bP) + "_rarity"), (bD + 1)), IntegerEntry((("asset_" + ap) + "_children"), 1), IntegerEntry((("asset_" + aq) + "_children"), 1), bR, bV, bW, bX]
443510 }
444511 }
445512
446513
447-func bJ (bK) = if (isDefined(bK.assetId))
514+func bY (bZ) = if (isDefined(bZ.assetId))
448515 then throw("BCAP: Please attach waves")
449516 else {
450- let bL = getIntegerValue(G(), k())
451- if ((bK.amount != bL))
452- then throw((("BCAP: Please attach exactly " + toString(bL)) + " amount of wavelets"))
453- else [ScriptTransfer(L(), bL, unit)]
517+ let ca = getIntegerValue(L(), k())
518+ if ((bZ.amount != ca))
519+ then throw((("BCAP: Please attach exactly " + toString(ca)) + " amount of wavelets"))
520+ else [ScriptTransfer(T(), ca, unit)]
454521 }
455522
456523
457-func bM (bN) = {
458- let bO = split(bN.name, "")
459- let bP = bO[0]
460- let ac = bO[14]
461- if ((ac != "O"))
524+func cb (cc) = {
525+ let cd = split(cc.name, "")
526+ let ce = cd[0]
527+ let am = cd[14]
528+ if ((am != "O"))
462529 then throw("MCTAVO: Only obstinates can be turned into mutants")
463530 else {
464- let bQ = if ((bP == "T"))
465- then H()
466- else if ((bP == "D"))
467- then I()
468- else throw("MCTAVO: Invalid type")
469- if ((bQ != bN.issuer))
531+ let cf = if ((ce == "T"))
532+ then M()
533+ else if ((ce == "D"))
534+ then N()
535+ else if ((ce == "C"))
536+ then P()
537+ else if ((ce == "F"))
538+ then Q()
539+ else if ((ce == "E"))
540+ then O()
541+ else throw("MCTAVO: Invalid type")
542+ if ((cf != cc.issuer))
470543 then throw("MCTAVO: Only obstinates from the breeder contract can be turned into mutants")
471- else if ((y(bQ, toBase58String(bN.id)) == ""))
544+ else if ((D(cf, toBase58String(cc.id)) == ""))
472545 then throw("MCTAVO: Invalid nft")
473- else if ((D(p(toBase58String(bN.id))) == 1))
546+ else if ((I(u(toBase58String(cc.id))) == 1))
474547 then throw("MCTAVO: NFT already used")
475- else bP
548+ else ce
476549 }
477550 }
478551
479552
480-@Callable(bR)
481-func configureOracle (bS) = if ((bR.caller != this))
553+@Callable(cg)
554+func configureOracle (ch) = if ((cg.caller != this))
482555 then throw("ICU: admin only")
483- else [StringEntry("static_oracleAddress", bS)]
556+ else [StringEntry("static_oracleAddress", ch)]
484557
485558
486559
487-@Callable(bR)
488-func startMutantHatching (bT) = if ((size(bR.payments) != 5))
560+@Callable(cg)
561+func startMutantHatching (ci) = if ((size(cg.payments) != 5))
489562 then throw("MSMH: 5 payments required")
490- else if ((bR.payments[0].amount != 1))
563+ else if ((cg.payments[0].amount != 1))
491564 then throw("MSMH: 1st payment must be an NFT")
492- else if ((bR.payments[1].amount != 1))
565+ else if ((cg.payments[1].amount != 1))
493566 then throw("MSMH: 2nd payment must be an NFT")
494567 else {
495- let bU = bJ(bR.payments[2])
496- if ((bU == bU))
497- then if (if ((bR.payments[3].assetId != K()))
568+ let cj = bY(cg.payments[2])
569+ if ((cj == cj))
570+ then if (if ((cg.payments[3].assetId != S()))
498571 then true
499- else (bR.payments[3].amount != N(a())))
572+ else (cg.payments[3].amount != X(a())))
500573 then throw("MSMH: 4th payment must be in spice")
501- else if (if ((bR.payments[4].assetId != J()))
574+ else if (if ((cg.payments[4].assetId != R()))
502575 then true
503- else (bR.payments[4].amount != N(b())))
576+ else (cg.payments[4].amount != X(b())))
504577 then throw("MSMH: 5th payment must be in egg")
505578 else {
506- let bV = value(assetInfo(value(bR.payments[0].assetId)))
507- let bW = value(assetInfo(value(bR.payments[1].assetId)))
508- let bX = bM(bV)
509- let bY = bM(bW)
510- if ((bX == bY))
511- then throw("MSMH: NFTs can not be of the same type")
512- else ([StringEntry(r(bR.transactionId, 1), toBase58String(bV.id)), StringEntry(r(bR.transactionId, 2), toBase58String(bW.id)), StringEntry(u(toString(bR.caller), toBase58String(bR.transactionId)), d()), IntegerEntry(w(toString(bR.caller), toBase58String(bR.transactionId)), (height + c()))] ++ bU)
579+ let ck = value(assetInfo(value(cg.payments[0].assetId)))
580+ let cl = value(assetInfo(value(cg.payments[1].assetId)))
581+ let cm = cb(ck)
582+ let cn = cb(cl)
583+ let co = invoke(U(), "burnAttachedPayments", nil, [AttachedPayment(R(), assetBalance(this, R()))])
584+ if ((co == co))
585+ then {
586+ let cp = invoke(V(), "topUpReward", nil, [AttachedPayment(S(), (assetBalance(this, S()) / 5))])
587+ if ((cp == cp))
588+ then if ((cm == cn))
589+ then throw("MSMH: NFTs can not be of the same type")
590+ else ([StringEntry(w(cg.transactionId, 1), toBase58String(ck.id)), StringEntry(w(cg.transactionId, 2), toBase58String(cl.id)), StringEntry(z(toString(cg.caller), toBase58String(cg.transactionId)), d()), IntegerEntry(B(toString(cg.caller), toBase58String(cg.transactionId)), (height + c())), Burn(S(), assetBalance(this, S()))] ++ cj)
591+ else throw("Strict value is not equal to itself.")
592+ }
593+ else throw("Strict value is not equal to itself.")
513594 }
514595 else throw("Strict value is not equal to itself.")
515596 }
516597
517598
518599
519-@Callable(bR)
520-func finishMutantHatching (bZ) = {
521- let bq = toString(bR.originCaller)
522- if ((size(bR.payments) != 1))
600+@Callable(cg)
601+func finishMutantHatching (cq) = {
602+ let bF = toString(cg.originCaller)
603+ if ((size(cg.payments) != 1))
523604 then throw("MFMH: Wrong amount of payments!")
524605 else {
525- let ca = bJ(bR.payments[0])
526- if ((ca == ca))
527- then (bp(bZ, bq) ++ ca)
606+ let cr = bY(cg.payments[0])
607+ if ((cr == cr))
608+ then (bE(cq, bF) ++ cr)
528609 else throw("Strict value is not equal to itself.")
529610 }
530611 }
531612
532613
533614
534-@Callable(bR)
535-func getRarity (at) = {
536- let bA = ar(at)
537- let bD = valueOrErrorMessage(D((("stats_" + bA) + "_rarity")), (("stats_" + bA) + "_rarity"))
538- let cb = pow((10000 / bD), 4, 5, 1, 2, FLOOR)
539- let bo = if ((cb > 0))
540- then cb
615+@Callable(cg)
616+func getRarity (aD) = {
617+ let bP = aB(aD)
618+ let bS = valueOrErrorMessage(I((("stats_" + bP) + "_rarity")), (("stats_" + bP) + "_rarity"))
619+ let cs = pow((10000 / bS), 4, 5, 1, 2, FLOOR)
620+ let bD = if ((cs > 0))
621+ then cs
541622 else 2
542- $Tuple2(nil, $Tuple2(bA, bo))
623+ $Tuple2(nil, $Tuple2(bP, bD))
543624 }
544625
545626
546627
547-@Callable(bR)
548-func reduceRarity (q,cc) = throw("MRR: Not implemented")
628+@Callable(cg)
629+func reduceRarity (v,ct) = throw("MRR: Not implemented")
549630
550631
551-@Verifier(cd)
552-func ce () = if (Q())
553- then sigVerify(cd.bodyBytes, cd.proofs[0], cd.senderPublicKey)
632+@Verifier(cu)
633+func cv () = if (aa())
634+ then sigVerify(cu.bodyBytes, cu.proofs[0], cu.senderPublicKey)
554635 else {
555- let cf = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
556- let cg = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
557- let ch = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
558- let ci = if (sigVerify(cd.bodyBytes, cd.proofs[0], cf))
636+ let cw = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
637+ let cx = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
638+ let cy = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
639+ let cz = if (sigVerify(cu.bodyBytes, cu.proofs[0], cw))
559640 then 1
560- else if (sigVerify(cd.bodyBytes, cd.proofs[1], cf))
641+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cw))
561642 then 1
562- else if (sigVerify(cd.bodyBytes, cd.proofs[2], cf))
643+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cw))
563644 then 1
564645 else 0
565- let cj = if (sigVerify(cd.bodyBytes, cd.proofs[0], cg))
646+ let cA = if (sigVerify(cu.bodyBytes, cu.proofs[0], cx))
566647 then 1
567- else if (sigVerify(cd.bodyBytes, cd.proofs[1], cg))
648+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cx))
568649 then 1
569- else if (sigVerify(cd.bodyBytes, cd.proofs[2], cg))
650+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cx))
570651 then 1
571652 else 0
572- let ck = if (sigVerify(cd.bodyBytes, cd.proofs[0], ch))
653+ let cB = if (sigVerify(cu.bodyBytes, cu.proofs[0], cy))
573654 then 1
574- else if (sigVerify(cd.bodyBytes, cd.proofs[1], ch))
655+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cy))
575656 then 1
576- else if (sigVerify(cd.bodyBytes, cd.proofs[2], ch))
657+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cy))
577658 then 1
578659 else 0
579- let cl = ((ci + cj) + ck)
580- let A = cd
581- (cl >= 2)
660+ let cC = ((cz + cA) + cB)
661+ let F = cu
662+ (cC >= 1)
582663 }
583664
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = 1000000000
55
66
77 func b () = 200000000
88
99
1010 func c () = 2
1111
1212
1313 func d () = "BREEDING_STARTED"
1414
1515
1616 func e () = "BREEDING_FINISHED"
1717
1818
1919 func f () = "static_eggAssetId"
2020
2121
2222 func g () = "static_spiceAssetId"
2323
2424
2525 func h () = "static_breederAddress"
2626
2727
2828 func i () = "static_turtleBreederAddress"
2929
3030
3131 func j () = "static_oracleAddress"
3232
3333
3434 func k () = "static_extraFee"
3535
3636
3737 func l () = "static_feeAggregator"
3838
3939
40-func m () = "stats_amount"
40+func m () = "static_burnAddress"
4141
4242
43-func n (o) = (("stats_" + o) + "_amount")
43+func n () = "static_turtleStakingAddress"
4444
4545
46-func p (q) = (("asset_" + q) + "_children")
46+func o () = "static_canineBreederAddress"
4747
4848
49-func r (s,t) = ((("inittx_" + toBase58String(s)) + "_parent") + toString(t))
49+func p () = "static_felineBreederAddress"
5050
5151
52-func u (v,s) = (((v + "_") + s) + "_status")
52+func q () = "static_eagleBreederAddress"
5353
5454
55-func w (v,s) = (((v + "_") + s) + "_fh")
55+func r () = "stats_amount"
5656
5757
58-func x (v,s) = (((v + "_") + s) + "_di")
58+func s (t) = (("stats_" + t) + "_amount")
5959
6060
61-func y (v,z) = {
62- let A = getString(v, z)
63- if ($isInstanceOf(A, "String"))
61+func u (v) = (("asset_" + v) + "_children")
62+
63+
64+func w (x,y) = ((("inittx_" + toBase58String(x)) + "_parent") + toString(y))
65+
66+
67+func z (A,x) = (((A + "_") + x) + "_status")
68+
69+
70+func B (A,x) = (((A + "_") + x) + "_fh")
71+
72+
73+func C (A,x) = (((A + "_") + x) + "_di")
74+
75+
76+func D (A,E) = {
77+ let F = getString(A, E)
78+ if ($isInstanceOf(F, "String"))
6479 then {
65- let B = A
66- B
80+ let G = F
81+ G
6782 }
6883 else ""
6984 }
7085
7186
72-func C (z) = y(this, z)
87+func H (E) = D(this, E)
7388
7489
75-func D (z) = {
76- let E = {
77- let A = getInteger(this, z)
78- if ($isInstanceOf(A, "Int"))
90+func I (E) = {
91+ let J = {
92+ let F = getInteger(this, E)
93+ if ($isInstanceOf(F, "Int"))
7994 then {
80- let F = A
81- F
95+ let K = F
96+ K
8297 }
8398 else 0
8499 }
85- E
100+ J
86101 }
87102
88103
89-func G () = Address(fromBase58String(C(j())))
104+func L () = Address(fromBase58String(H(j())))
90105
91106
92-func H () = Address(fromBase58String(y(G(), i())))
107+func M () = Address(fromBase58String(D(L(), i())))
93108
94109
95-func I () = Address(fromBase58String(y(G(), h())))
110+func N () = Address(fromBase58String(D(L(), h())))
96111
97112
98-func J () = fromBase58String(y(G(), f()))
113+func O () = Address(fromBase58String(D(L(), q())))
99114
100115
101-func K () = fromBase58String(y(G(), g()))
116+func P () = Address(fromBase58String(D(L(), o())))
102117
103118
104-func L () = Address(fromBase58String(y(G(), l())))
119+func Q () = Address(fromBase58String(D(L(), p())))
105120
106121
107-func M () = [H(), I()]
122+func R () = fromBase58String(D(L(), f()))
108123
109124
110-func N (O) = (O + (((O * (D(m()) + 1)) / 1000) / size(M())))
125+func S () = fromBase58String(D(L(), g()))
111126
112127
113-func P (z) = {
114- let A = getBoolean(this, z)
115- if ($isInstanceOf(A, "Boolean"))
128+func T () = Address(fromBase58String(D(L(), l())))
129+
130+
131+func U () = Address(fromBase58String(D(L(), m())))
132+
133+
134+func V () = Address(fromBase58String(D(L(), n())))
135+
136+
137+func W () = [M(), N()]
138+
139+
140+func X (Y) = (Y + (((Y * (I(r()) + 1)) / 1000) / size(W())))
141+
142+
143+func Z (E) = {
144+ let F = getBoolean(this, E)
145+ if ($isInstanceOf(F, "Boolean"))
116146 then {
117- let F = A
118- F
147+ let K = F
148+ K
119149 }
120150 else false
121151 }
122152
123153
124-func Q () = P("TESTENV")
154+func aa () = Z("TESTENV")
125155
126156
127-func R (S,s,T,U) = {
128- let V = value(blockInfoByHeight((T - 1)))
129- let W = sha256_16Kb((s + value(V.vrf)))
130- (toInt(W, U) % S)
157+func ab (ac,x,ad,ae) = {
158+ let af = value(blockInfoByHeight((ad - 1)))
159+ let ag = sha256_16Kb((x + value(af.vrf)))
160+ (toInt(ag, ae) % ac)
131161 }
132162
133163
134-func X (Y,Z,aa,s,T) = {
135- let ab = R(2, s, T, aa)
136- let ac = if ((ab == 0))
137- then Y
138- else Z
139- ac
164+func ah (ai,aj,ak,x,ad) = {
165+ let al = ab(2, x, ad, ak)
166+ let am = if ((al == 0))
167+ then ai
168+ else aj
169+ am
140170 }
141171
142172
143-func ad (s,ae,af,ag) = {
144- let ah = R(100, s, ae, 11)
145- let ai = if ((26 > ah))
173+func an (x,ao,ap,aq) = {
174+ let ar = ab(100, x, ao, 11)
175+ let as = if ((26 > ar))
146176 then "A"
147- else if ((48 > ah))
177+ else if ((48 > ar))
148178 then "B"
149- else if ((70 > ah))
179+ else if ((70 > ar))
150180 then "C"
151- else if ((90 > ah))
181+ else if ((90 > ar))
152182 then "D"
153183 else "G"
154- let aj = split(value(assetInfo(af)).name, "")
155- let ak = split(value(assetInfo(ag)).name, "")
156- let ac = (((((((((("MTNT-" + X((aj[0] + aj[5]), (ak[0] + ak[5]), 0, s, ae)) + X((aj[0] + aj[6]), (ak[0] + ak[6]), 1, s, ae)) + X((aj[0] + aj[7]), (ak[0] + ak[7]), 2, s, ae)) + X((aj[0] + aj[8]), (ak[0] + ak[8]), 3, s, ae)) + X((aj[0] + aj[9]), (ak[0] + ak[9]), 4, s, ae)) + X((aj[0] + aj[10]), (ak[0] + ak[10]), 5, s, ae)) + X((aj[0] + aj[11]), (ak[0] + ak[11]), 6, s, ae)) + X((aj[0] + aj[12]), (ak[0] + ak[12]), 7, s, ae)) + "-G") + ai)
157- ac
184+ let at = split(value(assetInfo(ap)).name, "")
185+ let au = split(value(assetInfo(aq)).name, "")
186+ let am = (((((((((("MTNT-" + ah((at[0] + at[5]), (au[0] + au[5]), 0, x, ao)) + ah((at[0] + at[6]), (au[0] + au[6]), 1, x, ao)) + ah((at[0] + at[7]), (au[0] + au[7]), 2, x, ao)) + ah((at[0] + at[8]), (au[0] + au[8]), 3, x, ao)) + ah((at[0] + at[9]), (au[0] + au[9]), 4, x, ao)) + ah((at[0] + at[10]), (au[0] + au[10]), 5, x, ao)) + ah((at[0] + at[11]), (au[0] + au[11]), 6, x, ao)) + ah((at[0] + at[12]), (au[0] + au[12]), 7, x, ao)) + "-G") + as)
187+ am
158188 }
159189
160190
161-func al (am,an) = if ((an == am._2))
162- then $Tuple2((am._1 + 1), am._2)
163- else $Tuple2((am._1 + 0), am._2)
191+func av (aw,ax) = if ((ax == aw._2))
192+ then $Tuple2((aw._1 + 1), aw._2)
193+ else $Tuple2((aw._1 + 0), aw._2)
164194
165195
166-func ao (ap) = if (contains(ap, "0"))
196+func ay (az) = if (contains(az, "0"))
167197 then ""
168- else ap
198+ else az
169199
170200
171-func aq () = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
201+func aA () = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
172202
173203
174-func ar (as) = {
175- let ai = takeRight(as, 1)
176- let at = split(dropRight(drop(as, 5), 3), "")
177- let au = [at[1], at[3], at[5], at[7], at[9], at[11], at[13], at[15]]
178- func av (am,aw) = {
179- let ax = {
180- let ay = au
181- let az = size(ay)
182- let aA = $Tuple2(0, aw)
183- func aB (aC,aD) = if ((aD >= az))
184- then aC
185- else al(aC, ay[aD])
204+func aB (aC) = {
205+ let as = takeRight(aC, 1)
206+ let aD = split(dropRight(drop(aC, 5), 3), "")
207+ let aE = [aD[1], aD[3], aD[5], aD[7], aD[9], aD[11], aD[13], aD[15]]
208+ func aF (aw,aG) = {
209+ let aH = {
210+ let aI = aE
211+ let aJ = size(aI)
212+ let aK = $Tuple2(0, aG)
213+ func aL (aM,aN) = if ((aN >= aJ))
214+ then aM
215+ else av(aM, aI[aN])
186216
187- func aE (aC,aD) = if ((aD >= az))
188- then aC
217+ func aO (aM,aN) = if ((aN >= aJ))
218+ then aM
189219 else throw("List size exceeds 8")
190220
191- aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
221+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
192222 }
193- (am + ao((toString(ax._1) + aw)))
223+ (aw + ay((toString(aH._1) + aG)))
194224 }
195225
196226 (({
197- let ay = aq()
198- let az = size(ay)
199- let aA = ""
200- func aB (aC,aD) = if ((aD >= az))
201- then aC
202- else av(aC, ay[aD])
227+ let aI = aA()
228+ let aJ = size(aI)
229+ let aK = ""
230+ func aL (aM,aN) = if ((aN >= aJ))
231+ then aM
232+ else aF(aM, aI[aN])
203233
204- func aE (aC,aD) = if ((aD >= az))
205- then aC
234+ func aO (aM,aN) = if ((aN >= aJ))
235+ then aM
206236 else throw("List size exceeds 26")
207237
208- aE(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aB(aA, 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)
209- } + "-") + ai)
238+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aL(aK, 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)
239+ } + "-") + as)
210240 }
211241
212242
213-func aF (ac) = {
214- let at = split(dropRight(drop(ac, 5), 3), "")
215- let aG = (at[0] + at[1])
216- let aH = (at[2] + at[3])
217- let aI = (at[4] + at[5])
218- let aJ = (at[6] + at[7])
219- let aK = (at[8] + at[9])
220- let aL = (at[10] + at[11])
221- let aM = (at[12] + at[13])
222- let aN = (at[14] + at[15])
223- let aO = [aG, aH, aI, aJ, aK, aL, aM, aN]
224- func aP (am,aQ) = {
225- let aR = split(aQ, "")
226- if ((aR[0] == "T"))
227- then $Tuple4((am._1 :+ aR[1]), am._2, am._3, am._4)
228- else if ((aR[0] == "D"))
229- then $Tuple4(am._1, (am._2 :+ aR[1]), am._3, am._4)
230- else if ((aR[0] == "C"))
231- then $Tuple4(am._1, am._2, (am._3 :+ aR[1]), am._4)
232- else if ((aR[0] == "H"))
233- then $Tuple4(am._1, am._2, am._3, (am._4 :+ aR[1]))
234- else throw("UNKNOWN TYPE")
243+func aP (am) = {
244+ let aD = split(dropRight(drop(am, 5), 3), "")
245+ let aQ = (aD[0] + aD[1])
246+ let aR = (aD[2] + aD[3])
247+ let aS = (aD[4] + aD[5])
248+ let aT = (aD[6] + aD[7])
249+ let aU = (aD[8] + aD[9])
250+ let aV = (aD[10] + aD[11])
251+ let aW = (aD[12] + aD[13])
252+ let aX = (aD[14] + aD[15])
253+ let aY = [aQ, aR, aS, aT, aU, aV, aW, aX]
254+ func aZ (aw,ba) = {
255+ let bb = split(ba, "")
256+ if ((bb[0] == "T"))
257+ then $Tuple5((aw._1 :+ bb[1]), aw._2, aw._3, aw._4, aw._5)
258+ else if ((bb[0] == "D"))
259+ then $Tuple5(aw._1, (aw._2 :+ bb[1]), aw._3, aw._4, aw._5)
260+ else if ((bb[0] == "F"))
261+ then $Tuple5(aw._1, aw._2, (aw._3 :+ bb[1]), aw._4, aw._5)
262+ else if ((bb[0] == "C"))
263+ then $Tuple5(aw._1, aw._2, aw._3, (aw._4 :+ bb[1]), aw._5)
264+ else if ((bb[0] == "E"))
265+ then $Tuple5(aw._1, aw._2, aw._3, aw._4, (aw._5 :+ bb[1]))
266+ else throw("UNKNOWN TYPE")
235267 }
236268
237- let aS = {
238- let ay = aO
239- let az = size(ay)
240- let aA = $Tuple4(nil, nil, nil, nil)
241- func aB (aC,aD) = if ((aD >= az))
242- then aC
243- else aP(aC, ay[aD])
269+ let bc = {
270+ let aI = aY
271+ let aJ = size(aI)
272+ let aK = $Tuple5(nil, nil, nil, nil, nil)
273+ func aL (aM,aN) = if ((aN >= aJ))
274+ then aM
275+ else aZ(aM, aI[aN])
244276
245- func aE (aC,aD) = if ((aD >= az))
246- then aC
277+ func aO (aM,aN) = if ((aN >= aJ))
278+ then aM
247279 else throw("List size exceeds 8")
248280
249- aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
281+ aO(aL(aL(aL(aL(aL(aL(aL(aL(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
250282 }
251- if ((aS == aS))
283+ if ((bc == bc))
252284 then {
253- func aT (am,aw) = {
254- let ax = {
255- let ay = aS._1
256- let az = size(ay)
257- let aA = $Tuple2(0, aw)
258- func aU (aC,aD) = if ((aD >= az))
259- then aC
260- else al(aC, ay[aD])
285+ func bd (aw,aG) = {
286+ let aH = {
287+ let aI = bc._1
288+ let aJ = size(aI)
289+ let aK = $Tuple2(0, aG)
290+ func be (aM,aN) = if ((aN >= aJ))
291+ then aM
292+ else av(aM, aI[aN])
261293
262- func aV (aC,aD) = if ((aD >= az))
263- then aC
294+ func bf (aM,aN) = if ((aN >= aJ))
295+ then aM
264296 else throw("List size exceeds 8")
265297
266- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
298+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
267299 }
268- (am + ao((toString(ax._1) + aw)))
300+ (aw + ay((toString(aH._1) + aG)))
269301 }
270302
271- func aW (am,aw) = {
272- let ax = {
273- let ay = aS._2
274- let az = size(ay)
275- let aA = $Tuple2(0, aw)
276- func aU (aC,aD) = if ((aD >= az))
277- then aC
278- else al(aC, ay[aD])
303+ func bg (aw,aG) = {
304+ let aH = {
305+ let aI = bc._2
306+ let aJ = size(aI)
307+ let aK = $Tuple2(0, aG)
308+ func be (aM,aN) = if ((aN >= aJ))
309+ then aM
310+ else av(aM, aI[aN])
279311
280- func aV (aC,aD) = if ((aD >= az))
281- then aC
312+ func bf (aM,aN) = if ((aN >= aJ))
313+ then aM
282314 else throw("List size exceeds 8")
283315
284- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
316+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
285317 }
286- (am + ao((toString(ax._1) + aw)))
318+ (aw + ay((toString(aH._1) + aG)))
287319 }
288320
289- func aX (am,aw) = {
290- let ax = {
291- let ay = aS._3
292- let az = size(ay)
293- let aA = $Tuple2(0, aw)
294- func aU (aC,aD) = if ((aD >= az))
295- then aC
296- else al(aC, ay[aD])
321+ func bh (aw,aG) = {
322+ let aH = {
323+ let aI = bc._3
324+ let aJ = size(aI)
325+ let aK = $Tuple2(0, aG)
326+ func be (aM,aN) = if ((aN >= aJ))
327+ then aM
328+ else av(aM, aI[aN])
297329
298- func aV (aC,aD) = if ((aD >= az))
299- then aC
330+ func bf (aM,aN) = if ((aN >= aJ))
331+ then aM
300332 else throw("List size exceeds 8")
301333
302- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
334+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
303335 }
304- (am + ao((toString(ax._1) + aw)))
336+ (aw + ay((toString(aH._1) + aG)))
305337 }
306338
307- func aY (am,aw) = {
308- let ax = {
309- let ay = aS._4
310- let az = size(ay)
311- let aA = $Tuple2(0, aw)
312- func aU (aC,aD) = if ((aD >= az))
313- then aC
314- else al(aC, ay[aD])
339+ func bi (aw,aG) = {
340+ let aH = {
341+ let aI = bc._4
342+ let aJ = size(aI)
343+ let aK = $Tuple2(0, aG)
344+ func be (aM,aN) = if ((aN >= aJ))
345+ then aM
346+ else av(aM, aI[aN])
315347
316- func aV (aC,aD) = if ((aD >= az))
317- then aC
348+ func bf (aM,aN) = if ((aN >= aJ))
349+ then aM
318350 else throw("List size exceeds 8")
319351
320- aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
352+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
321353 }
322- (am + ao((toString(ax._1) + aw)))
354+ (aw + ay((toString(aH._1) + aG)))
323355 }
324356
325- let aZ = {
326- let ay = aq()
327- let az = size(ay)
328- let aA = ""
329- func aU (aC,aD) = if ((aD >= az))
330- then aC
331- else aT(aC, ay[aD])
357+ func bj (aw,aG) = {
358+ let aH = {
359+ let aI = bc._4
360+ let aJ = size(aI)
361+ let aK = $Tuple2(0, aG)
362+ func be (aM,aN) = if ((aN >= aJ))
363+ then aM
364+ else av(aM, aI[aN])
332365
333- func aV (aC,aD) = if ((aD >= az))
334- then aC
366+ func bf (aM,aN) = if ((aN >= aJ))
367+ then aM
368+ else throw("List size exceeds 8")
369+
370+ bf(be(be(be(be(be(be(be(be(aK, 0), 1), 2), 3), 4), 5), 6), 7), 8)
371+ }
372+ (aw + ay((toString(aH._1) + aG)))
373+ }
374+
375+ let bk = {
376+ let aI = aA()
377+ let aJ = size(aI)
378+ let aK = ""
379+ func be (aM,aN) = if ((aN >= aJ))
380+ then aM
381+ else bd(aM, aI[aN])
382+
383+ func bf (aM,aN) = if ((aN >= aJ))
384+ then aM
335385 else throw("List size exceeds 26")
336386
337- aV(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aU(aA, 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)
387+ bf(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(aK, 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)
338388 }
339- let ba = {
340- let ay = aq()
341- let az = size(ay)
342- let aA = ""
343- func bb (aC,aD) = if ((aD >= az))
344- then aC
345- else aW(aC, ay[aD])
389+ let bl = {
390+ let aI = aA()
391+ let aJ = size(aI)
392+ let aK = ""
393+ func bm (aM,aN) = if ((aN >= aJ))
394+ then aM
395+ else bg(aM, aI[aN])
346396
347- func bc (aC,aD) = if ((aD >= az))
348- then aC
397+ func bn (aM,aN) = if ((aN >= aJ))
398+ then aM
349399 else throw("List size exceeds 26")
350400
351- bc(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(bb(aA, 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)
401+ bn(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(bm(aK, 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)
352402 }
353- let bd = {
354- let ay = aq()
355- let az = size(ay)
356- let aA = ""
357- func be (aC,aD) = if ((aD >= az))
358- then aC
359- else aX(aC, ay[aD])
403+ let bo = {
404+ let aI = aA()
405+ let aJ = size(aI)
406+ let aK = ""
407+ func bp (aM,aN) = if ((aN >= aJ))
408+ then aM
409+ else bh(aM, aI[aN])
360410
361- func bf (aC,aD) = if ((aD >= az))
362- then aC
411+ func bq (aM,aN) = if ((aN >= aJ))
412+ then aM
363413 else throw("List size exceeds 26")
364414
365- bf(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(be(aA, 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)
415+ bq(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(bp(aK, 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)
366416 }
367- let bg = {
368- let ay = aq()
369- let az = size(ay)
370- let aA = ""
371- func bh (aC,aD) = if ((aD >= az))
372- then aC
373- else aY(aC, ay[aD])
417+ let br = {
418+ let aI = aA()
419+ let aJ = size(aI)
420+ let aK = ""
421+ func bs (aM,aN) = if ((aN >= aJ))
422+ then aM
423+ else bi(aM, aI[aN])
374424
375- func bi (aC,aD) = if ((aD >= az))
376- then aC
425+ func bt (aM,aN) = if ((aN >= aJ))
426+ then aM
377427 else throw("List size exceeds 26")
378428
379- bi(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(bh(aA, 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)
429+ bt(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(bs(aK, 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)
380430 }
381- let bj = if ((aZ == ""))
431+ let bu = {
432+ let aI = aA()
433+ let aJ = size(aI)
434+ let aK = ""
435+ func bv (aM,aN) = if ((aN >= aJ))
436+ then aM
437+ else bj(aM, aI[aN])
438+
439+ func bw (aM,aN) = if ((aN >= aJ))
440+ then aM
441+ else throw("List size exceeds 26")
442+
443+ bw(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(bv(aK, 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)
444+ }
445+ let bx = if ((bk == ""))
382446 then ""
383- else (("T:" + aZ) + "_")
384- let bk = if ((ba == ""))
447+ else (("T:" + bk) + "_")
448+ let by = if ((bl == ""))
385449 then ""
386- else (("D:" + ba) + "_")
387- let bl = if ((bd == ""))
450+ else (("D:" + bl) + "_")
451+ let bz = if ((bo == ""))
388452 then ""
389- else (("C:" + bd) + "_")
390- let bm = if ((bg == ""))
453+ else (("F:" + bo) + "_")
454+ let bA = if ((br == ""))
391455 then ""
392- else (("H:" + bg) + "_")
393- $Tuple2([StringEntry("DEBUG_TURTLE", aZ), StringEntry("DEBUG_DUCK", ba), StringEntry("DEBUG_CAT", bd), StringEntry("DEBUG_HOND", bg)], (((bj + bk) + bl) + bg))
456+ else (("C:" + br) + "_")
457+ let bB = if ((bu == ""))
458+ then ""
459+ else (("E:" + br) + "_")
460+ $Tuple2([StringEntry("DEBUG_TURTLE", bk), StringEntry("DEBUG_DUCK", bl), StringEntry("DEBUG_CAT", bo), StringEntry("DEBUG_HOND", br), StringEntry("DEBUG_EAGLE", bu)], ((((bx + by) + bz) + br) + bu))
394461 }
395462 else throw("Strict value is not equal to itself.")
396463 }
397464
398465
399-func bn (bo) = if ((3 > size(split(bo, ":"))))
466+func bC (bD) = if ((3 > size(split(bD, ":"))))
400467 then true
401468 else false
402469
403470
404-func bp (s,bq) = {
405- let br = u(bq, s)
406- let bs = w(bq, s)
407- let bt = x(bq, s)
408- let bu = getStringValue(this, br)
409- let bv = getIntegerValue(this, bs)
410- if ((bu == e()))
471+func bE (x,bF) = {
472+ let bG = z(bF, x)
473+ let bH = B(bF, x)
474+ let bI = C(bF, x)
475+ let bJ = getStringValue(this, bG)
476+ let bK = getIntegerValue(this, bH)
477+ if ((bJ == e()))
411478 then {
412- let bw = getStringValue(this, x(bq, s))
413- throw(("The MUTANT was breeded and claimed already, here is the folowing: " + bw))
479+ let bL = getStringValue(this, C(bF, x))
480+ throw(("The MUTANT was breeded and claimed already, here is the folowing: " + bL))
414481 }
415- else if ((bv > height))
416- then throw((((("Breeding is not finished yet " + toString((bv - height))) + " blocks remaining, it will take around ") + toString((bv - height))) + " minutes"))
482+ else if ((bK > height))
483+ then throw((((("Breeding is not finished yet " + toString((bK - height))) + " blocks remaining, it will take around ") + toString((bK - height))) + " minutes"))
417484 else {
418- let af = C(r(fromBase58String(s), 1))
419- let ag = C(r(fromBase58String(s), 2))
420- let bx = fromBase58String(af)
421- let by = fromBase58String(ag)
422- let ac = ad(fromBase58String(s), bv, bx, by)
423- let bz = aF(ac)
424- let bA = ar(ac)
425- let bB = (D(n(ac)) + 1)
426- let ap = (D(m()) + 1)
427- let bC = Issue(("MTNT-" + toString(ap)), ac, 1, 0, false, unit, bv)
428- let q = calculateAssetId(bC)
429- let bD = D((("stats_" + bz._2) + "_quantity"))
430- let bo = D((("stats_" + bA) + "_rarity"))
431- let bE = addressFromStringValue(bq)
432- let bF = bn(bz._2)
433- let bG = if (bF)
434- then Burn(q, 1)
435- else ScriptTransfer(bE, 1, q)
436- let bH = if ((R(10, fromBase58String(s), bv, 2) == 5))
437- then Burn(bx, 1)
438- else ScriptTransfer(bE, 1, bx)
439- let bI = if ((R(10, fromBase58String(s), bv, 3) == 5))
440- then Burn(by, 1)
441- else ScriptTransfer(bE, 1, by)
442-[StringEntry(br, e()), StringEntry(bt, toBase58String(q)), StringEntry(toBase58String(q), bt), IntegerEntry(n(ac), bB), IntegerEntry(m(), ap), IntegerEntry((("stats_" + bz._2) + "_quantity"), (bD + 1)), IntegerEntry((("stats_" + bA) + "_rarity"), (bo + 1)), IntegerEntry((("asset_" + af) + "_children"), 1), IntegerEntry((("asset_" + ag) + "_children"), 1), bC, bG, bH, bI]
485+ let ap = H(w(fromBase58String(x), 1))
486+ let aq = H(w(fromBase58String(x), 2))
487+ let bM = fromBase58String(ap)
488+ let bN = fromBase58String(aq)
489+ let am = an(fromBase58String(x), bK, bM, bN)
490+ let bO = aP(am)
491+ let bP = aB(am)
492+ let bQ = (I(s(am)) + 1)
493+ let az = (I(r()) + 1)
494+ let bR = Issue(("MTNT-" + toString(az)), am, 1, 0, false, unit, bK)
495+ let v = calculateAssetId(bR)
496+ let bS = I((("stats_" + bO._2) + "_quantity"))
497+ let bD = I((("stats_" + bP) + "_rarity"))
498+ let bT = addressFromStringValue(bF)
499+ let bU = bC(bO._2)
500+ let bV = if (bU)
501+ then Burn(v, 1)
502+ else ScriptTransfer(bT, 1, v)
503+ let bW = if ((ab(10, fromBase58String(x), bK, 2) == 5))
504+ then Burn(bM, 1)
505+ else ScriptTransfer(bT, 1, bM)
506+ let bX = if ((ab(10, fromBase58String(x), bK, 3) == 5))
507+ then Burn(bN, 1)
508+ else ScriptTransfer(bT, 1, bN)
509+[StringEntry(bG, e()), StringEntry(bI, toBase58String(v)), StringEntry(toBase58String(v), bI), IntegerEntry(s(am), bQ), IntegerEntry(r(), az), IntegerEntry((("stats_" + bO._2) + "_quantity"), (bS + 1)), IntegerEntry((("stats_" + bP) + "_rarity"), (bD + 1)), IntegerEntry((("asset_" + ap) + "_children"), 1), IntegerEntry((("asset_" + aq) + "_children"), 1), bR, bV, bW, bX]
443510 }
444511 }
445512
446513
447-func bJ (bK) = if (isDefined(bK.assetId))
514+func bY (bZ) = if (isDefined(bZ.assetId))
448515 then throw("BCAP: Please attach waves")
449516 else {
450- let bL = getIntegerValue(G(), k())
451- if ((bK.amount != bL))
452- then throw((("BCAP: Please attach exactly " + toString(bL)) + " amount of wavelets"))
453- else [ScriptTransfer(L(), bL, unit)]
517+ let ca = getIntegerValue(L(), k())
518+ if ((bZ.amount != ca))
519+ then throw((("BCAP: Please attach exactly " + toString(ca)) + " amount of wavelets"))
520+ else [ScriptTransfer(T(), ca, unit)]
454521 }
455522
456523
457-func bM (bN) = {
458- let bO = split(bN.name, "")
459- let bP = bO[0]
460- let ac = bO[14]
461- if ((ac != "O"))
524+func cb (cc) = {
525+ let cd = split(cc.name, "")
526+ let ce = cd[0]
527+ let am = cd[14]
528+ if ((am != "O"))
462529 then throw("MCTAVO: Only obstinates can be turned into mutants")
463530 else {
464- let bQ = if ((bP == "T"))
465- then H()
466- else if ((bP == "D"))
467- then I()
468- else throw("MCTAVO: Invalid type")
469- if ((bQ != bN.issuer))
531+ let cf = if ((ce == "T"))
532+ then M()
533+ else if ((ce == "D"))
534+ then N()
535+ else if ((ce == "C"))
536+ then P()
537+ else if ((ce == "F"))
538+ then Q()
539+ else if ((ce == "E"))
540+ then O()
541+ else throw("MCTAVO: Invalid type")
542+ if ((cf != cc.issuer))
470543 then throw("MCTAVO: Only obstinates from the breeder contract can be turned into mutants")
471- else if ((y(bQ, toBase58String(bN.id)) == ""))
544+ else if ((D(cf, toBase58String(cc.id)) == ""))
472545 then throw("MCTAVO: Invalid nft")
473- else if ((D(p(toBase58String(bN.id))) == 1))
546+ else if ((I(u(toBase58String(cc.id))) == 1))
474547 then throw("MCTAVO: NFT already used")
475- else bP
548+ else ce
476549 }
477550 }
478551
479552
480-@Callable(bR)
481-func configureOracle (bS) = if ((bR.caller != this))
553+@Callable(cg)
554+func configureOracle (ch) = if ((cg.caller != this))
482555 then throw("ICU: admin only")
483- else [StringEntry("static_oracleAddress", bS)]
556+ else [StringEntry("static_oracleAddress", ch)]
484557
485558
486559
487-@Callable(bR)
488-func startMutantHatching (bT) = if ((size(bR.payments) != 5))
560+@Callable(cg)
561+func startMutantHatching (ci) = if ((size(cg.payments) != 5))
489562 then throw("MSMH: 5 payments required")
490- else if ((bR.payments[0].amount != 1))
563+ else if ((cg.payments[0].amount != 1))
491564 then throw("MSMH: 1st payment must be an NFT")
492- else if ((bR.payments[1].amount != 1))
565+ else if ((cg.payments[1].amount != 1))
493566 then throw("MSMH: 2nd payment must be an NFT")
494567 else {
495- let bU = bJ(bR.payments[2])
496- if ((bU == bU))
497- then if (if ((bR.payments[3].assetId != K()))
568+ let cj = bY(cg.payments[2])
569+ if ((cj == cj))
570+ then if (if ((cg.payments[3].assetId != S()))
498571 then true
499- else (bR.payments[3].amount != N(a())))
572+ else (cg.payments[3].amount != X(a())))
500573 then throw("MSMH: 4th payment must be in spice")
501- else if (if ((bR.payments[4].assetId != J()))
574+ else if (if ((cg.payments[4].assetId != R()))
502575 then true
503- else (bR.payments[4].amount != N(b())))
576+ else (cg.payments[4].amount != X(b())))
504577 then throw("MSMH: 5th payment must be in egg")
505578 else {
506- let bV = value(assetInfo(value(bR.payments[0].assetId)))
507- let bW = value(assetInfo(value(bR.payments[1].assetId)))
508- let bX = bM(bV)
509- let bY = bM(bW)
510- if ((bX == bY))
511- then throw("MSMH: NFTs can not be of the same type")
512- else ([StringEntry(r(bR.transactionId, 1), toBase58String(bV.id)), StringEntry(r(bR.transactionId, 2), toBase58String(bW.id)), StringEntry(u(toString(bR.caller), toBase58String(bR.transactionId)), d()), IntegerEntry(w(toString(bR.caller), toBase58String(bR.transactionId)), (height + c()))] ++ bU)
579+ let ck = value(assetInfo(value(cg.payments[0].assetId)))
580+ let cl = value(assetInfo(value(cg.payments[1].assetId)))
581+ let cm = cb(ck)
582+ let cn = cb(cl)
583+ let co = invoke(U(), "burnAttachedPayments", nil, [AttachedPayment(R(), assetBalance(this, R()))])
584+ if ((co == co))
585+ then {
586+ let cp = invoke(V(), "topUpReward", nil, [AttachedPayment(S(), (assetBalance(this, S()) / 5))])
587+ if ((cp == cp))
588+ then if ((cm == cn))
589+ then throw("MSMH: NFTs can not be of the same type")
590+ else ([StringEntry(w(cg.transactionId, 1), toBase58String(ck.id)), StringEntry(w(cg.transactionId, 2), toBase58String(cl.id)), StringEntry(z(toString(cg.caller), toBase58String(cg.transactionId)), d()), IntegerEntry(B(toString(cg.caller), toBase58String(cg.transactionId)), (height + c())), Burn(S(), assetBalance(this, S()))] ++ cj)
591+ else throw("Strict value is not equal to itself.")
592+ }
593+ else throw("Strict value is not equal to itself.")
513594 }
514595 else throw("Strict value is not equal to itself.")
515596 }
516597
517598
518599
519-@Callable(bR)
520-func finishMutantHatching (bZ) = {
521- let bq = toString(bR.originCaller)
522- if ((size(bR.payments) != 1))
600+@Callable(cg)
601+func finishMutantHatching (cq) = {
602+ let bF = toString(cg.originCaller)
603+ if ((size(cg.payments) != 1))
523604 then throw("MFMH: Wrong amount of payments!")
524605 else {
525- let ca = bJ(bR.payments[0])
526- if ((ca == ca))
527- then (bp(bZ, bq) ++ ca)
606+ let cr = bY(cg.payments[0])
607+ if ((cr == cr))
608+ then (bE(cq, bF) ++ cr)
528609 else throw("Strict value is not equal to itself.")
529610 }
530611 }
531612
532613
533614
534-@Callable(bR)
535-func getRarity (at) = {
536- let bA = ar(at)
537- let bD = valueOrErrorMessage(D((("stats_" + bA) + "_rarity")), (("stats_" + bA) + "_rarity"))
538- let cb = pow((10000 / bD), 4, 5, 1, 2, FLOOR)
539- let bo = if ((cb > 0))
540- then cb
615+@Callable(cg)
616+func getRarity (aD) = {
617+ let bP = aB(aD)
618+ let bS = valueOrErrorMessage(I((("stats_" + bP) + "_rarity")), (("stats_" + bP) + "_rarity"))
619+ let cs = pow((10000 / bS), 4, 5, 1, 2, FLOOR)
620+ let bD = if ((cs > 0))
621+ then cs
541622 else 2
542- $Tuple2(nil, $Tuple2(bA, bo))
623+ $Tuple2(nil, $Tuple2(bP, bD))
543624 }
544625
545626
546627
547-@Callable(bR)
548-func reduceRarity (q,cc) = throw("MRR: Not implemented")
628+@Callable(cg)
629+func reduceRarity (v,ct) = throw("MRR: Not implemented")
549630
550631
551-@Verifier(cd)
552-func ce () = if (Q())
553- then sigVerify(cd.bodyBytes, cd.proofs[0], cd.senderPublicKey)
632+@Verifier(cu)
633+func cv () = if (aa())
634+ then sigVerify(cu.bodyBytes, cu.proofs[0], cu.senderPublicKey)
554635 else {
555- let cf = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
556- let cg = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
557- let ch = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
558- let ci = if (sigVerify(cd.bodyBytes, cd.proofs[0], cf))
636+ let cw = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
637+ let cx = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
638+ let cy = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
639+ let cz = if (sigVerify(cu.bodyBytes, cu.proofs[0], cw))
559640 then 1
560- else if (sigVerify(cd.bodyBytes, cd.proofs[1], cf))
641+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cw))
561642 then 1
562- else if (sigVerify(cd.bodyBytes, cd.proofs[2], cf))
643+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cw))
563644 then 1
564645 else 0
565- let cj = if (sigVerify(cd.bodyBytes, cd.proofs[0], cg))
646+ let cA = if (sigVerify(cu.bodyBytes, cu.proofs[0], cx))
566647 then 1
567- else if (sigVerify(cd.bodyBytes, cd.proofs[1], cg))
648+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cx))
568649 then 1
569- else if (sigVerify(cd.bodyBytes, cd.proofs[2], cg))
650+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cx))
570651 then 1
571652 else 0
572- let ck = if (sigVerify(cd.bodyBytes, cd.proofs[0], ch))
653+ let cB = if (sigVerify(cu.bodyBytes, cu.proofs[0], cy))
573654 then 1
574- else if (sigVerify(cd.bodyBytes, cd.proofs[1], ch))
655+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cy))
575656 then 1
576- else if (sigVerify(cd.bodyBytes, cd.proofs[2], ch))
657+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cy))
577658 then 1
578659 else 0
579- let cl = ((ci + cj) + ck)
580- let A = cd
581- (cl >= 2)
660+ let cC = ((cz + cA) + cB)
661+ let F = cu
662+ (cC >= 1)
582663 }
583664

github/deemru/w8io/169f3d6 
238.60 ms