tx · 5puwzvvYqHP8YkaS61QzxLjCS1GEPTPJNY7ZVLf49st5

3N8Sh63vMEnHzGWrxAuqUwyoe8nnwNafRYm:  -0.02100000 Waves

2024.10.03 12:32 [3310494] smart account 3N8Sh63vMEnHzGWrxAuqUwyoe8nnwNafRYm > SELF 0.00000000 Waves

{ "type": 13, "id": "5puwzvvYqHP8YkaS61QzxLjCS1GEPTPJNY7ZVLf49st5", "fee": 2100000, "feeAssetId": null, "timestamp": 1727947980484, "version": 2, "chainId": 84, "sender": "3N8Sh63vMEnHzGWrxAuqUwyoe8nnwNafRYm", "senderPublicKey": "4zRFehCUfXKrC2CnzZRqqio7SeCiqJsryPjDUU1ojLPc", "proofs": [ "5cSVVxrhzrH3pQ66dRhmY5yZA93UkadNLhczfmK2KoUDuSTCAvqvhMkogxqJtR8msVtiXXH9sCfAQkpn5aXAS9JW" ], "script": "base64:BgIcCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIECgIICCwBDmJhc2VQcmljZVNwaWNlAACAlOvcAwEMYmFzZVByaWNlRWdnAACAhK9fARBkZWxheUZvckhhdGNoaW5nAAACAQ9oYXRjaGluZ1N0YXJ0ZWQAAhBCUkVFRElOR19TVEFSVEVEARBoYXRjaGluZ0ZpbmlzaGVkAAIRQlJFRURJTkdfRklOSVNIRUQBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAAhNzdGF0aWNfc3BpY2VBc3NldElkARxzdGF0aWNLZXlfZHVja0JyZWVkZXJBZGRyZXNzAAIVc3RhdGljX2JyZWVkZXJBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlQnJlZWRlckFkZHJlc3MAAhtzdGF0aWNfdHVydGxlQnJlZWRlckFkZHJlc3MBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBEnN0YXRpY0tleV9leHRyYUZlZQACD3N0YXRpY19leHRyYUZlZQEXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAAhRzdGF0aWNfZmVlQWdncmVnYXRvcgESZ2V0U3RhdHNLZXlfYW1vdW50AAIMc3RhdHNfYW1vdW50AQtnZXRTdGF0c0tleQEJZ2VuU3RyaW5nCQCsAgIJAKwCAgIGc3RhdHNfBQlnZW5TdHJpbmcCB19hbW91bnQBC2dldENoaWxkcmVuAQdhc3NldElkCQCsAgIJAKwCAgIGYXNzZXRfBQdhc3NldElkAglfY2hpbGRyZW4BDGdldFBhcmVudEtleQIEdHhJZAlwYXJlbnROdW0JAKwCAgkArAICCQCsAgICB2luaXR0eF8JANgEAQUEdHhJZAIHX3BhcmVudAkApAMBBQlwYXJlbnROdW0BE2dldFByb2Nlc3NTdGF0dXNLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwUEdHhJZAIHX3N0YXR1cwEZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQIHYWRkcmVzcwR0eElkCQCsAgIJAKwCAgkArAICBQdhZGRyZXNzAgFfBQR0eElkAgNfZmgBCGdldElkS2V5AgdhZGRyZXNzBHR4SWQJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8FBHR4SWQCA19kaQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQENdHJ5R2V0SW50ZWdlcgEDa2V5BAN2YWwEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAABQN2YWwBCWdldE9yYWNsZQAJAQdBZGRyZXNzAQkA2QQBCQEMdHJ5R2V0U3RyaW5nAQkBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAEXZ2V0VHVydGxlQnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJAR5zdGF0aWNLZXlfdHVydGxlQnJlZWRlckFkZHJlc3MAARVnZXREdWNrQnJlZWRlckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARxzdGF0aWNLZXlfZHVja0JyZWVkZXJBZGRyZXNzAAENZ2V0RWdnQXNzZXRJZAAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARRzdGF0aWNLZXlfZWdnQXNzZXRJZAABD2dldFNwaWNlQXNzZXRJZAAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARZzdGF0aWNLZXlfc3BpY2VBc3NldElkAAEQZ2V0RmVlQWdncmVnYXRvcgAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAERZ2V0QWxsb3dlZE11dGFudHMACQDMCAIJARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwAJAMwIAgkBFWdldER1Y2tCcmVlZGVyQWRkcmVzcwAFA25pbAEQY2FsY1ByaWNlSW5Bc3NldAEKYmFzZUFtb3VudAkAZAIFCmJhc2VBbW91bnQJAGkCCQBpAgkAaAIFCmJhc2VBbW91bnQJAGQCCQENdHJ5R2V0SW50ZWdlcgEJARJnZXRTdGF0c0tleV9hbW91bnQAAAEA6AcJAJADAQkBEWdldEFsbG93ZWRNdXRhbnRzAAEHZ2V0Qm9vbAEDa2V5BAckbWF0Y2gwCQCbCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwBQFiBwEJaXNUZXN0RW52AAkBB2dldEJvb2wBAgdURVNURU5WAQ9nZXRSYW5kb21OdW1iZXIECHZhcmlhbnRzBHR4SWQUaGF0Y2hpbmdGaW5pc2hIZWlnaHQGb2Zmc2V0BA9yYW5kb21TZWVkQmxvY2sJAQV2YWx1ZQEJAO0HAQkAZQIFFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAEECnJhbmRvbUhhc2gJANQWAQkAywECBQR0eElkCQEFdmFsdWUBCAUPcmFuZG9tU2VlZEJsb2NrA3ZyZgkAagIJALIJAgUKcmFuZG9tSGFzaAUGb2Zmc2V0BQh2YXJpYW50cwEMZ2V0UmFuZG9tR2VuBQRnZW4xBGdlbjIEc3RlcAR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0BAlyYW5kb21OdW0JAQ9nZXRSYW5kb21OdW1iZXIEAAIFBHR4SWQFFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQRzdGVwBANnZW4DCQAAAgUJcmFuZG9tTnVtAAAFBGdlbjEFBGdlbjIFA2dlbgEIZ2VuZXJhdGUEBHR4SWQMZmluaXNoSGVpZ2h0CXBhcmVudDFJZAlwYXJlbnQySWQEC2NvbG9yUmFuZG9tCQEPZ2V0UmFuZG9tTnVtYmVyBABkBQR0eElkBQxmaW5pc2hIZWlnaHQACwQFY29sb3IDCQBmAgAaBQtjb2xvclJhbmRvbQIBQQMJAGYCADAFC2NvbG9yUmFuZG9tAgFCAwkAZgIARgULY29sb3JSYW5kb20CAUMDCQBmAgBaBQtjb2xvclJhbmRvbQIBRAIBRwQKcGFyZW50MUdlbgkAtQkCCAkBBXZhbHVlAQkA7AcBBQlwYXJlbnQxSWQEbmFtZQIABApwYXJlbnQyR2VuCQC1CQIICQEFdmFsdWUBCQDsBwEFCXBhcmVudDJJZARuYW1lAgAEA2dlbgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgVNVE5ULQkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAFCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ABQAABQR0eElkBQxmaW5pc2hIZWlnaHQJAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ABgkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAYAAQUEdHhJZAUMZmluaXNoSGVpZ2h0CQEMZ2V0UmFuZG9tR2VuBQkArAICCQCRAwIFCnBhcmVudDFHZW4AAAkAkQMCBQpwYXJlbnQxR2VuAAcJAKwCAgkAkQMCBQpwYXJlbnQyR2VuAAAJAJEDAgUKcGFyZW50MkdlbgAHAAIFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgAICQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACAADBQR0eElkBQxmaW5pc2hIZWlnaHQJAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ACQkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAkABAUEdHhJZAUMZmluaXNoSGVpZ2h0CQEMZ2V0UmFuZG9tR2VuBQkArAICCQCRAwIFCnBhcmVudDFHZW4AAAkAkQMCBQpwYXJlbnQxR2VuAAoJAKwCAgkAkQMCBQpwYXJlbnQyR2VuAAAJAJEDAgUKcGFyZW50MkdlbgAKAAUFBHR4SWQFDGZpbmlzaEhlaWdodAkBDGdldFJhbmRvbUdlbgUJAKwCAgkAkQMCBQpwYXJlbnQxR2VuAAAJAJEDAgUKcGFyZW50MUdlbgALCQCsAgIJAJEDAgUKcGFyZW50MkdlbgAACQCRAwIFCnBhcmVudDJHZW4ACwAGBQR0eElkBQxmaW5pc2hIZWlnaHQJAQxnZXRSYW5kb21HZW4FCQCsAgIJAJEDAgUKcGFyZW50MUdlbgAACQCRAwIFCnBhcmVudDFHZW4ADAkArAICCQCRAwIFCnBhcmVudDJHZW4AAAkAkQMCBQpwYXJlbnQyR2VuAAwABwUEdHhJZAUMZmluaXNoSGVpZ2h0AgItRwUFY29sb3IFA2dlbgEIaXNTeW1ib2wCA2FjYwNzeW0DCQAAAgUDc3ltCAUDYWNjAl8yCQCUCgIJAGQCCAUDYWNjAl8xAAEIBQNhY2MCXzIJAJQKAgkAZAIIBQNhY2MCXzEAAAgFA2FjYwJfMgEQZ2V0QW1vdW50T3JDbGVhcgEGYW1vdW50AwkBCGNvbnRhaW5zAgUGYW1vdW50AgEwAgAFBmFtb3VudAEIY2hhckxpc3QACQDMCAICAUEJAMwIAgIBQgkAzAgCAgFDCQDMCAICAUQJAMwIAgIBRQkAzAgCAgFGCQDMCAICAUcJAMwIAgIBSAkAzAgCAgFJCQDMCAICAUoJAMwIAgIBSwkAzAgCAgFMCQDMCAICAU0JAMwIAgIBTgkAzAgCAgFPCQDMCAICAVAJAMwIAgIBUQkAzAgCAgFSCQDMCAICAVMJAMwIAgIBVAkAzAgCAgFVCQDMCAICAVYJAMwIAgIBVwkAzAgCAgFYCQDMCAICAVkJAMwIAgIBWgUDbmlsARFnZXRSYXJpdHlGcm9tTmFtZQEEbmFtZQQFY29sb3IJALICAgUEbmFtZQABBAhnZW5vdHlwZQkAtQkCCQCzAgIJALACAgUEbmFtZQAFAAMCAAQIZ2VuZXRpY3MJAMwIAgkAkQMCBQhnZW5vdHlwZQABCQDMCAIJAJEDAgUIZ2Vub3R5cGUAAwkAzAgCCQCRAwIFCGdlbm90eXBlAAUJAMwIAgkAkQMCBQhnZW5vdHlwZQAHCQDMCAIJAJEDAgUIZ2Vub3R5cGUACQkAzAgCCQCRAwIFCGdlbm90eXBlAAsJAMwIAgkAkQMCBQhnZW5vdHlwZQANCQDMCAIJAJEDAgUIZ2Vub3R5cGUADwUDbmlsCgENY29tcG9zZVN0cmluZwIDYWNjBGNoYXIECWNoYXJDb3VudAoAAiRsBQhnZW5ldGljcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgAABQRjaGFyCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhpc1N5bWJvbAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgOAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgJAKwCAgUDYWNjCQEQZ2V0QW1vdW50T3JDbGVhcgEJAKwCAgkApAMBCAUJY2hhckNvdW50Al8xBQRjaGFyCQCsAgIJAKwCAgoAAiRsCQEIY2hhckxpc3QACgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ1jb21wb3NlU3RyaW5nAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAyNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoCAS0FBWNvbG9yAQ1uck9mVHlwZUdlbmVzAQNnZW4ECGdlbm90eXBlCQC1CQIJALMCAgkAsAICBQNnZW4ABQADAgAEBnBhcnRzMQkArAICCQCRAwIFCGdlbm90eXBlAAAJAJEDAgUIZ2Vub3R5cGUAAQQGcGFydHMyCQCsAgIJAJEDAgUIZ2Vub3R5cGUAAgkAkQMCBQhnZW5vdHlwZQADBAZwYXJ0czMJAKwCAgkAkQMCBQhnZW5vdHlwZQAECQCRAwIFCGdlbm90eXBlAAUEBnBhcnRzNAkArAICCQCRAwIFCGdlbm90eXBlAAYJAJEDAgUIZ2Vub3R5cGUABwQGcGFydHM1CQCsAgIJAJEDAgUIZ2Vub3R5cGUACAkAkQMCBQhnZW5vdHlwZQAJBAZwYXJ0czYJAKwCAgkAkQMCBQhnZW5vdHlwZQAKCQCRAwIFCGdlbm90eXBlAAsEBnBhcnRzNwkArAICCQCRAwIFCGdlbm90eXBlAAwJAJEDAgUIZ2Vub3R5cGUADQQGcGFydHM4CQCsAgIJAJEDAgUIZ2Vub3R5cGUADgkAkQMCBQhnZW5vdHlwZQAPBAVwYXJ0cwkAzAgCBQZwYXJ0czEJAMwIAgUGcGFydHMyCQDMCAIFBnBhcnRzMwkAzAgCBQZwYXJ0czQJAMwIAgUGcGFydHM1CQDMCAIFBnBhcnRzNgkAzAgCBQZwYXJ0czcJAMwIAgUGcGFydHM4BQNuaWwKAQ9zb3J0UGFydHNCeVR5cGUCA2FjYwRwYXJ0BApzcGxpdFBhcnRzCQC1CQIFBHBhcnQCAAMJAAACCQCRAwIFCnNwbGl0UGFydHMAAAIBVAkAlgoECQDNCAIIBQNhY2MCXzEJAJEDAgUKc3BsaXRQYXJ0cwABCAUDYWNjAl8yCAUDYWNjAl8zCAUDYWNjAl80AwkAAAIJAJEDAgUKc3BsaXRQYXJ0cwAAAgFECQCWCgQIBQNhY2MCXzEJAM0IAggFA2FjYwJfMgkAkQMCBQpzcGxpdFBhcnRzAAEIBQNhY2MCXzMIBQNhY2MCXzQDCQAAAgkAkQMCBQpzcGxpdFBhcnRzAAACAUMJAJYKBAgFA2FjYwJfMQgFA2FjYwJfMgkAzQgCCAUDYWNjAl8zCQCRAwIFCnNwbGl0UGFydHMAAQgFA2FjYwJfNAMJAAACCQCRAwIFCnNwbGl0UGFydHMAAAIBSAkAlgoE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AgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoEEmZpbmlzaGVkVHVydGxlR2VucwMJAAACBQp0dXJ0bGVHZW5zAgACAAkArAICCQCsAgICAlQ6BQp0dXJ0bGVHZW5zAgFfBBBmaW5pc2hlZER1Y2tHZW5zAwkAAAIFCGR1Y2tHZW5zAgACAAkArAICCQCsAgICAkQ6BQhkdWNrR2VucwIBXwQPZmluaXNoZWRDYXRHZW5zAwkAAAIFB2NhdEdlbnMCAAIACQCsAgIJAKwCAgICQzoFB2NhdEdlbnMCAV8EEGZpbmlzaGVkSG9uZEdlbnMDCQAAAgUIaG9uZEdlbnMCAAIACQCsAgIJAKwCAgICSDoFCGhvbmRHZW5zAgFfCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgIMREVCVUdfVFVSVExFBQp0dXJ0bGVHZW5zCQDMCAIJAQtTdHJpbmdFbnRyeQICCkRFQlVHX0RVQ0sFCGR1Y2tHZW5zCQDMCAIJAQtTdHJpbmdFbnRyeQICCURFQlVHX0NBVAUHY2F0R2VucwkAzAgCCQELU3RyaW5nRW50cnkCAgpERUJVR19IT05EBQhob25kR2VucwUDbmlsCQCsAgIJAKwCAgkArAICBRJmaW5pc2hlZFR1cnRsZUdlbnMFEGZpbmlzaGVkRHVja0dlbnMFD2ZpbmlzaGVkQ2F0R2VucwUIaG9uZEdlbnMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BFnZhbGlkYXRlSWZNdXRhbnRGYWlsZWQBBnJhcml0eQMJAGYCAAMJAJADAQkAtQkCBQZyYXJpdHkCAToGBwEWZmluaXNoSGF0Y2hpbmdJbnRlcm5hbAIEdHhJZAVvd25lcgQQcHJvY2Vzc1N0YXR1c0tleQkBE2dldFByb2Nlc3NTdGF0dXNLZXkCBQVvd25lcgUEdHhJZAQPZmluaXNoSGVpZ2h0S2V5CQEZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQIFBW93bmVyBQR0eElkBAVJZEtleQkBCGdldElkS2V5AgUFb3duZXIFBHR4SWQED3Byb2Nlc3NUeFN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUQcHJvY2Vzc1N0YXR1c0tleQQTcHJvY2Vzc0ZpbmlzaEhlaWdodAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUPZmluaXNoSGVpZ2h0S2V5AwkAAAIFD3Byb2Nlc3NUeFN0YXR1cwkBEGhhdGNoaW5nRmluaXNoZWQABAJJZAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkBCGdldElkS2V5AgUFb3duZXIFBHR4SWQJAAIBCQCsAgICQlRoZSBNVVRBTlQgd2FzIGJyZWVkZWQgYW5kIGNsYWltZWQgYWxyZWFkeSwgaGVyZSBpcyB0aGUgZm9sb3dpbmc6IAUCSWQDCQBmAgUTcHJvY2Vzc0ZpbmlzaEhlaWdodAUGaGVpZ2h0CQACAQkArAICCQCsAgIJAKwCAgkArAICAh1CcmVlZGluZyBpcyBub3QgZmluaXNoZWQgeWV0IAkApAMBCQBlAgUTcHJvY2Vzc0ZpbmlzaEhlaWdodAUGaGVpZ2h0AicgYmxvY2tzIHJlbWFpbmluZywgaXQgd2lsbCB0YWtlIGFyb3VuZCAJAKQDAQkAZQIFE3Byb2Nlc3NGaW5pc2hIZWlnaHQFBmhlaWdodAIIIG1pbnV0ZXMECXBhcmVudDFJZAkBDHRyeUdldFN0cmluZwEJAQxnZXRQYXJlbnRLZXkCCQDZBAEFBHR4SWQAAQQJcGFyZW50MklkCQEMdHJ5R2V0U3RyaW5nAQkBDGdldFBhcmVudEtleQIJANkEAQUEdHhJZAACBA5wYXJlbnQxSWRCeXRlcwkA2QQBBQlwYXJlbnQxSWQEDnBhcmVudDJJZEJ5dGVzCQDZBAEFCXBhcmVudDJJZAQDZ2VuCQEIZ2VuZXJhdGUECQDZBAEFBHR4SWQFE3Byb2Nlc3NGaW5pc2hIZWlnaHQFDnBhcmVudDFJZEJ5dGVzBQ5wYXJlbnQySWRCeXRlcwQHZmFybUdlbgkBDW5yT2ZUeXBlR2VuZXMBBQNnZW4EDnJhcml0eUZyb21OYW1lCQERZ2V0UmFyaXR5RnJvbU5hbWUBBQNnZW4ECWFtb3VudEdlbgkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkBC2dldFN0YXRzS2V5AQUDZ2VuAAEEBmFtb3VudAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQkBEmdldFN0YXRzS2V5X2Ftb3VudAAAAQQFYXNzZXQJAMMIBwkArAICAgVNVE5ULQkApAMBBQZhbW91bnQFA2dlbgABAAAHBQR1bml0BRNwcm9jZXNzRmluaXNoSGVpZ2h0BAdhc3NldElkCQC4CAEFBWFzc2V0BAhxdWFudGl0eQkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RhdHNfCAUHZmFybUdlbgJfMgIJX3F1YW50aXR5BAZyYXJpdHkJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBnN0YXRzXwUOcmFyaXR5RnJvbU5hbWUCB19yYXJpdHkEDm93bmVyQXNBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBQVvd25lcgQGZmFpbGVkCQEWdmFsaWRhdGVJZk11dGFudEZhaWxlZAEIBQdmYXJtR2VuAl8yBA50cmFuc2Zlck9yQnVybgMFBmZhaWxlZAkBBEJ1cm4CBQdhc3NldElkAAEJAQ5TY3JpcHRUcmFuc2ZlcgMFDm93bmVyQXNBZGRyZXNzAAEFB2Fzc2V0SWQEFXRyYW5zZmVyT3JCdXJuUGFyZW50MQMJAAACCQEPZ2V0UmFuZG9tTnVtYmVyBAAKCQDZBAEFBHR4SWQFE3Byb2Nlc3NGaW5pc2hIZWlnaHQAAgAFCQEEQnVybgIFDnBhcmVudDFJZEJ5dGVzAAEJAQ5TY3JpcHRUcmFuc2ZlcgMFDm93bmVyQXNBZGRyZXNzAAEFDnBhcmVudDFJZEJ5dGVzBBV0cmFuc2Zlck9yQnVyblBhcmVudDIDCQAAAgkBD2dldFJhbmRvbU51bWJlcgQACgkA2QQBBQR0eElkBRNwcm9jZXNzRmluaXNoSGVpZ2h0AAMABQkBBEJ1cm4CBQ5wYXJlbnQySWRCeXRlcwABCQEOU2NyaXB0VHJhbnNmZXIDBQ5vd25lckFzQWRkcmVzcwABBQ5wYXJlbnQySWRCeXRlcwkAzAgCCQELU3RyaW5nRW50cnkCBRBwcm9jZXNzU3RhdHVzS2V5CQEQaGF0Y2hpbmdGaW5pc2hlZAAJAMwIAgkBC1N0cmluZ0VudHJ5AgUFSWRLZXkJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQDYBAEFB2Fzc2V0SWQFBUlkS2V5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQELZ2V0U3RhdHNLZXkBBQNnZW4FCWFtb3VudEdlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEmdldFN0YXRzS2V5X2Ftb3VudAAFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0YXRzXwgFB2Zhcm1HZW4CXzICCV9xdWFudGl0eQkAZAIFCHF1YW50aXR5AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZzdGF0c18FDnJhcml0eUZyb21OYW1lAgdfcmFyaXR5CQBkAgUGcmFyaXR5AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZhc3NldF8FCXBhcmVudDFJZAIJX2NoaWxkcmVuAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZhc3NldF8FCXBhcmVudDJJZAIJX2NoaWxkcmVuAAEJAMwIAgUFYXNzZXQJAMwIAgUOdHJhbnNmZXJPckJ1cm4JAMwIAgUVdHJhbnNmZXJPckJ1cm5QYXJlbnQxCQDMCAIFFXRyYW5zZmVyT3JCdXJuUGFyZW50MgUDbmlsARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQdwYXltZW50AwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhlCQ0FQOiBQbGVhc2UgYXR0YWNoIHdhdmVzBAlmZWVBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQlnZXRPcmFjbGUACQESc3RhdGljS2V5X2V4dHJhRmVlAAMJAQIhPQIIBQdwYXltZW50BmFtb3VudAUJZmVlQW1vdW50CQACAQkArAICCQCsAgICHEJDQVA6IFBsZWFzZSBhdHRhY2ggZXhhY3RseSAJAKQDAQUJZmVlQW1vdW50AhMgYW1vdW50IG9mIHdhdmVsZXRzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARBnZXRGZWVBZ2dyZWdhdG9yAAUJZmVlQW1vdW50BQR1bml0BQNuaWwBGmNoZWNrVHlwZUFuZFZhbGlkT2JzdGluYXRlAQRpbmZvBAhzcGxpdHRlZAkAtQkCCAUEaW5mbwRuYW1lAgAEBHR5cGUJAJEDAgUIc3BsaXR0ZWQAAAQDZ2VuCQCRAwIFCHNwbGl0dGVkAA4DCQECIT0CBQNnZW4CAU8JAAIBAjJNQ1RBVk86IE9ubHkgb2JzdGluYXRlcyBjYW4gYmUgdHVybmVkIGludG8gbXV0YW50cwQJYnJlZWRlclNjAwkAAAIFBHR5cGUCAVQJARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwADCQAAAgUEdHlwZQIBRAkBFWdldER1Y2tCcmVlZGVyQWRkcmVzcwAJAAIBAhRNQ1RBVk86IEludmFsaWQgdHlwZQMJAQIhPQIFCWJyZWVkZXJTYwgFBGluZm8GaXNzdWVyCQACAQJMTUNUQVZPOiBPbmx5IG9ic3RpbmF0ZXMgZnJvbSB0aGUgYnJlZWRlciBjb250cmFjdCBjYW4gYmUgdHVybmVkIGludG8gbXV0YW50cwMJAAACCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCBQlicmVlZGVyU2MJANgEAQgFBGluZm8CaWQCAAkAAgECE01DVEFWTzogSW52YWxpZCBuZnQDCQAAAgkBDXRyeUdldEludGVnZXIBCQELZ2V0Q2hpbGRyZW4BCQDYBAEIBQRpbmZvAmlkAAEJAAIBAhhNQ1RBVk86IE5GVCBhbHJlYWR5IHVzZWQFBHR5cGUFAWkBD2NvbmZpZ3VyZU9yYWNsZQEGb3JhY2xlAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIPSUNVOiBhZG1pbiBvbmx5CQDMCAIJAQtTdHJpbmdFbnRyeQICFHN0YXRpY19vcmFjbGVBZGRyZXNzBQZvcmFjbGUFA25pbAFpARNzdGFydE11dGFudEhhdGNoaW5nAQ5yZWZlcmVyQWRkcmVzcwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMABQkAAgECGU1TTUg6IDUgcGF5bWVudHMgcmVxdWlyZWQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAABCQACAQIgTVNNSDogMXN0IHBheW1lbnQgbXVzdCBiZSBhbiBORlQDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwABBmFtb3VudAABCQACAQIgTVNNSDogMm5kIHBheW1lbnQgbXVzdCBiZSBhbiBORlQEDHZhbGlkUGF5bWVudAkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAIDCQAAAgUMdmFsaWRQYXltZW50BQx2YWxpZFBheW1lbnQDAwkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMAAwdhc3NldElkCQEPZ2V0U3BpY2VBc3NldElkAAYJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAMGYW1vdW50CQEQY2FsY1ByaWNlSW5Bc3NldAEJAQ5iYXNlUHJpY2VTcGljZQAJAAIBAiJNU01IOiA0dGggcGF5bWVudCBtdXN0IGJlIGluIHNwaWNlAwMJAQIhPQIICQCRAwIIBQFpCHBheW1lbnRzAAQHYXNzZXRJZAkBDWdldEVnZ0Fzc2V0SWQABgkBAiE9AggJAJEDAggFAWkIcGF5bWVudHMABAZhbW91bnQJARBjYWxjUHJpY2VJbkFzc2V0AQkBDGJhc2VQcmljZUVnZwAJAAIBAiBNU01IOiA1dGggcGF5bWVudCBtdXN0IGJlIGluIGVnZwQEbmZ0MQkBBXZhbHVlAQkA7AcBCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQEBG5mdDIJAQV2YWx1ZQEJAOwHAQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAQdhc3NldElkBAV0eXBlMQkBGmNoZWNrVHlwZUFuZFZhbGlkT2JzdGluYXRlAQUEbmZ0MQQFdHlwZTIJARpjaGVja1R5cGVBbmRWYWxpZE9ic3RpbmF0ZQEFBG5mdDIDCQAAAgUFdHlwZTEFBXR5cGUyCQACAQImTVNNSDogTkZUcyBjYW4gbm90IGJlIG9mIHRoZSBzYW1lIHR5cGUJAM4IAgkAzAgCCQELU3RyaW5nRW50cnkCCQEMZ2V0UGFyZW50S2V5AggFAWkNdHJhbnNhY3Rpb25JZAABCQDYBAEIBQRuZnQxAmlkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxnZXRQYXJlbnRLZXkCCAUBaQ10cmFuc2FjdGlvbklkAAIJANgEAQgFBG5mdDICaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2dldFByb2Nlc3NTdGF0dXNLZXkCCQClCAEIBQFpBmNhbGxlcgkA2AQBCAUBaQ10cmFuc2FjdGlvbklkCQEPaGF0Y2hpbmdTdGFydGVkAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGWdldFByb2Nlc3NGaW5pc2hIZWlnaHRLZXkCCQClCAEIBQFpBmNhbGxlcgkA2AQBCAUBaQ10cmFuc2FjdGlvbklkCQBkAgUGaGVpZ2h0CQEQZGVsYXlGb3JIYXRjaGluZwAFA25pbAUMdmFsaWRQYXltZW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFGZpbmlzaE11dGFudEhhdGNoaW5nAQd0eElkU3RyBAVvd25lcgkApQgBCAUBaQxvcmlnaW5DYWxsZXIDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAh9NRk1IOiBXcm9uZyBhbW91bnQgb2YgcGF5bWVudHMhBAtmZWVWYWxpZGF0ZQkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAADCQAAAgULZmVlVmFsaWRhdGUFC2ZlZVZhbGlkYXRlCQDOCAIJARZmaW5pc2hIYXRjaGluZ0ludGVybmFsAgUHdHhJZFN0cgUFb3duZXIFC2ZlZVZhbGlkYXRlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCWdldFJhcml0eQEIZ2Vub3R5cGUEDnJhcml0eUZyb21OYW1lCQERZ2V0UmFyaXR5RnJvbU5hbWUBBQhnZW5vdHlwZQQIcXVhbnRpdHkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RhdHNfBQ5yYXJpdHlGcm9tTmFtZQIHX3Jhcml0eQkArAICCQCsAgICBnN0YXRzXwUOcmFyaXR5RnJvbU5hbWUCB19yYXJpdHkEBXBvd2VyCQBsBgkAaQIAkE4FCHF1YW50aXR5AAQABQABAAIFBUZMT09SBAZyYXJpdHkDCQBmAgUFcG93ZXIAAAUFcG93ZXIAAgkAlAoCBQNuaWwJAJQKAgUOcmFyaXR5RnJvbU5hbWUFBnJhcml0eQFpAQxyZWR1Y2VSYXJpdHkCB2Fzc2V0SWQEZkdlbgkAAgECFE1SUjogTm90IGltcGxlbWVudGVkAQJ0eAEGdmVyaWZ5AAMJAQlpc1Rlc3RFbnYACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BAlmaXJzdFVzZXIBIFEc5P1m/xJp0vFaFJ87suL0O3/By2gnojRebDjXV91tBApzZWNvbmRVc2VyASDBbN+O7dONc4+Lovn6iQ/0dc1EG1RyUqO0nNJWpC3gdQQJdGhpcmRVc2VyASDnW/SOqtL5SZ5uhCa4+X4f3GeofdwruNTqe83yaArBJQQPZmlyc3RVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCWZpcnN0VXNlcgABAAAEEHNlY29uZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQpzZWNvbmRVc2VyAAEAAAQPdGhpcmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCXRoaXJkVXNlcgABAAAED3NpZ25hdHVyZXNDb3VudAkAZAIJAGQCBQ9maXJzdFVzZXJTaWduZWQFEHNlY29uZFVzZXJTaWduZWQFD3RoaXJkVXNlclNpZ25lZAQHJG1hdGNoMAUCdHgJAGcCBQ9zaWduYXR1cmVzQ291bnQAAk9HNew=", "height": 3310494, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EbkeaxYKue7gHuiKB3ychQERC5evFF3fM5Zz7zZ4PkT8 Next: AD94v3vJ8CD6NXqn4U9wH4xUq5gsSN7FaBcp6NxBrVW6 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
4040 func m () = "stats_amount"
4141
4242
4343 func n (o) = (("stats_" + o) + "_amount")
4444
4545
4646 func p (q) = (("asset_" + q) + "_children")
4747
4848
4949 func r (s,t) = ((("inittx_" + toBase58String(s)) + "_parent") + toString(t))
5050
5151
5252 func u (v,s) = (((v + "_") + s) + "_status")
5353
5454
5555 func w (v,s) = (((v + "_") + s) + "_fh")
5656
5757
5858 func x (v,s) = (((v + "_") + s) + "_di")
5959
6060
6161 func y (v,z) = {
6262 let A = getString(v, z)
6363 if ($isInstanceOf(A, "String"))
6464 then {
6565 let B = A
6666 B
6767 }
6868 else ""
6969 }
7070
7171
7272 func C (z) = y(this, z)
7373
7474
7575 func D (z) = {
7676 let E = {
7777 let A = getInteger(this, z)
7878 if ($isInstanceOf(A, "Int"))
7979 then {
8080 let F = A
8181 F
8282 }
8383 else 0
8484 }
8585 E
8686 }
8787
8888
8989 func G () = Address(fromBase58String(C(j())))
9090
9191
9292 func H () = Address(fromBase58String(y(G(), i())))
9393
9494
9595 func I () = Address(fromBase58String(y(G(), h())))
9696
9797
9898 func J () = fromBase58String(y(G(), f()))
9999
100100
101101 func K () = fromBase58String(y(G(), g()))
102102
103103
104104 func L () = Address(fromBase58String(y(G(), l())))
105105
106106
107107 func M () = [H(), I()]
108108
109109
110110 func N (O) = (O + (((O * (D(m()) + 1)) / 1000) / size(M())))
111111
112112
113113 func P (z) = {
114114 let A = getBoolean(this, z)
115115 if ($isInstanceOf(A, "Boolean"))
116116 then {
117117 let F = A
118118 F
119119 }
120120 else false
121121 }
122122
123123
124124 func Q () = P("TESTENV")
125125
126126
127127 func R (S,s,T,U) = {
128128 let V = value(blockInfoByHeight((T - 1)))
129129 let W = sha256_16Kb((s + value(V.vrf)))
130130 (toInt(W, U) % S)
131131 }
132132
133133
134134 func X (Y,Z,aa,s,T) = {
135135 let ab = R(2, s, T, aa)
136136 let ac = if ((ab == 0))
137137 then Y
138138 else Z
139139 ac
140140 }
141141
142142
143143 func ad (s,ae,af,ag) = {
144144 let ah = R(100, s, ae, 11)
145145 let ai = if ((26 > ah))
146146 then "A"
147147 else if ((48 > ah))
148148 then "B"
149149 else if ((70 > ah))
150150 then "C"
151151 else if ((90 > ah))
152152 then "D"
153153 else "G"
154154 let aj = split(value(assetInfo(af)).name, "")
155155 let ak = split(value(assetInfo(ag)).name, "")
156156 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)
157157 ac
158158 }
159159
160160
161161 func al (am,an) = if ((an == am._2))
162162 then $Tuple2((am._1 + 1), am._2)
163163 else $Tuple2((am._1 + 0), am._2)
164164
165165
166166 func ao (ap) = if (contains(ap, "0"))
167167 then ""
168168 else ap
169169
170170
171171 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"]
172172
173173
174174 func ar (as) = {
175175 let ai = takeRight(as, 1)
176176 let at = split(dropRight(drop(as, 5), 3), "")
177177 let au = [at[1], at[3], at[5], at[7], at[9], at[11], at[13], at[15]]
178178 func av (am,aw) = {
179179 let ax = {
180180 let ay = au
181181 let az = size(ay)
182182 let aA = $Tuple2(0, aw)
183183 func aB (aC,aD) = if ((aD >= az))
184184 then aC
185185 else al(aC, ay[aD])
186186
187187 func aE (aC,aD) = if ((aD >= az))
188188 then aC
189189 else throw("List size exceeds 8")
190190
191191 aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
192192 }
193193 (am + ao((toString(ax._1) + aw)))
194194 }
195195
196196 (({
197197 let ay = aq()
198198 let az = size(ay)
199199 let aA = ""
200200 func aB (aC,aD) = if ((aD >= az))
201201 then aC
202202 else av(aC, ay[aD])
203203
204204 func aE (aC,aD) = if ((aD >= az))
205205 then aC
206206 else throw("List size exceeds 26")
207207
208208 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)
209209 } + "-") + ai)
210210 }
211211
212212
213213 func aF (ac) = {
214214 let at = split(dropRight(drop(ac, 5), 3), "")
215215 let aG = (at[0] + at[1])
216216 let aH = (at[2] + at[3])
217217 let aI = (at[4] + at[5])
218218 let aJ = (at[6] + at[7])
219219 let aK = (at[8] + at[9])
220220 let aL = (at[10] + at[11])
221221 let aM = (at[12] + at[13])
222222 let aN = (at[14] + at[15])
223223 let aO = [aG, aH, aI, aJ, aK, aL, aM, aN]
224224 func aP (am,aQ) = {
225225 let aR = split(aQ, "")
226226 if ((aR[0] == "T"))
227227 then $Tuple4((am._1 :+ aR[1]), am._2, am._3, am._4)
228228 else if ((aR[0] == "D"))
229229 then $Tuple4(am._1, (am._2 :+ aR[1]), am._3, am._4)
230230 else if ((aR[0] == "C"))
231231 then $Tuple4(am._1, am._2, (am._3 :+ aR[1]), am._4)
232232 else if ((aR[0] == "H"))
233233 then $Tuple4(am._1, am._2, am._3, (am._4 :+ aR[1]))
234234 else throw("UNKNOWN TYPE")
235235 }
236236
237237 let aS = {
238238 let ay = aO
239239 let az = size(ay)
240240 let aA = $Tuple4(nil, nil, nil, nil)
241241 func aB (aC,aD) = if ((aD >= az))
242242 then aC
243243 else aP(aC, ay[aD])
244244
245245 func aE (aC,aD) = if ((aD >= az))
246246 then aC
247247 else throw("List size exceeds 8")
248248
249249 aE(aB(aB(aB(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
250250 }
251251 if ((aS == aS))
252252 then {
253253 func aT (am,aw) = {
254254 let ax = {
255255 let ay = aS._1
256256 let az = size(ay)
257257 let aA = $Tuple2(0, aw)
258258 func aU (aC,aD) = if ((aD >= az))
259259 then aC
260260 else al(aC, ay[aD])
261261
262262 func aV (aC,aD) = if ((aD >= az))
263263 then aC
264264 else throw("List size exceeds 8")
265265
266266 aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
267267 }
268268 (am + ao((toString(ax._1) + aw)))
269269 }
270270
271271 func aW (am,aw) = {
272272 let ax = {
273273 let ay = aS._2
274274 let az = size(ay)
275275 let aA = $Tuple2(0, aw)
276276 func aU (aC,aD) = if ((aD >= az))
277277 then aC
278278 else al(aC, ay[aD])
279279
280280 func aV (aC,aD) = if ((aD >= az))
281281 then aC
282282 else throw("List size exceeds 8")
283283
284284 aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
285285 }
286286 (am + ao((toString(ax._1) + aw)))
287287 }
288288
289289 func aX (am,aw) = {
290290 let ax = {
291291 let ay = aS._3
292292 let az = size(ay)
293293 let aA = $Tuple2(0, aw)
294294 func aU (aC,aD) = if ((aD >= az))
295295 then aC
296296 else al(aC, ay[aD])
297297
298298 func aV (aC,aD) = if ((aD >= az))
299299 then aC
300300 else throw("List size exceeds 8")
301301
302302 aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
303303 }
304304 (am + ao((toString(ax._1) + aw)))
305305 }
306306
307307 func aY (am,aw) = {
308308 let ax = {
309309 let ay = aS._4
310310 let az = size(ay)
311311 let aA = $Tuple2(0, aw)
312312 func aU (aC,aD) = if ((aD >= az))
313313 then aC
314314 else al(aC, ay[aD])
315315
316316 func aV (aC,aD) = if ((aD >= az))
317317 then aC
318318 else throw("List size exceeds 8")
319319
320320 aV(aU(aU(aU(aU(aU(aU(aU(aU(aA, 0), 1), 2), 3), 4), 5), 6), 7), 8)
321321 }
322322 (am + ao((toString(ax._1) + aw)))
323323 }
324324
325325 let aZ = {
326326 let ay = aq()
327327 let az = size(ay)
328328 let aA = ""
329329 func aU (aC,aD) = if ((aD >= az))
330330 then aC
331331 else aT(aC, ay[aD])
332332
333333 func aV (aC,aD) = if ((aD >= az))
334334 then aC
335335 else throw("List size exceeds 26")
336336
337337 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)
338338 }
339339 let ba = {
340340 let ay = aq()
341341 let az = size(ay)
342342 let aA = ""
343343 func bb (aC,aD) = if ((aD >= az))
344344 then aC
345345 else aW(aC, ay[aD])
346346
347347 func bc (aC,aD) = if ((aD >= az))
348348 then aC
349349 else throw("List size exceeds 26")
350350
351351 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)
352352 }
353353 let bd = {
354354 let ay = aq()
355355 let az = size(ay)
356356 let aA = ""
357357 func be (aC,aD) = if ((aD >= az))
358358 then aC
359359 else aX(aC, ay[aD])
360360
361361 func bf (aC,aD) = if ((aD >= az))
362362 then aC
363363 else throw("List size exceeds 26")
364364
365365 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)
366366 }
367367 let bg = {
368368 let ay = aq()
369369 let az = size(ay)
370370 let aA = ""
371371 func bh (aC,aD) = if ((aD >= az))
372372 then aC
373373 else aY(aC, ay[aD])
374374
375375 func bi (aC,aD) = if ((aD >= az))
376376 then aC
377377 else throw("List size exceeds 26")
378378
379379 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)
380380 }
381381 let bj = if ((aZ == ""))
382382 then ""
383383 else (("T:" + aZ) + "_")
384384 let bk = if ((ba == ""))
385385 then ""
386386 else (("D:" + ba) + "_")
387387 let bl = if ((bd == ""))
388388 then ""
389389 else (("C:" + bd) + "_")
390390 let bm = if ((bg == ""))
391391 then ""
392392 else (("H:" + bg) + "_")
393393 $Tuple2([StringEntry("DEBUG_TURTLE", aZ), StringEntry("DEBUG_DUCK", ba), StringEntry("DEBUG_CAT", bd), StringEntry("DEBUG_HOND", bg)], (((bj + bk) + bl) + bg))
394394 }
395395 else throw("Strict value is not equal to itself.")
396396 }
397397
398398
399399 func bn (bo) = if ((3 > size(split(bo, ":"))))
400400 then true
401401 else false
402402
403403
404404 func bp (s,bq) = {
405405 let br = u(bq, s)
406406 let bs = w(bq, s)
407407 let bt = x(bq, s)
408408 let bu = getStringValue(this, br)
409409 let bv = getIntegerValue(this, bs)
410410 if ((bu == e()))
411411 then {
412412 let bw = getStringValue(this, x(bq, s))
413413 throw(("The MUTANT was breeded and claimed already, here is the folowing: " + bw))
414414 }
415415 else if ((bv > height))
416416 then throw((((("Breeding is not finished yet " + toString((bv - height))) + " blocks remaining, it will take around ") + toString((bv - height))) + " minutes"))
417417 else {
418418 let af = C(r(fromBase58String(s), 1))
419419 let ag = C(r(fromBase58String(s), 2))
420420 let bx = fromBase58String(af)
421421 let by = fromBase58String(ag)
422422 let ac = ad(fromBase58String(s), bv, bx, by)
423423 let bz = aF(ac)
424424 let bA = ar(ac)
425425 let bB = (D(n(ac)) + 1)
426426 let ap = (D(m()) + 1)
427427 let bC = Issue(("MTNT-" + toString(ap)), ac, 1, 0, false, unit, bv)
428428 let q = calculateAssetId(bC)
429429 let bD = D((("stats_" + bz._2) + "_quantity"))
430430 let bo = D((("stats_" + bA) + "_rarity"))
431431 let bE = addressFromStringValue(bq)
432432 let bF = bn(bz._2)
433433 let bG = if (bF)
434434 then Burn(q, 1)
435435 else ScriptTransfer(bE, 1, q)
436436 let bH = if ((R(10, fromBase58String(s), bv, 2) == 5))
437437 then Burn(bx, 1)
438438 else ScriptTransfer(bE, 1, bx)
439439 let bI = if ((R(10, fromBase58String(s), bv, 3) == 5))
440440 then Burn(by, 1)
441441 else ScriptTransfer(bE, 1, by)
442442 [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]
443443 }
444444 }
445445
446446
447447 func bJ (bK) = if (isDefined(bK.assetId))
448448 then throw("BCAP: Please attach waves")
449449 else {
450450 let bL = getIntegerValue(G(), k())
451451 if ((bK.amount != bL))
452452 then throw((("BCAP: Please attach exactly " + toString(bL)) + " amount of wavelets"))
453453 else [ScriptTransfer(L(), bL, unit)]
454454 }
455455
456456
457457 func bM (bN) = {
458458 let bO = split(bN.name, "")
459459 let bP = bO[0]
460460 let ac = bO[14]
461461 if ((ac != "O"))
462462 then throw("MCTAVO: Only obstinates can be turned into mutants")
463463 else {
464464 let bQ = if ((bP == "T"))
465465 then H()
466466 else if ((bP == "D"))
467467 then I()
468468 else throw("MCTAVO: Invalid type")
469469 if ((bQ != bN.issuer))
470470 then throw("MCTAVO: Only obstinates from the breeder contract can be turned into mutants")
471471 else if ((y(bQ, toBase58String(bN.id)) == ""))
472472 then throw("MCTAVO: Invalid nft")
473473 else if ((D(p(toBase58String(bN.id))) == 1))
474474 then throw("MCTAVO: NFT already used")
475475 else bP
476476 }
477477 }
478478
479479
480480 @Callable(bR)
481481 func configureOracle (bS) = if ((bR.caller != this))
482482 then throw("ICU: admin only")
483483 else [StringEntry("static_oracleAddress", bS)]
484484
485485
486486
487487 @Callable(bR)
488488 func startMutantHatching (bT) = if ((size(bR.payments) != 5))
489489 then throw("MSMH: 5 payments required")
490490 else if ((bR.payments[0].amount != 1))
491491 then throw("MSMH: 1st payment must be an NFT")
492492 else if ((bR.payments[1].amount != 1))
493493 then throw("MSMH: 2nd payment must be an NFT")
494494 else {
495495 let bU = bJ(bR.payments[2])
496496 if ((bU == bU))
497497 then if (if ((bR.payments[3].assetId != K()))
498498 then true
499499 else (bR.payments[3].amount != N(a())))
500500 then throw("MSMH: 4th payment must be in spice")
501501 else if (if ((bR.payments[4].assetId != J()))
502502 then true
503503 else (bR.payments[4].amount != N(b())))
504504 then throw("MSMH: 5th payment must be in egg")
505505 else {
506506 let bV = value(assetInfo(value(bR.payments[0].assetId)))
507507 let bW = value(assetInfo(value(bR.payments[1].assetId)))
508508 let bX = bM(bV)
509509 let bY = bM(bW)
510510 if ((bX == bY))
511511 then throw("MSMH: NFTs can not be of the same type")
512512 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)
513513 }
514514 else throw("Strict value is not equal to itself.")
515515 }
516516
517517
518518
519519 @Callable(bR)
520520 func finishMutantHatching (bZ) = {
521521 let bq = toString(bR.originCaller)
522522 if ((size(bR.payments) != 1))
523523 then throw("MFMH: Wrong amount of payments!")
524524 else {
525525 let ca = bJ(bR.payments[0])
526526 if ((ca == ca))
527527 then (bp(bZ, bq) ++ ca)
528528 else throw("Strict value is not equal to itself.")
529529 }
530530 }
531531
532532
533533
534534 @Callable(bR)
535535 func getRarity (at) = {
536536 let bA = ar(at)
537537 let bD = valueOrErrorMessage(D((("stats_" + bA) + "_rarity")), (("stats_" + bA) + "_rarity"))
538538 let cb = pow((10000 / bD), 4, 5, 1, 2, FLOOR)
539539 let bo = if ((cb > 0))
540540 then cb
541541 else 2
542542 $Tuple2(nil, $Tuple2(bA, bo))
543543 }
544544
545545
546546
547547 @Callable(bR)
548548 func reduceRarity (q,cc) = throw("MRR: Not implemented")
549549
550550
551551 @Verifier(cd)
552552 func ce () = if (Q())
553553 then sigVerify(cd.bodyBytes, cd.proofs[0], cd.senderPublicKey)
554554 else {
555555 let cf = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
556556 let cg = base58'E23yUg8eun5nXB1nZRDf7RTyRADKxQhGNXdpTYonEvtU'
557557 let ch = base58'Ga8WEBTPXbHuoXRD355mQ6ms8PsM2RFYKeA1mEP32CFe'
558558 let ci = if (sigVerify(cd.bodyBytes, cd.proofs[0], cf))
559559 then 1
560560 else if (sigVerify(cd.bodyBytes, cd.proofs[1], cf))
561561 then 1
562562 else if (sigVerify(cd.bodyBytes, cd.proofs[2], cf))
563563 then 1
564564 else 0
565565 let cj = if (sigVerify(cd.bodyBytes, cd.proofs[0], cg))
566566 then 1
567567 else if (sigVerify(cd.bodyBytes, cd.proofs[1], cg))
568568 then 1
569569 else if (sigVerify(cd.bodyBytes, cd.proofs[2], cg))
570570 then 1
571571 else 0
572572 let ck = if (sigVerify(cd.bodyBytes, cd.proofs[0], ch))
573573 then 1
574574 else if (sigVerify(cd.bodyBytes, cd.proofs[1], ch))
575575 then 1
576576 else if (sigVerify(cd.bodyBytes, cd.proofs[2], ch))
577577 then 1
578578 else 0
579579 let cl = ((ci + cj) + ck)
580580 let A = cd
581581 (cl >= 2)
582582 }
583583

github/deemru/w8io/169f3d6 
61.45 ms