tx · 3xggsFJYXxtRZNuXRdoQ8NPjCVR1XTjGx1PE253ThQaq

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2023.01.19 12:48 [2411648] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "3xggsFJYXxtRZNuXRdoQ8NPjCVR1XTjGx1PE253ThQaq", "fee": 2300000, "feeAssetId": null, "timestamp": 1674121713684, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "2fCsaXFgLePELthqvQtXULkFwcMLmYqLYrjHR3PVeV9yLwwzmh4ovpgC8Zm6WcMXiUhsyEsbKFm1ksy1PmUBu5pk" ], "script": "base64:BgKCIggCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgSAwoBCBIAIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiA1NFUCIOUE9PTFdFSUdIVE1VTFQiCnplcm9CaWdJbnQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiGGdldFN0cmluZ0J5QWRkcmVzc09yRmFpbCIHYWRkcmVzcyIMZ2V0SW50T3JaZXJvIgxnZXRJbnRPckZhaWwiCWFzQW55TGlzdCIDdmFsIgckbWF0Y2gwIgp2YWxBbnlMeXN0IgVhc0ludCIGdmFsSW50Ighhc1N0cmluZyIGdmFsU3RyIhFrZXlGYWN0b3J5QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCINa2V5RmFjdG9yeUNmZyIaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmciCmxwQXNzZXRTdHIiEGtleUZhY3RvcnlMcExpc3QiJmtleUZhY3RvcnlMcEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIhRrZXlGYWN0b3J5UG9vbFdlaWdodCIPY29udHJhY3RBZGRyZXNzIhhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwiCnJlYWRMcExpc3QiFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiBGZDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiC2tleUJvb3N0Q2ZnIh9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50IihrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhprZXlCb29zdGluZ1N0YXRzTG9ja3NDb3VudCIaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQiEmtleVVzZXIyTnVtTWFwcGluZyILdXNlckFkZHJlc3MiEmtleU51bTJVc2VyTWFwcGluZyIDbnVtIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50Igd1c2VyTnVtIhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiF2tleVVzZXJNYXhCb29zdElOVEVHUkFMIhhrZXlUb3RhbE1heEJvb3N0SU5URUdSQUwiIWtleVVzZXJCb29zdEF2YWxhaWJsZVRvQ2xhaW1Ub3RhbCITa2V5VXNlckJvb3N0Q2xhaW1lZCIRa2V5VG90YWxDYWNoZWRHd3giD2tleVN0YWtlZEJ5VXNlciIOdXNlckFkZHJlc3NTdHIiDGxwQXNzZXRJZFN0ciIOa2V5U3Rha2VkVG90YWwiEGtleUNsYWltZWRCeVVzZXIiGWtleUNsYWltZWRCeVVzZXJNaW5SZXdhcmQiG2tleUNsYWltZWRCeVVzZXJCb29zdFJld2FyZCIKcmVhZFN0YWtlZCILc3Rha2luZ0RhcHAiHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudCIha2V5RW1pc3Npb25SYXRlUGVyQmxvY2tNYXhDdXJyZW50IhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayIMa2V5QWRkb25BZGRyIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiDGdldFBvb2xJbkZlZSILcG9vbEFkZHJlc3MiAUAiDWdldFBvb2xPdXRGZWUiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiDmxwU3Rha2VkQnlVc2VyIg11c2VyQ2xhaW1JbmZvIg1taW5SZXdhcmRQYXJ0Ig9ib29zdFJld2FyZFBhcnQiBWRlYnVnIg1ib29zdGluZ1Bvd2VyIgtjdXJyZW50SXRlciIRZGVsdGFXeEFtb3VudEJ1bGsiG2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzQnVsayIRZGVsdGFMcEFtb3VudEJ1bGsiEGxwQXNzZXRJZE9wdEJ1bGsiDnVzZXJBZGRyZXNzT3B0IgZyZXNBY2MiDWRlbHRhV3hBbW91bnQiF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzIg1kZWx0YUxwQW1vdW50IgxscEFzc2V0SWRPcHQiBGluZm8iA3JlcyIDaW52IghtYXRoRGFwcCIIRU1QVFlTVFIiF21heExvY2tEdXJhdGlvbkluQmxvY2tzIgp1c2VyTnVtU3RyIgp1c2VyQW1vdW50Iglsb2NrU3RhcnQiB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciEXVzZXJDdXJyZ1d4QW1vdW50IhFnV3hBbW91bnRTdGFydE5ldyITZ1d4UGFyYW1zUmVzdWx0TGlzdCINZ1d4QW1vdW50RGlmZiIBayIBYiIYdG90YWxNYXhCb29zdEludGVncmFsS0VZIhJ1c2VyTWF4Qm9vc3RJbnROZXciEHRvdGFsTWF4Qm9vc3RJbnQiDnRvdGFsQ2FjaGVkR3d4IgVNVUxUMyIUd3hFbWlzc2lvblBlckJsb2NrWDMiD3N0YWtlZEJ5VXNlcktFWSIOc3Rha2VkVG90YWxLRVkiDHN0YWtlZEJ5VXNlciILc3Rha2VkVG90YWwiD3N0YWtlZEJ5VXNlck5ldyIOc3Rha2VkVG90YWxOZXciGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMyIJd3hQZXJMcFgzIhB1c2VyV3hQZXJCbG9ja1gzIhdib29zdEVtaXNzaW9uUGVyQmxvY2tYMyIWdG1wVXNlckJvb3N0UGVyQmxvY2tYMyITdXNlckJvb3N0UGVyQmxvY2tYMyIKYm9vc3RDb2VmZiIHT05FTVVMVCIDT05FIhJlbWlzc2lvblN0YXJ0QmxvY2siDHBhc3NlZEJsb2NrcyIOdGVhbUVtRHVyYXRpb24iCXRlYW1FbU1heCIGdGVhbUVtIg90b3RhbFd4UmVsZWFzZWQiDXRvdGFsV3hMb2NrZWQiGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIKbG9ja3NDb3VudCIHbHBBc3NldCIDY2ZnIgphbXRBc3NldElkIgxwcmljZUFzc2V0SWQiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSINcG9vbExQQmFsYW5jZSISYWNjQW10QXNzZXRCYWxhbmNlIhRhY2NQcmljZUFzc2V0QmFsYW5jZSIKcHJpY2VzTGlzdCIIY3VyUHJpY2UiD2xwQW10QXNzZXRTaGFyZSIRbHBQcmljZUFzc2V0U2hhcmUiBWluRmVlIgZvdXRGZWUiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIdcG9vbE9uZVRva2VuT3BlcmF0aW9uc0VuYWJsZWQiDGluQW1Bc3NldEFtdCIMYW1Bc3NldElkU3RyIglhbUFzc2V0SWQiDHByQXNzZXRJZFN0ciIJcHJBc3NldElkIgpwb29sU3RhdHVzIg5hbXRBc3NldEFtdFgxOCIQcHJpY2VBc3NldEFtdFgxOCILY3VyUHJpY2VYMTgiD2luQW1Bc3NldEFtdFgxOCIPaW5QckFzc2V0QW10WDE4IgxpblByQXNzZXRBbXQiDSR0MDIyODMyMjMxODUiCWNhbGNMcEFtdCIMY3VyUHJpY2VDYWxjIglhbUJhbGFuY2UiCXByQmFsYW5jZSIKbHBFbWlzc2lvbiIMYW1CYWxhbmNlUmF3IgxwckJhbGFuY2VSYXciD2FtQmFsYW5jZVJhd1gxOCIPcHJCYWxhbmNlUmF3WDE4Ig0kdDAyNTc1ODI2MTExIhBwYXltZW50THBBc3NldElkIgxwYXltZW50THBBbXQiDSR0MDI2ODA2MjcyMjMiCG91dEFtQW10IghvdXRQckFtdCIPZ3d4VXNlckluZm9MSVNUIglnd3hBbW91bnQiDXVuc3Rha2VBbW91bnQiCm91dEFzc2V0SWQiDG1pbk91dEFtb3VudCIEa2V5cyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXldAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlAgJfXwABZgUBYgABZwkAtgIBAAAAAWgAAQABaQACAAFqAAMAAWsABAABbAAFAAFtAAYAAW4ABwABbwAIAAFwAAkAAXEACgEBcgEBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdAIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUBdQUBcwkArAICCQCsAgIJAKwCAgkArAICAgptYW5kYXRvcnkgCQClCAEFAXUCAS4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdgIBdQFzCQELdmFsdWVPckVsc2UCCQCaCAIFAXUFAXMAAAEBdwIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUBdQUBcwkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUBcwIPIGlzIG5vdCBkZWZpbmVkAQF4AQF5BAF6BQF5AwkAAQIFAXoCCUxpc3RbQW55XQQBQQUBegUBQQkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEBQgEBeQQBegUBeQMJAAECBQF6AgNJbnQEAUMFAXoFAUMJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBAUQBAXkEAXoFAXkDCQABAgUBegIGU3RyaW5nBAFFBQF6BQFFCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQFGAAIcJXMlc19fY29uZmlnX19mYWN0b3J5QWRkcmVzcwEBRwACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFIAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAFJAAEAAUoAAgABSwADAAFMAAQAAU0ABQABTgAGAAFPAAcAAVAACAEBUQACESVzX19mYWN0b3J5Q29uZmlnAQFSAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVQAAhAlc19fbHBUb2tlbnNMaXN0AQFVAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVYBAVcJALkJAgkAzAgCAgQlcyVzCQDMCAICCnBvb2xXZWlnaHQJAMwIAgUBVwUDbmlsBQFlAQFYAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXIBCQEBRgABAVkACQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBAVgACQEBVAACAAUBZQEBWgECYWEJALUJAgkBAXQCBQJhYQkBAVEABQFlAQJhYgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAUoBAmFkAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBTQECYWUBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFJAQJhZgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAVABAmFnAAIKJXNfX2NvbmZpZwECYWgAAh4lcyVzX19zdGF0c19fYWN0aXZlVG90YWxMb2NrZWQBAmFpAAIlJXMlc19fc3RhdHNfX2xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwECYWoAAhclcyVzX19zdGF0c19fbG9ja3NDb3VudAECYWsAAh0lcyVzX19zdGF0c19fYWN0aXZlVXNlcnNDb3VudAECYWwBAmFtCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX191c2VyMm51bQkAzAgCBQJhbQUDbmlsBQFlAQJhbgECYW8JALkJAgkAzAgCAhklcyVzJXNfX21hcHBpbmdfX251bTJ1c2VyCQDMCAIFAmFvBQNuaWwFAWUBAmFwAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIGYW1vdW50BQNuaWwFAWUBAmFyAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIFc3RhcnQFA25pbAUBZQECYXMBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAghkdXJhdGlvbgUDbmlsBQFlAQJhdAECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICAWsFA25pbAUBZQECYXUBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAgFiBQNuaWwFAWUBAmF2AgJhcQJhdwkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFxCQDMCAICAWsJAMwIAgUCYXcFA25pbAUBZQECYXgCAmFxAmF3CQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgUCYXEJAMwIAgIBYgkAzAgCBQJhdwUDbmlsBQFlAQJheQECYXEJALkJAgkAzAgCAh4lcyVkX191c2VyQm9vc3RFbWlzc2lvbkxhc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYXoBAmFxCQC5CQIJAMwIAgIRJXMlZF9fbWF4Qm9vc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYUEAAhglcyVzX19tYXhCb29zdEludF9fdG90YWwBAmFCAQJhcQkAuQkCCQDMCAICJCVzJWRfX3VzZXJCb29zdEF2YWxpYWJsZVRvQ2xhaW1Ub3RhbAkAzAgCBQJhcQUDbmlsBQFlAQJhQwECYXEJALkJAgkAzAgCAhYlcyVkX191c2VyQm9vc3RDbGFpbWVkCQDMCAIFAmFxBQNuaWwFAWUBAmFEAAIWJXMlc19fZ3d4Q2FjaGVkX190b3RhbAECYUUCAmFGAmFHCQC5CQIJAMwIAgIOJXMlcyVzX19zdGFrZWQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUgBAmFHCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQJhRwECYUkCAmFHAmFGCQC5CQIJAMwIAgIPJXMlcyVzX19jbGFpbWVkCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFAWUBAmFKAgJhRwJhRgkAuQkCCQDMCAICGCVzJXMlc19fY2xhaW1lZE1pblJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhSwICYUcCYUYJALkJAgkAzAgCAholcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhTAICYU0BcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhTQUBcwAAAQJhTgACGyVzJXNfX3JhdGVQZXJCbG9ja19fY3VycmVudAECYU8AAh4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAmFQAAIaJXMlc19fZW1pc3Npb25fX3N0YXJ0QmxvY2sBAmFRAAIYJXMlc19fZW1pc3Npb25fX2R1cmF0aW9uAQJhUgACGCVzJXNfX2VtaXNzaW9uX19lbmRCbG9jawECYVMAAg0lc19fYWRkb25BZGRyAAJhVAkBAVgAAAJhVQkBAVoBBQJhVAACYVYJAQJhZAEFAmFVAAJhTQkBAmFlAQUCYVUAAmFXCQECYWYBBQJhVQACYVgJAQJhYgEFAmFVAQJhWQECYVoKAAJiYQkA/AcEBQJhVAIQZ2V0SW5GZWVSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIDSW50BQJiYQkAAgEJAKwCAgkAAwEFAmJhAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmJiAQJhWgoAAmJhCQD8BwQFAmFUAhFnZXRPdXRGZWVSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIDSW50BQJiYQkAAgEJAKwCAgkAAwEFAmJhAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmJjAQJiZAQCYmUJAQF0AgUCYVQJAQFVAQUCYmQEAmJmBQFiBAJiZwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVQJAQFWAQUCYmUEAmJoCQEBdwIFAmFWCQECYU4ABAJiaQkBAXcCBQJhVgkBAmFPAAQCYmoAAwQCYmsJAGkCCQBrAwUCYmgFAmJnBQJiZgUCYmoEAmJsCQBrAwUCYmkFAmJnBQJiZgQCYm0JAGgCBQJiagUBYgQCYm4JAQF2AgUCYU0JAQJhSAEFAmJkCQDMCAIFAmJrCQDMCAIFAmJtCQDMCAIFAmJuBQNuaWwBAmJvAwJicAJicQJicgQCYnMJAGsDBQJicQUBYgUCYnIEAmJ0CQBrAwUCYnAFAmJzBQFiCQDMCAIFAmJ0BQNuaWwBAmJ1AwJidgFzAmJ3AwkAAAIFAmJ3AgZzdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAmJ2BQFzAwkAAAIFAmJ3AgdpbnRlZ2VyCQCkAwEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmJ2BQFzAwkAAAIFAmJ3Agdib29sZWFuCQClAwEJARFAZXh0ck5hdGl2ZSgxMDUxKQIFAmJ2BQFzCQACAQItdW5rbm93biB0eXBlLiBleHBlY3RlZCBzdHJpbmcvaW50ZWdlci9ib29sZWFuAQJieAAEAXoJAKIIAQkBAUcAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiegAEAXoJAKIIAQkBAUgAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiQQECYkIEAmJDCQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAXoJAQJieAADCQABAgUBegIKQnl0ZVZlY3RvcgQCYkQFAXoDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQUCYkQGBQJiQwMJAAECBQF6AgRVbml0AwkAAAIIBQJiQgZjYWxsZXIFBHRoaXMGBQJiQwkAAgECC01hdGNoIGVycm9yEQJiQgELY29uc3RydWN0b3IBAmJFBAJiRgkBAmJBAQUCYkIDCQAAAgUCYkYFAmJGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYkUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQECYmQEAmJHCQECYmMBBQJiZAQCYmgJAJEDAgUCYkcAAAQCYm0JAJEDAgUCYkcAAQQCYm4JAJEDAgUCYkcAAgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJWQJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4FA25pbAUBZQJiQgEdY3VycmVudFVzZXJSZXdhcmRSYXRlUkVBRE9OTFkCAmJkAmFtBAJiRwkBAmJjAQUCYmQEAmJoCQCRAwIFAmJHAAAEAmJtCQCRAwIFAmJHAAEEAmJuCQCRAwIFAmJHAAIEAmJICQEBdgIFAmFNCQECYUUCBQJhbQUCYmQEAmJJCQC1CQIJAQFEAQkA/AcEBQJhTQIPY2xhaW1XeFJFQURPTkxZCQDMCAIFAmJkCQDMCAIFAmFtBQNuaWwFA25pbAUBZQQCYkoJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFAmJJAAUCHGNvdWxkbid0IHBhcnNlIG1pblJld2FyZFBhcnQEAmJLCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSQAGAh5jb3VsZG4ndCBwYXJzZSBib29zdFJld2FyZFBhcnQEAmJMCQCRAwIFAmJJAAcEAmJNAwkAAAIFAmJLAAAJAGgCAAEFAWIJAGsDCQBkAgUCYkoFAmJLBQFiBQJiSgkAlAoCBQNuaWwJALkJAgkAzAgCAgwlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4JAMwIAgkApAMBBQJiSAkAzAgCCQCkAwEFAmJNCQDMCAIFAmJMBQNuaWwFAWUCYkIBHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZBwJiTgJiTwJiUAJiUQJiUgJiUwJiVAMJAAACBQJiTgkAkAMBBQJiTwkAlAoCBQNuaWwFAmJUBAJiVQkAkQMCBQJiTwUCYk4EAmJWCQCRAwIFAmJQBQJiTgQCYlcJAJEDAgUCYlEFAmJOBAJiWAkAkQMCBQJiUgUCYk4EAmJZCgACYmEJAPwHBAUEdGhpcwIRY2FsY0Jvb3N0UkVBRE9OTFkJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlMFA25pbAUDbmlsAwkAAQIFAmJhAgZTdHJpbmcFAmJhCQACAQkArAICCQADAQUCYmECGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwQCYloJAM0IAgUCYlQFAmJZBAJjYQoAAmJhCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIJAGQCBQJiTgABCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTCQDMCAIFAmJaBQNuaWwFA25pbAMJAAECBQJiYQIJTGlzdFtBbnldBQJiYQkAAgEJAKwCAgkAAwEFAmJhAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0DCQAAAgUCY2EFAmNhCQCUCgIFA25pbAUCY2EJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBFWNhbGNCb29zdEJ1bGtSRUFET05MWQUCYlUCYlYCYlcCYlgCYlMEAmJaCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIAAAkAzAgCBQJiVQkAzAgCBQJiVgkAzAgCBQJiVwkAzAgCBQJiWAkAzAgCBQJiUwkAzAgCBQNuaWwFA25pbAUDbmlsCQCUCgIFA25pbAUCYloCYkIBEWNhbGNCb29zdFJFQURPTkxZBQJiVQJiVgJiVwJiWAJiUwQCY2IFAmFXBAJjYwIFZW1wdHkEAmNkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgkAtQkCCQEBdAIFAmFYCQECYWcABQFlAAQEAmFHAwkAAAIFAmJYAgAFAmNjBQJiWAQCYUYDCQAAAgUCYlMCAAUCY2MFAmJTBAJjZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQJhWAkBAmFsAQUCYlMFAmNjBAJjZgkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhWAkBAmFwAQUCY2UAAAQCY2cJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYVgJAQJhcgEFAmNlBQZoZWlnaHQEAmJxCQELdmFsdWVPckVsc2UCCQCaCAIFAmFYCQECYXMBBQJjZQAABAJjaAkAZAIFAmNnBQJicQQCY2kJAJYDAQkAzAgCCQBlAgUCY2gFBmhlaWdodAkAzAgCAAAFA25pbAQCY2oJAGQCBQJjZgUCYlUEAmNrCQCXAwEJAMwIAgkAZAIFAmNpBQJiVgkAzAgCBQJjZAUDbmlsBAJjbAkBAUIBCQCRAwIJAQF4AQkA/AcEBQJhWAITZ3d4VXNlckluZm9SRUFET05MWQkAzAgCBQJhRgUDbmlsBQNuaWwAAAQCY20JAJEDAgkBAmJvAwUCY2oFAmNrBQJjZAAABAJjbgkBAXgBCQD8BwQFAmNiAhVjYWxjR3d4UGFyYW1zUkVBRE9OTFkJAMwIAgUCY20JAMwIAgUGaGVpZ2h0CQDMCAIFAmNrBQNuaWwFA25pbAQCY28JAGUCBQJjbQUCY2wEAmNwCQEBQgEJAJEDAgUCY24AAAQCY3EJAQFCAQkAkQMCBQJjbgABBAJhdwkApAMBCQEBQgEJAJEDAgUCY24AAgQCY3IJAQJhQQAEAmNzCQBpAgkAaAIFAmNtBQJjawACBAJjdAkBAXYCBQJhWAUCY3IEAmN1CgACYmEJAPwHBAUCYVgCGWdldFRvdGFsQ2FjaGVkR3d4UkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY3YA6AcEAmN3CQBoAgkBAXcCBQJhVgkBAmFOAAUCY3YEAmN4CQECYUUCBQJhRgUCYUcEAmN5CQECYUgBBQJhRwQCY3oJAQJhTAIFAmFNBQJjeAQCY0EJAQJhTAIFAmFNBQJjeQQCY0IJAGQCBQJjegUCYlcEAmNDCQBkAgUCY0EFAmJXBAJiZwMJAQIhPQIFAmFHBQJjYwQCYmUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhVAkBAVIBBQJhRwkArAICAhV1bnN1cHBvcnRlZCBscCBhc3NldCAFAmFHCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVYBBQJiZQAABAJjRAkAawMFAmN3BQJiZwkAaAIFAWYAAwQCY0UDCQECIT0CBQJjQwAACQBrAwUCY0QFAWIFAmNDAAAEAmNGCQBrAwUCY0UFAmNCBQFiBAJjRwkAaAIFAmNEAAIEAmNICQBrAwUCY20FAmNHCQBkAgUCY3UFAmNvBAJjSQkAlwMBCQDMCAIFAmNICQDMCAIJAGgCBQJjRgACBQNuaWwEAmNKAwkAAAIFAmNGAAAJAGgCAAEFAWIJAGsDCQBkAgUCY0kFAmNGBQFiBQJjRgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJjbQkAzAgCCQCkAwEFAmNKCQDMCAICAWQFA25pbAUBZQJiQgEXd3hFbWlzc2lvblN0YXRzUkVBRE9OTFkABAJjSwkApAMBBQFiBAJjTAIBMQQCYmgJAQF3AgUCYVYJAQJhTgAEAmNNCQEBdwIFAmFWCQECYVAABAJjTgMJAGYCBQJjTQUGaGVpZ2h0AAAJAGUCBQZoZWlnaHQFAmNNBAJjTwkAaAIAoAsA7QIEAmNQCQBoAgDAiOxfBQFiBAJjUQMJAGYCBQJjTgUCY08FAmNQCQBrAwUCY1AFAmNOBQJjTwQCY1IJAGQCCQBoAgUCYmgFAmNOBQJjUQQCY1MJAQF2AgUCYVgJAQJhaAAEAmNUCQEBdgIFAmFYCQECYWkABAJjVQkBAXYCBQJhWAkBAmFqAAkAlAoCBQNuaWwJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFAmNSCQDMCAIJAKQDAQUCY1MJAMwIAgkApAMBBQJjVAkAzAgCCQCkAwEFAmNVBQNuaWwFAWUCYkIBEXBvb2xTdGF0c1JFQURPTkxZAQJjVgQCYVoJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVQJAQFVAQUCY1YEAmNXCQEBeAEJAPwHBAUCYVoCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1cFAWoEAmNYCQEBRAEJAJEDAgUCY1cFAWsEAmNZCQEBRAEJAJEDAgUCY1cFAWwEAmNaCQEBRAEJAJEDAgUCY1cFAW8EAmRhCQEBRAEJAJEDAgUCY1cFAXAEAmRiCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjVwUBbQQCZGMJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNXBQFuBAJkZAgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJiZAkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJiZAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmRlCQEBQgEJAPwHBAUCYVoCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCY1gFA25pbAUDbmlsBAJkZgkBAUIBCQD8BwQFAmFaAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmNZBQNuaWwFA25pbAQCZGcDCQAAAgUCZGQAAAkAzAgCCQCmAwEFAWcJAMwIAgkApgMBBQFnCQDMCAIJAKYDAQUBZwUDbmlsCQEBeAEJAPwHBAUCYVoCGWNhbGNQcmljZXNXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZGUJAMwIAgUCZGYJAMwIAgUCZGQFA25pbAUDbmlsBAJkaAAABAJkaQkBAUIBCQD8BwQFAmFaAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAJEDAgUCZGcAAQkAzAgCBQFiBQNuaWwFA25pbAQCZGoJAQFCAQkA/AcEBQJhWgIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCRAwIFAmRnAAIJAMwIAgUBYgUDbmlsBQNuaWwEAmJnCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVYBCQClCAEFAmFaBAJkawkBAmFZAQUCYVoEAmRsCQECYmIBBQJhWgQCZG0KAAJiYQkA/AcEBQJhVAIoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIHQm9vbGVhbgUCYmEJAAIBCQCsAgIJAAMBBQJiYQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZG4JAQEhAQUCZG0JAJQKAgUDbmlsCQC5CQIJAMwIAgIUJWQlZCVkJWQlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJkZQkAzAgCCQCkAwEFAmRmCQDMCAIJAKQDAQUCZGQJAMwIAgkApAMBBQJkaAkAzAgCCQCkAwEFAmRpCQDMCAIJAKQDAQUCZGoJAMwIAgkApAMBBQJiZwkAzAgCCQCkAwEFAmRrCQDMCAIJAKQDAQUCZGwJAMwIAgkApQMBBQJkbgUDbmlsBQFlAmJCASRwb29sRXZhbHVhdGVQdXRCeUFtb3VudEFzc2V0UkVBRE9OTFkCAmNWAmRvBAJhWgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXQCBQJhVAkBAVUBBQJjVgQCY1cJAQF4AQkA/AcEBQJhWgIcZ2V0UG9vbENvbmZpZ1dyYXBwZXJSRUFET05MWQUDbmlsBQNuaWwEAmJkCQDZBAEJAQFEAQkAkQMCBQJjVwUBagQCZHAJAQFEAQkAkQMCBQJjVwUBawQCZHEJANkEAQUCZHAEAmRyCQEBRAEJAJEDAgUCY1cFAWwEAmRzCQDZBAEFAmRyBAJkYgkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1cFAW0EAmRjCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjVwUBbgQCZHQJAQFEAQkAkQMCBQJjVwUBaQQCZGQICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUCYmQJAKwCAgkArAIC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bmZvUkVBRE9OTFkJAMwIAgUCYW0FA25pbAUDbmlsBAJkUgkBAUIBCQCRAwIFAmRRAAAJAJQKAgUDbmlsCQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQJkUgUDbmlsBQFlAmJCARV1bnN0YWtlQW5kR2V0T25lVGtuVjIEAmFaAmRTAmRUAmRVBAJjYQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQJhWgIVdW5zdGFrZUFuZEdldE9uZVRrblYyCQDMCAIFAmRTCQDMCAIFAmRUCQDMCAIFAmRVBQNuaWwFA25pbAMJAAACBQJjYQUCY2EJAJQKAgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCARNnZXRLZXlzQnVsa0ludGVybmFsAwJiTgJkVgJiVAMJAAACBQJiTgkAkAMBBQJkVgkAlAoCBQNuaWwFAmJUBAJjcAkAtQkCCQCRAwIFAmRWBQJiTgICKysEAmJ2CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmNwAAAEAXMJAJEDAgUCY3AAAQQCYncJAJEDAgUCY3AAAgQBeQkBAmJ1AwUCYnYFAXMFAmJ3BAJiWgkAzQgCBQJiVAUBeQQCY2EJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCCQBkAgUCYk4AAQkAzAgCBQJkVgkAzAgCBQJiWgUDbmlsBQNuaWwDCQAAAgUCY2EFAmNhCQCUCgIFA25pbAUCY2EJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBC2dldEtleXNCdWxrAQJkVgQCYloJAPwHBAUEdGhpcwITZ2V0S2V5c0J1bGtJbnRlcm5hbAkAzAgCAAAJAMwIAgUCZFYJAMwIAgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFAmJaAmJCAQpzZXRNYW5hZ2VyAQJkVwQCYkYJAQJiQQEFAmJCAwkAAAIFAmJGBQJiRgQCZFgJANkEAQUCZFcDCQAAAgUCZFgFAmRYCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFIAAUCZFcFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEOY29uZmlybU1hbmFnZXIABAJkWQkBAmJ6AAQCZFoDCQEJaXNEZWZpbmVkAQUCZFkGCQACAQISTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmRaBQJkWgQCZWEDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCZFkGCQACAQIbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFAmVhBQJlYQkAzAgCCQELU3RyaW5nRW50cnkCCQEBRwAJANgEAQkBBXZhbHVlAQUCZFkJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAUgABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmViAQJlYwAEAmVkBAF6CQECYngAAwkAAQIFAXoCCkJ5dGVWZWN0b3IEAmJEBQF6BQJiRAMJAAECBQF6AgRVbml0CAUCZWIPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmViCWJvZHlCeXRlcwkAkQMCCAUCZWIGcHJvb2ZzAAAFAmVkfc+tRQ==", "chainId": 84, "height": 2411648, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Aq2vqh1AkFnajMVJqFiEdR5Ye9hbxNt3VjG5eMapDxur Next: ah6cWxRnUs7YfH9kkmxx1r3rc9MA22Vc3wLwPgsX2Mr Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = "__"
1313
1414 let f = b
1515
1616 let g = toBigInt(0)
1717
1818 let h = 1
1919
2020 let i = 2
2121
2222 let j = 3
2323
2424 let k = 4
2525
2626 let l = 5
2727
2828 let m = 6
2929
3030 let n = 7
3131
3232 let o = 8
3333
3434 let p = 9
3535
3636 let q = 10
3737
3838 func r (s) = valueOrErrorMessage(getString(s), (("mandatory this." + s) + " is not defined"))
3939
4040
4141 func t (u,s) = valueOrErrorMessage(getString(u, s), (((("mandatory " + toString(u)) + ".") + s) + " is not defined"))
4242
4343
4444 func v (u,s) = valueOrElse(getInteger(u, s), 0)
4545
4646
4747 func w (u,s) = valueOrErrorMessage(getInteger(u, s), (("mandatory this." + s) + " is not defined"))
4848
4949
5050 func x (y) = {
5151 let z = y
5252 if ($isInstanceOf(z, "List[Any]"))
5353 then {
5454 let A = z
5555 A
5656 }
5757 else throw("fail to cast into List[Any]")
5858 }
5959
6060
6161 func B (y) = {
6262 let z = y
6363 if ($isInstanceOf(z, "Int"))
6464 then {
6565 let C = z
6666 C
6767 }
6868 else throw("fail to cast into Int")
6969 }
7070
7171
7272 func D (y) = {
7373 let z = y
7474 if ($isInstanceOf(z, "String"))
7575 then {
7676 let E = z
7777 E
7878 }
7979 else throw("fail to cast into String")
8080 }
8181
8282
8383 func F () = "%s%s__config__factoryAddress"
8484
8585
8686 func G () = "%s__managerPublicKey"
8787
8888
8989 func H () = "%s__pendingManagerPublicKey"
9090
9191
9292 let I = 1
9393
9494 let J = 2
9595
9696 let K = 3
9797
9898 let L = 4
9999
100100 let M = 5
101101
102102 let N = 6
103103
104104 let O = 7
105105
106106 let P = 8
107107
108108 func Q () = "%s__factoryConfig"
109109
110110
111111 func R (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
112112
113113
114114 func T () = "%s__lpTokensList"
115115
116116
117117 func U (S) = makeString(["%s%s%s", S, "mappings__lpAsset2PoolContract"], e)
118118
119119
120120 func V (W) = makeString(["%s%s", "poolWeight", W], e)
121121
122122
123123 func X () = addressFromStringValue(r(F()))
124124
125125
126126 func Y () = split(valueOrElse(getString(X(), T()), ""), e)
127127
128128
129129 func Z (aa) = split(t(aa, Q()), e)
130130
131131
132132 func ab (ac) = addressFromStringValue(ac[J])
133133
134134
135135 func ad (ac) = addressFromStringValue(ac[M])
136136
137137
138138 func ae (ac) = addressFromStringValue(ac[I])
139139
140140
141141 func af (ac) = addressFromStringValue(ac[P])
142142
143143
144144 func ag () = "%s__config"
145145
146146
147147 func ah () = "%s%s__stats__activeTotalLocked"
148148
149149
150150 func ai () = "%s%s__stats__locksDurationSumInBlocks"
151151
152152
153153 func aj () = "%s%s__stats__locksCount"
154154
155155
156156 func ak () = "%s%s__stats__activeUsersCount"
157157
158158
159159 func al (am) = makeString(["%s%s%s__mapping__user2num", am], e)
160160
161161
162162 func an (ao) = makeString(["%s%s%s__mapping__num2user", ao], e)
163163
164164
165165 func ap (aq) = makeString(["%s%d%s__paramByUserNum", aq, "amount"], e)
166166
167167
168168 func ar (aq) = makeString(["%s%d%s__paramByUserNum", aq, "start"], e)
169169
170170
171171 func as (aq) = makeString(["%s%d%s__paramByUserNum", aq, "duration"], e)
172172
173173
174174 func at (aq) = makeString(["%s%d%s__paramByUserNum", aq, "k"], e)
175175
176176
177177 func au (aq) = makeString(["%s%d%s__paramByUserNum", aq, "b"], e)
178178
179179
180180 func av (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "k", aw], e)
181181
182182
183183 func ax (aq,aw) = makeString(["%s%d%s%d__paramByPeriod", aq, "b", aw], e)
184184
185185
186186 func ay (aq) = makeString(["%s%d__userBoostEmissionLastInt", aq], e)
187187
188188
189189 func az (aq) = makeString(["%s%d__maxBoostInt", aq], e)
190190
191191
192192 func aA () = "%s%s__maxBoostInt__total"
193193
194194
195195 func aB (aq) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aq], e)
196196
197197
198198 func aC (aq) = makeString(["%s%d__userBoostClaimed", aq], e)
199199
200200
201201 func aD () = "%s%s__gwxCached__total"
202202
203203
204204 func aE (aF,aG) = makeString(["%s%s%s__staked", aF, aG], e)
205205
206206
207207 func aH (aG) = ("%s%s%s__staked__total__" + aG)
208208
209209
210210 func aI (aG,aF) = makeString(["%s%s%s__claimed", aF, aG], e)
211211
212212
213213 func aJ (aG,aF) = makeString(["%s%s%s__claimedMinReward", aF, aG], e)
214214
215215
216216 func aK (aG,aF) = makeString(["%s%s%s__claimedBoostReward", aF, aG], e)
217217
218218
219219 func aL (aM,s) = valueOrElse(getInteger(aM, s), 0)
220220
221221
222222 func aN () = "%s%s__ratePerBlock__current"
223223
224224
225225 func aO () = "%s%s__ratePerBlockMax__current"
226226
227227
228228 func aP () = "%s%s__emission__startBlock"
229229
230230
231231 func aQ () = "%s%s__emission__duration"
232232
233233
234234 func aR () = "%s%s__emission__endBlock"
235235
236236
237237 func aS () = "%s__addonAddr"
238238
239239
240240 let aT = X()
241241
242242 let aU = Z(aT)
243243
244244 let aV = ad(aU)
245245
246246 let aM = ae(aU)
247247
248248 let aW = af(aU)
249249
250250 let aX = ab(aU)
251251
252252 func aY (aZ) = {
253253 let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254254 if ($isInstanceOf(ba, "Int"))
255255 then ba
256256 else throw(($getType(ba) + " couldn't be cast to Int"))
257257 }
258258
259259
260260 func bb (aZ) = {
261261 let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262262 if ($isInstanceOf(ba, "Int"))
263263 then ba
264264 else throw(($getType(ba) + " couldn't be cast to Int"))
265265 }
266266
267267
268268 func bc (bd) = {
269269 let be = t(aT, U(bd))
270270 let bf = b
271271 let bg = getIntegerValue(aT, V(be))
272272 let bh = w(aV, aN())
273273 let bi = w(aV, aO())
274274 let bj = 3
275275 let bk = (fraction(bh, bg, bf) / bj)
276276 let bl = fraction(bi, bg, bf)
277277 let bm = (bj * b)
278278 let bn = v(aM, aH(bd))
279279 [bk, bm, bn]
280280 }
281281
282282
283283 func bo (bp,bq,br) = {
284284 let bs = fraction(bq, b, br)
285285 let bt = fraction(bp, bs, b)
286286 [bt]
287287 }
288288
289289
290290 func bu (bv,s,bw) = if ((bw == "string"))
291291 then getStringValue(bv, s)
292292 else if ((bw == "integer"))
293293 then toString(getIntegerValue(bv, s))
294294 else if ((bw == "boolean"))
295295 then toString(getBooleanValue(bv, s))
296296 else throw("unknown type. expected string/integer/boolean")
297297
298298
299299 func bx () = {
300300 let z = getString(G())
301301 if ($isInstanceOf(z, "String"))
302302 then {
303303 let by = z
304304 fromBase58String(by)
305305 }
306306 else if ($isInstanceOf(z, "Unit"))
307307 then unit
308308 else throw("Match error")
309309 }
310310
311311
312312 func bz () = {
313313 let z = getString(H())
314314 if ($isInstanceOf(z, "String"))
315315 then {
316316 let by = z
317317 fromBase58String(by)
318318 }
319319 else if ($isInstanceOf(z, "Unit"))
320320 then unit
321321 else throw("Match error")
322322 }
323323
324324
325325 func bA (bB) = {
326326 let bC = throw("Permission denied")
327327 let z = bx()
328328 if ($isInstanceOf(z, "ByteVector"))
329329 then {
330330 let bD = z
331331 if ((bB.callerPublicKey == bD))
332332 then true
333333 else bC
334334 }
335335 else if ($isInstanceOf(z, "Unit"))
336336 then if ((bB.caller == this))
337337 then true
338338 else bC
339339 else throw("Match error")
340340 }
341341
342342
343343 @Callable(bB)
344344 func constructor (bE) = {
345345 let bF = bA(bB)
346346 if ((bF == bF))
347347 then [StringEntry(F(), bE)]
348348 else throw("Strict value is not equal to itself.")
349349 }
350350
351351
352352
353353 @Callable(bB)
354354 func currentRewardRateREADONLY (bd) = {
355355 let bG = bc(bd)
356356 let bh = bG[0]
357357 let bm = bG[1]
358358 let bn = bG[2]
359359 $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
360360 }
361361
362362
363363
364364 @Callable(bB)
365365 func currentUserRewardRateREADONLY (bd,am) = {
366366 let bG = bc(bd)
367367 let bh = bG[0]
368368 let bm = bG[1]
369369 let bn = bG[2]
370370 let bH = v(aM, aE(am, bd))
371371 let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
372372 let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
373373 let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
374374 let bL = bI[7]
375375 let bM = if ((bK == 0))
376376 then (1 * b)
377377 else fraction((bJ + bK), b, bJ)
378378 $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
379379 }
380380
381381
382382
383383 @Callable(bB)
384384 func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
385385 then $Tuple2(nil, bT)
386386 else {
387387 let bU = bO[bN]
388388 let bV = bP[bN]
389389 let bW = bQ[bN]
390390 let bX = bR[bN]
391391 let bY = {
392392 let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393393 if ($isInstanceOf(ba, "String"))
394394 then ba
395395 else throw(($getType(ba) + " couldn't be cast to String"))
396396 }
397397 let bZ = (bT :+ bY)
398398 let ca = {
399399 let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400400 if ($isInstanceOf(ba, "List[Any]"))
401401 then ba
402402 else throw(($getType(ba) + " couldn't be cast to List[Any]"))
403403 }
404404 if ((ca == ca))
405405 then $Tuple2(nil, ca)
406406 else throw("Strict value is not equal to itself.")
407407 }
408408
409409
410410
411411 @Callable(bB)
412412 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
413413 let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414414 $Tuple2(nil, bZ)
415415 }
416416
417417
418418
419419 @Callable(bB)
420420 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
421421 let cb = aW
422422 let cc = "empty"
423423 let cd = parseIntValue(split(t(aX, ag()), e)[4])
424424 let aG = if ((bX == ""))
425425 then cc
426426 else bX
427427 let aF = if ((bS == ""))
428428 then cc
429429 else bS
430430 let ce = valueOrElse(getString(aX, al(bS)), cc)
431431 let cf = valueOrElse(getInteger(aX, ap(ce)), 0)
432432 let cg = valueOrElse(getInteger(aX, ar(ce)), height)
433433 let bq = valueOrElse(getInteger(aX, as(ce)), 0)
434434 let ch = (cg + bq)
435435 let ci = max([(ch - height), 0])
436436 let cj = (cf + bU)
437437 let ck = min([(ci + bV), cd])
438438 let cl = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
439439 let cm = bo(cj, ck, cd)[0]
440440 let cn = x(invoke(cb, "calcGwxParamsREADONLY", [cm, height, ck], nil))
441441 let co = (cm - cl)
442442 let cp = B(cn[0])
443443 let cq = B(cn[1])
444444 let aw = toString(B(cn[2]))
445445 let cr = aA()
446446 let cs = ((cm * ck) / 2)
447447 let ct = v(aX, cr)
448448 let cu = {
449449 let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
450450 if ($isInstanceOf(ba, "Int"))
451451 then ba
452452 else throw(($getType(ba) + " couldn't be cast to Int"))
453453 }
454454 let cv = 1000
455455 let cw = (w(aV, aN()) * cv)
456456 let cx = aE(aF, aG)
457457 let cy = aH(aG)
458458 let cz = aL(aM, cx)
459459 let cA = aL(aM, cy)
460460 let cB = (cz + bW)
461461 let cC = (cA + bW)
462462 let bg = if ((aG != cc))
463463 then {
464464 let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
465465 getIntegerValue(aT, V(be))
466466 }
467467 else 0
468468 let cD = fraction(cw, bg, (f * 3))
469469 let cE = if ((cC != 0))
470470 then fraction(cD, b, cC)
471471 else 0
472472 let cF = fraction(cE, cB, b)
473473 let cG = (cD * 2)
474474 let cH = fraction(cm, cG, (cu + co))
475475 let cI = min([cH, (cF * 2)])
476476 let cJ = if ((cF == 0))
477477 then (1 * b)
478478 else fraction((cI + cF), b, cF)
479479 $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
480480 }
481481
482482
483483
484484 @Callable(bB)
485485 func wxEmissionStatsREADONLY () = {
486486 let cK = toString(b)
487487 let cL = "1"
488488 let bh = w(aV, aN())
489489 let cM = w(aV, aP())
490490 let cN = if ((cM > height))
491491 then 0
492492 else (height - cM)
493493 let cO = (1440 * 365)
494494 let cP = (201000000 * b)
495495 let cQ = if ((cN > cO))
496496 then cP
497497 else fraction(cP, cN, cO)
498498 let cR = ((bh * cN) + cQ)
499499 let cS = v(aX, ah())
500500 let cT = v(aX, ai())
501501 let cU = v(aX, aj())
502502 $Tuple2(nil, makeString(["%d%d%d%d", toString(cR), toString(cS), toString(cT), toString(cU)], e))
503503 }
504504
505505
506506
507507 @Callable(bB)
508508 func poolStatsREADONLY (cV) = {
509509 let aZ = addressFromStringValue(t(aT, U(cV)))
510510 let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
511511 let bd = fromBase58String(D(cW[j]))
512512 let cX = D(cW[k])
513513 let cY = D(cW[l])
514514 let cZ = D(cW[o])
515515 let da = D(cW[p])
516516 let db = parseIntValue(D(cW[m]))
517517 let dc = parseIntValue(D(cW[n]))
518518 let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
519519 let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cX], nil))
520520 let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cY], nil))
521521 let dg = if ((dd == 0))
522522 then [toString(g), toString(g), toString(g)]
523523 else x(invoke(aZ, "calcPricesWrapperREADONLY", [de, df, dd], nil))
524524 let dh = 0
525525 let di = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[1], b], nil))
526526 let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[2], b], nil))
527527 let bg = getIntegerValue(aT, V(toString(aZ)))
528528 let dk = aY(aZ)
529529 let dl = bb(aZ)
530530 let dm = {
531531 let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
532532 if ($isInstanceOf(ba, "Boolean"))
533533 then ba
534534 else throw(($getType(ba) + " couldn't be cast to Boolean"))
535535 }
536536 let dn = !(dm)
537537 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%d%s", toString(de), toString(df), toString(dd), toString(dh), toString(di), toString(dj), toString(bg), toString(dk), toString(dl), toString(dn)], e))
538538 }
539539
540540
541541
542542 @Callable(bB)
543543 func poolEvaluatePutByAmountAssetREADONLY (cV,do) = {
544544 let aZ = addressFromStringValue(t(aT, U(cV)))
545545 let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
546546 let bd = fromBase58String(D(cW[j]))
547547 let dp = D(cW[k])
548548 let dq = fromBase58String(dp)
549549 let dr = D(cW[l])
550550 let ds = fromBase58String(dr)
551551 let db = parseIntValue(D(cW[m]))
552552 let dc = parseIntValue(D(cW[n]))
553553 let dt = D(cW[i])
554554 let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
555555 let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
556556 let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
557557 let du = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [de, db], nil)))
558558 let dv = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [df, dc], nil)))
559559 let dw = if ((dd == 0))
560560 then g
561561 else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
562562 let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
563563 let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [do, db], nil)))
564564 let dy = fraction(dx, dw, d)
565565 let dz = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), dc], nil))
566566 let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
567567 let dA = {
568568 let z = bZ
569569 if (if (if ($isInstanceOf(z._1, "Int"))
570570 then if ($isInstanceOf(z._3, "Int"))
571571 then if ($isInstanceOf(z._4, "Int"))
572572 then if ($isInstanceOf(z._5, "Int"))
573573 then $isInstanceOf(z._6, "Int")
574574 else false
575575 else false
576576 else false
577577 else false)
578578 then (size(z) == 13)
579579 else false)
580580 then {
581581 let dB = z._1
582582 let dC = z._3
583583 let dD = z._4
584584 let dE = z._5
585585 let dF = z._6
586586 $Tuple5(dB, dC, dD, dE, dF)
587587 }
588588 else throw("Couldn't cast types")
589589 }
590590 let dB = dA._1
591591 let dC = dA._2
592592 let dD = dA._3
593593 let dE = dA._4
594594 let dF = dA._5
595595 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
596596 }
597597
598598
599599
600600 @Callable(bB)
601601 func poolEvaluatePutByPriceAssetREADONLY (cV,dz) = {
602602 let aZ = addressFromStringValue(t(aT, U(cV)))
603603 let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
604604 let bd = fromBase58String(D(cW[j]))
605605 let dp = D(cW[k])
606606 let dq = fromBase58String(dp)
607607 let dr = D(cW[l])
608608 let ds = fromBase58String(dr)
609609 let db = parseIntValue(D(cW[m]))
610610 let dc = parseIntValue(D(cW[n]))
611611 let dt = D(cW[i])
612612 let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
613613 let dG = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
614614 let dH = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
615615 let dI = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dG, db], nil)))
616616 let dJ = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dH, dc], nil)))
617617 let dw = if ((dd == 0))
618618 then g
619619 else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
620620 let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
621621 let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dz, dc], nil)))
622622 let dx = fraction(dy, d, dw)
623623 let do = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dx), db], nil))
624624 let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
625625 let dK = {
626626 let z = bZ
627627 if (if (if ($isInstanceOf(z._1, "Int"))
628628 then if ($isInstanceOf(z._3, "Int"))
629629 then if ($isInstanceOf(z._4, "Int"))
630630 then if ($isInstanceOf(z._5, "Int"))
631631 then $isInstanceOf(z._6, "Int")
632632 else false
633633 else false
634634 else false
635635 else false)
636636 then (size(z) == 13)
637637 else false)
638638 then {
639639 let dB = z._1
640640 let dC = z._3
641641 let dD = z._4
642642 let dE = z._5
643643 let dF = z._6
644644 $Tuple5(dB, dC, dD, dE, dF)
645645 }
646646 else throw("Couldn't cast types")
647647 }
648648 let dB = dK._1
649649 let dC = dK._2
650650 let dD = dK._3
651651 let dE = dK._4
652652 let dF = dK._5
653653 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(dh), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
654654 }
655655
656656
657657
658658 @Callable(bB)
659659 func poolEvaluateGetREADONLY (dL,dM) = {
660660 let aZ = addressFromStringValue(t(aT, U(dL)))
661661 let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aZ)], nil)
662662 let dN = {
663663 let z = bZ
664664 if (if (if ($isInstanceOf(z._1, "Int"))
665665 then if ($isInstanceOf(z._2, "Int"))
666666 then if ($isInstanceOf(z._5, "Int"))
667667 then if ($isInstanceOf(z._6, "Int"))
668668 then if ($isInstanceOf(z._7, "Int"))
669669 then if ($isInstanceOf(z._8, "String"))
670670 then $isInstanceOf(z._9, "String")
671671 else false
672672 else false
673673 else false
674674 else false
675675 else false
676676 else false)
677677 then (size(z) == 10)
678678 else false)
679679 then {
680680 let dO = z._1
681681 let dP = z._2
682682 let dD = z._5
683683 let dE = z._6
684684 let dF = z._7
685685 let dh = z._8
686686 let dt = z._9
687687 $Tuple7(dO, dP, dD, dE, dF, dh, dt)
688688 }
689689 else throw("Couldn't cast types")
690690 }
691691 let dO = dN._1
692692 let dP = dN._2
693693 let dD = dN._3
694694 let dE = dN._4
695695 let dF = dN._5
696696 let dh = dN._6
697697 let dt = dN._7
698698 $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), dh, dt], e))
699699 }
700700
701701
702702
703703 @Callable(bB)
704704 func gwxUserInfoREADONLY (am) = {
705705 let dQ = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
706706 let dR = B(dQ[0])
707707 $Tuple2(nil, makeString(["%d", toString(dR)], e))
708708 }
709709
710710
711711
712712 @Callable(bB)
713713 func unstakeAndGetOneTknV2 (aZ,dS,dT,dU) = {
714714 let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
715715 if ((ca == ca))
716716 then $Tuple2(nil, unit)
717717 else throw("Strict value is not equal to itself.")
718718 }
719719
720720
721721
722722 @Callable(bB)
723723 func getKeysBulkInternal (bN,dV,bT) = if ((bN == size(dV)))
724724 then $Tuple2(nil, bT)
725725 else {
726726 let cp = split(dV[bN], "++")
727727 let bv = addressFromStringValue(cp[0])
728728 let s = cp[1]
729729 let bw = cp[2]
730730 let y = bu(bv, s, bw)
731731 let bZ = (bT :+ y)
732732 let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, bZ], nil)
733733 if ((ca == ca))
734734 then $Tuple2(nil, ca)
735735 else throw("Strict value is not equal to itself.")
736736 }
737737
738738
739739
740740 @Callable(bB)
741741 func getKeysBulk (dV) = {
742742 let bZ = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
743743 $Tuple2(nil, bZ)
744744 }
745745
746746
747747
748748 @Callable(bB)
749749 func setManager (dW) = {
750750 let bF = bA(bB)
751751 if ((bF == bF))
752752 then {
753753 let dX = fromBase58String(dW)
754754 if ((dX == dX))
755755 then [StringEntry(H(), dW)]
756756 else throw("Strict value is not equal to itself.")
757757 }
758758 else throw("Strict value is not equal to itself.")
759759 }
760760
761761
762762
763763 @Callable(bB)
764764 func confirmManager () = {
765765 let dY = bz()
766766 let dZ = if (isDefined(dY))
767767 then true
768768 else throw("No pending manager")
769769 if ((dZ == dZ))
770770 then {
771771 let ea = if ((bB.callerPublicKey == value(dY)))
772772 then true
773773 else throw("You are not pending manager")
774774 if ((ea == ea))
775775 then [StringEntry(G(), toBase58String(value(dY))), DeleteEntry(H())]
776776 else throw("Strict value is not equal to itself.")
777777 }
778778 else throw("Strict value is not equal to itself.")
779779 }
780780
781781
782782 @Verifier(eb)
783783 func ec () = {
784784 let ed = {
785785 let z = bx()
786786 if ($isInstanceOf(z, "ByteVector"))
787787 then {
788788 let bD = z
789789 bD
790790 }
791791 else if ($isInstanceOf(z, "Unit"))
792792 then eb.senderPublicKey
793793 else throw("Match error")
794794 }
795795 sigVerify(eb.bodyBytes, eb.proofs[0], ed)
796796 }
797797

github/deemru/w8io/169f3d6 
79.35 ms