tx · GeGd3DXb4YPRPULT6HEFFnVW74wvsa7dtsPSmgj5eYko

3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp:  -0.02300000 Waves

2022.12.14 13:34 [2359863] smart account 3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp > SELF 0.00000000 Waves

{ "type": 13, "id": "GeGd3DXb4YPRPULT6HEFFnVW74wvsa7dtsPSmgj5eYko", "fee": 2300000, "feeAssetId": null, "timestamp": 1671014110830, "version": 1, "sender": "3MsNhK6uve98J6DeqbuwGFBRh9GoHPGUFgp", "senderPublicKey": "86RHVxKovtU7yKnepY8wKsd8niDxGAsiwuA1XA1DNqrS", "proofs": [ "ht27iEC7UB743apBySHrJk8bhG2B52y62tyHYcgRsqSsqnsHMZCtX8XtAiPCRcE3XUnT7pEMUv3EJ3rcscd6xVE" ], "script": "base64:BgKCIggCEgMKAQgSAwoBCBIECgIICBIJCgcBERERGAgYEgcKBRERERgIEgcKBQEBAQgIEgASAwoBCBIECgIIARIECgIIARIECgIIARIDCgEIEgYKBAgBCAESBQoDARgYEgMKARgSAwoBCBIAIgZTQ0FMRTgiBU1VTFQ4IgdTQ0FMRTE4IgZNVUxUMTgiA1NFUCIOUE9PTFdFSUdIVE1VTFQiCnplcm9CaWdJbnQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiGGdldFN0cmluZ0J5QWRkcmVzc09yRmFpbCIHYWRkcmVzcyIMZ2V0SW50T3JaZXJvIgxnZXRJbnRPckZhaWwiCWFzQW55TGlzdCIDdmFsIgckbWF0Y2gwIgp2YWxBbnlMeXN0IgVhc0ludCIGdmFsSW50Ighhc1N0cmluZyIGdmFsU3RyIhFrZXlGYWN0b3J5QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhpJZHhGYWN0b3J5Q2ZnR3d4UmV3YXJkRGFwcCINa2V5RmFjdG9yeUNmZyIaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmciCmxwQXNzZXRTdHIiEGtleUZhY3RvcnlMcExpc3QiJmtleUZhY3RvcnlMcEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIhRrZXlGYWN0b3J5UG9vbFdlaWdodCIPY29udHJhY3RBZGRyZXNzIhhyZWFkRmFjdG9yeUFkZHJlc3NPckZhaWwiCnJlYWRMcExpc3QiFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsIgdmYWN0b3J5IhhnZXRCb29zdGluZ0FkZHJlc3NPckZhaWwiBGZDZmciGGdldEVtaXNzaW9uQWRkcmVzc09yRmFpbCIXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwiGWdldEd3eFJld2FyZEFkZHJlc3NPckZhaWwiC2tleUJvb3N0Q2ZnIh9rZXlCb29zdGluZ0xvY2tQYXJhbVRvdGFsQW1vdW50IihrZXlCb29zdGluZ1N0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhprZXlCb29zdGluZ1N0YXRzTG9ja3NDb3VudCIaa2V5Qm9vc3RpbmdTdGF0c1VzZXJzQ291bnQiEmtleVVzZXIyTnVtTWFwcGluZyILdXNlckFkZHJlc3MiEmtleU51bTJVc2VyTWFwcGluZyIDbnVtIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50Igd1c2VyTnVtIhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiF2tleVVzZXJNYXhCb29zdElOVEVHUkFMIhhrZXlUb3RhbE1heEJvb3N0SU5URUdSQUwiIWtleVVzZXJCb29zdEF2YWxhaWJsZVRvQ2xhaW1Ub3RhbCITa2V5VXNlckJvb3N0Q2xhaW1lZCIRa2V5VG90YWxDYWNoZWRHd3giD2tleVN0YWtlZEJ5VXNlciIOdXNlckFkZHJlc3NTdHIiDGxwQXNzZXRJZFN0ciIOa2V5U3Rha2VkVG90YWwiEGtleUNsYWltZWRCeVVzZXIiGWtleUNsYWltZWRCeVVzZXJNaW5SZXdhcmQiG2tleUNsYWltZWRCeVVzZXJCb29zdFJld2FyZCIKcmVhZFN0YWtlZCILc3Rha2luZ0RhcHAiHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudCIha2V5RW1pc3Npb25SYXRlUGVyQmxvY2tNYXhDdXJyZW50IhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayIMa2V5QWRkb25BZGRyIgtmYWN0b3J5RGFwcCIKZmFjdG9yeUNmZyIMZW1pc3Npb25EYXBwIg1nd3hSZXdhcmREYXBwIgxib29zdGluZ0RhcHAiDGdldFBvb2xJbkZlZSILcG9vbEFkZHJlc3MiAUAiDWdldFBvb2xPdXRGZWUiGWludGVybmFsQ3VycmVudFJld2FyZFJhdGUiCWxwQXNzZXRJZCIOcG9vbEFkZHJlc3NTdHIiDnBvb2xXZWlnaHRNdWx0Igpwb29sV2VpZ2h0IhJ3eEVtaXNzaW9uUGVyQmxvY2siFXd4RW1pc3Npb25QZXJCbG9ja01heCINYm9vc3RNYXhDb2VmZiIWcG9vbFd4RW1pc3Npb25QZXJCbG9jayIZcG9vbFd4RW1pc3Npb25QZXJCbG9ja01heCIJbWF4RmFjdG9yIg10b3RhbExwU3Rha2VkIhpjYWxjR3d4QW1vdW50U3RhcnRSRUFET05MWSIKbG9ja0Ftb3VudCIMbG9ja0R1cmF0aW9uIg9tYXhMb2NrRHVyYXRpb24iB2NvZWZmWDgiDmdXeEFtb3VudFN0YXJ0IgZnZXRLZXkiBGFkZHIiBHR5cGUiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIg5mYWN0b3J5QWRkcmVzcyILY2hlY2tDYWxsZXIiCnJld2FyZERhdGEiDmxwU3Rha2VkQnlVc2VyIg11c2VyQ2xhaW1JbmZvIg1taW5SZXdhcmRQYXJ0Ig9ib29zdFJld2FyZFBhcnQiBWRlYnVnIg1ib29zdGluZ1Bvd2VyIgtjdXJyZW50SXRlciIRZGVsdGFXeEFtb3VudEJ1bGsiG2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzQnVsayIRZGVsdGFMcEFtb3VudEJ1bGsiEGxwQXNzZXRJZE9wdEJ1bGsiDnVzZXJBZGRyZXNzT3B0IgZyZXNBY2MiDWRlbHRhV3hBbW91bnQiF2RlbHRhTG9ja1BlcmlvZEluQmxvY2tzIg1kZWx0YUxwQW1vdW50IgxscEFzc2V0SWRPcHQiBGluZm8iA3JlcyIDaW52IghtYXRoRGFwcCIIRU1QVFlTVFIiF21heExvY2tEdXJhdGlvbkluQmxvY2tzIgp1c2VyTnVtU3RyIgp1c2VyQW1vdW50Iglsb2NrU3RhcnQiB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciEXVzZXJDdXJyZ1d4QW1vdW50IhFnV3hBbW91bnRTdGFydE5ldyITZ1d4UGFyYW1zUmVzdWx0TGlzdCINZ1d4QW1vdW50RGlmZiIBayIBYiIYdG90YWxNYXhCb29zdEludGVncmFsS0VZIhJ1c2VyTWF4Qm9vc3RJbnROZXciEHRvdGFsTWF4Qm9vc3RJbnQiDnRvdGFsQ2FjaGVkR3d4IgVNVUxUMyIUd3hFbWlzc2lvblBlckJsb2NrWDMiD3N0YWtlZEJ5VXNlcktFWSIOc3Rha2VkVG90YWxLRVkiDHN0YWtlZEJ5VXNlciILc3Rha2VkVG90YWwiD3N0YWtlZEJ5VXNlck5ldyIOc3Rha2VkVG90YWxOZXciGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMyIJd3hQZXJMcFgzIhB1c2VyV3hQZXJCbG9ja1gzIhdib29zdEVtaXNzaW9uUGVyQmxvY2tYMyIWdG1wVXNlckJvb3N0UGVyQmxvY2tYMyITdXNlckJvb3N0UGVyQmxvY2tYMyIKYm9vc3RDb2VmZiIHT05FTVVMVCIDT05FIhJlbWlzc2lvblN0YXJ0QmxvY2siDHBhc3NlZEJsb2NrcyIOdGVhbUVtRHVyYXRpb24iCXRlYW1FbU1heCIGdGVhbUVtIg90b3RhbFd4UmVsZWFzZWQiDXRvdGFsV3hMb2NrZWQiGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcyIKbG9ja3NDb3VudCIHbHBBc3NldCIDY2ZnIgphbXRBc3NldElkIgxwcmljZUFzc2V0SWQiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSINcG9vbExQQmFsYW5jZSISYWNjQW10QXNzZXRCYWxhbmNlIhRhY2NQcmljZUFzc2V0QmFsYW5jZSIKcHJpY2VzTGlzdCIIY3VyUHJpY2UiD2xwQW10QXNzZXRTaGFyZSIRbHBQcmljZUFzc2V0U2hhcmUiBWluRmVlIgZvdXRGZWUiHnBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIdcG9vbE9uZVRva2VuT3BlcmF0aW9uc0VuYWJsZWQiDGluQW1Bc3NldEFtdCIMYW1Bc3NldElkU3RyIglhbUFzc2V0SWQiDHByQXNzZXRJZFN0ciIJcHJBc3NldElkIgpwb29sU3RhdHVzIg5hbXRBc3NldEFtdFgxOCIQcHJpY2VBc3NldEFtdFgxOCILY3VyUHJpY2VYMTgiD2luQW1Bc3NldEFtdFgxOCIPaW5QckFzc2V0QW10WDE4IgxpblByQXNzZXRBbXQiDSR0MDIyODMwMjMxODMiCWNhbGNMcEFtdCIMY3VyUHJpY2VDYWxjIglhbUJhbGFuY2UiCXByQmFsYW5jZSIKbHBFbWlzc2lvbiIMYW1CYWxhbmNlUmF3IgxwckJhbGFuY2VSYXciD2FtQmFsYW5jZVJhd1gxOCIPcHJCYWxhbmNlUmF3WDE4Ig0kdDAyNTc1NjI2MTA5IhBwYXltZW50THBBc3NldElkIgxwYXltZW50THBBbXQiDSR0MDI2ODA0MjcyMjEiCG91dEFtQW10IghvdXRQckFtdCIPZ3d4VXNlckluZm9MSVNUIglnd3hBbW91bnQiDXVuc3Rha2VBbW91bnQiCm91dEFzc2V0SWQiDG1pbk91dEFtb3VudCIEa2V5cyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXldAAFhAAgAAWIAgMLXLwABYwASAAFkCQC2AgEAgICQu7rWrfANAAFlAgJfXwABZgUBYgABZwkAtgIBAAAAAWgAAQABaQACAAFqAAMAAWsABAABbAAFAAFtAAYAAW4ABwABbwAIAAFwAAkAAXEACgEBcgEBcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEFAXMJAKwCAgkArAICAg9tYW5kYXRvcnkgdGhpcy4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdAIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUBdQUBcwkArAICCQCsAgIJAKwCAgkArAICAgptYW5kYXRvcnkgCQClCAEFAXUCAS4FAXMCDyBpcyBub3QgZGVmaW5lZAEBdgIBdQFzCQELdmFsdWVPckVsc2UCCQCaCAIFAXUFAXMAAAEBdwIBdQFzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUBdQUBcwkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUBcwIPIGlzIG5vdCBkZWZpbmVkAQF4AQF5BAF6BQF5AwkAAQIFAXoCCUxpc3RbQW55XQQBQQUBegUBQQkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEBQgEBeQQBegUBeQMJAAECBQF6AgNJbnQEAUMFAXoFAUMJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBAUQBAXkEAXoFAXkDCQABAgUBegIGU3RyaW5nBAFFBQF6BQFFCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQFGAAIcJXMlc19fY29uZmlnX19mYWN0b3J5QWRkcmVzcwEBRwACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFIAAIbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAFJAAEAAUoAAgABSwADAAFMAAQAAU0ABQABTgAGAAFPAAcAAVAACAEBUQACESVzX19mYWN0b3J5Q29uZmlnAQFSAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVQAAhAlc19fbHBUb2tlbnNMaXN0AQFVAQFTCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAIFAVMJAMwIAgIebWFwcGluZ3NfX2xwQXNzZXQyUG9vbENvbnRyYWN0BQNuaWwFAWUBAVYBAVcJALkJAgkAzAgCAgQlcyVzCQDMCAICCnBvb2xXZWlnaHQJAMwIAgUBVwUDbmlsBQFlAQFYAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXIBCQEBRgABAVkACQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgkBAVgACQEBVAACAAUBZQEBWgECYWEJALUJAgkBAXQCBQJhYQkBAVEABQFlAQJhYgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAUoBAmFkAQJhYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJhYwUBTQECYWUBAmFjCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmFjBQFJAQJhZgECYWMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYWMFAVABAmFnAAIKJXNfX2NvbmZpZwECYWgAAh4lcyVzX19zdGF0c19fYWN0aXZlVG90YWxMb2NrZWQBAmFpAAIlJXMlc19fc3RhdHNfX2xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwECYWoAAhclcyVzX19zdGF0c19fbG9ja3NDb3VudAECYWsAAh0lcyVzX19zdGF0c19fYWN0aXZlVXNlcnNDb3VudAECYWwBAmFtCQC5CQIJAMwIAgIZJXMlcyVzX19tYXBwaW5nX191c2VyMm51bQkAzAgCBQJhbQUDbmlsBQFlAQJhbgECYW8JALkJAgkAzAgCAhklcyVzJXNfX21hcHBpbmdfX251bTJ1c2VyCQDMCAIFAmFvBQNuaWwFAWUBAmFwAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIGYW1vdW50BQNuaWwFAWUBAmFyAQJhcQkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYXEJAMwIAgIFc3RhcnQFA25pbAUBZQECYXMBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAghkdXJhdGlvbgUDbmlsBQFlAQJhdAECYXEJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFxCQDMCAICAWsFA25pbAUBZQECYXUBAmFxCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhcQkAzAgCAgFiBQNuaWwFAWUBAmF2AgJhcQJhdwkAuQkCCQDMCAICFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQDMCAIFAmFxCQDMCAICAWsJAMwIAgUCYXcFA25pbAUBZQECYXgCAmFxAmF3CQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgUCYXEJAMwIAgIBYgkAzAgCBQJhdwUDbmlsBQFlAQJheQECYXEJALkJAgkAzAgCAh4lcyVkX191c2VyQm9vc3RFbWlzc2lvbkxhc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYXoBAmFxCQC5CQIJAMwIAgIRJXMlZF9fbWF4Qm9vc3RJbnQJAMwIAgUCYXEFA25pbAUBZQECYUEAAhglcyVzX19tYXhCb29zdEludF9fdG90YWwBAmFCAQJhcQkAuQkCCQDMCAICJCVzJWRfX3VzZXJCb29zdEF2YWxpYWJsZVRvQ2xhaW1Ub3RhbAkAzAgCBQJhcQUDbmlsBQFlAQJhQwECYXEJALkJAgkAzAgCAhYlcyVkX191c2VyQm9vc3RDbGFpbWVkCQDMCAIFAmFxBQNuaWwFAWUBAmFEAAIWJXMlc19fZ3d4Q2FjaGVkX190b3RhbAECYUUCAmFGAmFHCQC5CQIJAMwIAgIOJXMlcyVzX19zdGFrZWQJAMwIAgUCYUYJAMwIAgUCYUcFA25pbAUBZQECYUgBAmFHCQCsAgICFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQJhRwECYUkCAmFHAmFGCQC5CQIJAMwIAgIPJXMlcyVzX19jbGFpbWVkCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFAWUBAmFKAgJhRwJhRgkAuQkCCQDMCAICGCVzJXMlc19fY2xhaW1lZE1pblJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhSwICYUcCYUYJALkJAgkAzAgCAholcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQFlAQJhTAICYU0BcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhTQUBcwAAAQJhTgACGyVzJXNfX3JhdGVQZXJCbG9ja19fY3VycmVudAECYU8AAh4lcyVzX19yYXRlUGVyQmxvY2tNYXhfX2N1cnJlbnQBAmFQAAIaJXMlc19fZW1pc3Npb25fX3N0YXJ0QmxvY2sBAmFRAAIYJXMlc19fZW1pc3Npb25fX2R1cmF0aW9uAQJhUgACGCVzJXNfX2VtaXNzaW9uX19lbmRCbG9jawECYVMAAg0lc19fYWRkb25BZGRyAAJhVAkBAVgAAAJhVQkBAVoBBQJhVAACYVYJAQJhZAEFAmFVAAJhTQkBAmFlAQUCYVUAAmFXCQECYWYBBQJhVQACYVgJAQJhYgEFAmFVAQJhWQECYVoKAAJiYQkA/AcEBQJhVAIQZ2V0SW5GZWVSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIDSW50BQJiYQkAAgEJAKwCAgkAAwEFAmJhAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmJiAQJhWgoAAmJhCQD8BwQFAmFUAhFnZXRPdXRGZWVSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIDSW50BQJiYQkAAgEJAKwCAgkAAwEFAmJhAhggY291bGRuJ3QgYmUgY2FzdCB0byBJbnQBAmJjAQJiZAQCYmUJAQF0AgUCYVQJAQFVAQUCYmQEAmJmBQFiBAJiZwkBEUBleHRyTmF0aXZlKDEwNTApAgUCYVQJAQFWAQUCYmUEAmJoCQEBdwIFAmFWCQECYU4ABAJiaQkBAXcCBQJhVgkBAmFPAAQCYmoAAwQCYmsJAGkCCQBrAwUCYmgFAmJnBQJiZgUCYmoEAmJsCQBrAwUCYmkFAmJnBQJiZgQCYm0JAGgCBQJiagUBYgQCYm4JAQF2AgUCYU0JAQJhSAEFAmJkCQDMCAIFAmJrCQDMCAIFAmJtCQDMCAIFAmJuBQNuaWwBAmJvAwJicAJicQJicgQCYnMJAGsDBQJicQUBYgUCYnIEAmJ0CQBrAwUCYnAFAmJzBQFiCQDMCAIFAmJ0BQNuaWwBAmJ1AwJidgFzAmJ3AwkAAAIFAmJ3AgZzdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAmJ2BQFzAwkAAAIFAmJ3AgdpbnRlZ2VyCQCkAwEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFAmJ2BQFzAwkAAAIFAmJ3Agdib29sZWFuCQClAwEJARFAZXh0ck5hdGl2ZSgxMDUxKQIFAmJ2BQFzCQACAQItdW5rbm93biB0eXBlLiBleHBlY3RlZCBzdHJpbmcvaW50ZWdlci9ib29sZWFuAQJieAAEAXoJAKIIAQkBAUcAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiegAEAXoJAKIIAQkBAUgAAwkAAQIFAXoCBlN0cmluZwQCYnkFAXoJANkEAQUCYnkDCQABAgUBegIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAQJiQQECYkIEAmJDCQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAXoJAQJieAADCQABAgUBegIKQnl0ZVZlY3RvcgQCYkQFAXoDCQAAAggFAmJCD2NhbGxlclB1YmxpY0tleQUCYkQGBQJiQwMJAAECBQF6AgRVbml0AwkAAAIIBQJiQgZjYWxsZXIFBHRoaXMGBQJiQwkAAgECC01hdGNoIGVycm9yEQJiQgELY29uc3RydWN0b3IBAmJFBAJiRgkBAmJBAQUCYkIDCQAAAgUCYkYFAmJGCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFGAAUCYkUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgEZY3VycmVudFJld2FyZFJhdGVSRUFET05MWQECYmQEAmJHCQECYmMBBQJiZAQCYmgJAJEDAgUCYkcAAAQCYm0JAJEDAgUCYkcAAQQCYm4JAJEDAgUCYkcAAgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJWQJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4FA25pbAUBZQJiQgEdY3VycmVudFVzZXJSZXdhcmRSYXRlUkVBRE9OTFkCAmJkAmFtBAJiRwkBAmJjAQUCYmQEAmJoCQCRAwIFAmJHAAAEAmJtCQCRAwIFAmJHAAEEAmJuCQCRAwIFAmJHAAIEAmJICQEBdgIFAmFNCQECYUUCBQJhbQUCYmQEAmJJCQC1CQIJAQFEAQkA/AcEBQJhTQIPY2xhaW1XeFJFQURPTkxZCQDMCAIFAmJkCQDMCAIFAmFtBQNuaWwFA25pbAUBZQQCYkoJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFAmJJAAUCHGNvdWxkbid0IHBhcnNlIG1pblJld2FyZFBhcnQEAmJLCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQJiSQAGAh5jb3VsZG4ndCBwYXJzZSBib29zdFJld2FyZFBhcnQEAmJMCQCRAwIFAmJJAAcEAmJNAwkAAAIFAmJLAAAJAGgCAAEFAWIJAGsDCQBkAgUCYkoFAmJLBQFiBQJiSgkAlAoCBQNuaWwJALkJAgkAzAgCAgwlZCVkJWQlZCVkJXMJAMwIAgkApAMBBQJiaAkAzAgCCQCkAwEFAmJtCQDMCAIJAKQDAQUCYm4JAMwIAgkApAMBBQJiSAkAzAgCCQCkAwEFAmJNCQDMCAIFAmJMBQNuaWwFAWUCYkIBHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZBwJiTgJiTwJiUAJiUQJiUgJiUwJiVAMJAAACBQJiTgkAkAMBBQJiTwkAlAoCBQNuaWwFAmJUBAJiVQkAkQMCBQJiTwUCYk4EAmJWCQCRAwIFAmJQBQJiTgQCYlcJAJEDAgUCYlEFAmJOBAJiWAkAkQMCBQJiUgUCYk4EAmJZCgACYmEJAPwHBAUEdGhpcwIRY2FsY0Jvb3N0UkVBRE9OTFkJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgUCYlcJAMwIAgUCYlgJAMwIAgUCYlMFA25pbAUDbmlsAwkAAQIFAmJhAgZTdHJpbmcFAmJhCQACAQkArAICCQADAQUCYmECGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwQCYloJAM0IAgUCYlQFAmJZBAJjYQoAAmJhCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIJAGQCBQJiTgABCQDMCAIFAmJPCQDMCAIFAmJQCQDMCAIFAmJRCQDMCAIFAmJSCQDMCAIFAmJTCQDMCAIFAmJaBQNuaWwFA25pbAMJAAECBQJiYQIJTGlzdFtBbnldBQJiYQkAAgEJAKwCAgkAAwEFAmJhAh4gY291bGRuJ3QgYmUgY2FzdCB0byBMaXN0W0FueV0DCQAAAgUCY2EFAmNhCQCUCgIFA25pbAUCY2EJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBFWNhbGNCb29zdEJ1bGtSRUFET05MWQUCYlUCYlYCYlcCYlgCYlMEAmJaCQD8BwQFBHRoaXMCHWNhbGNCb29zdEJ1bGtJbnRlcm5hbFJFQURPTkxZCQDMCAIAAAkAzAgCBQJiVQkAzAgCBQJiVgkAzAgCBQJiVwkAzAgCBQJiWAkAzAgCBQJiUwkAzAgCBQNuaWwFA25pbAUDbmlsCQCUCgIFA25pbAUCYloCYkIBEWNhbGNCb29zdFJFQURPTkxZBQJiVQJiVgJiVwJiWAJiUwQCY2IFAmFXBAJjYwIFZW1wdHkEAmNkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgkAtQkCCQEBdAIFAmFYCQECYWcABQFlAAQEAmFHAwkAAAIFAmJYAgAFAmNjBQJiWAQCYUYDCQAAAgUCYlMCAAUCY2MFAmJTBAJjZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQJhWAkBAmFsAQUCYlMFAmNjBAJjZgkBC3ZhbHVlT3JFbHNlAgkAmggCBQJhWAkBAmFwAQUCY2UAAAQCY2cJAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYVgJAQJhcgEFAmNlBQZoZWlnaHQEAmJxCQELdmFsdWVPckVsc2UCCQCaCAIFAmFYCQECYXMBBQJjZQAABAJjaAkAZAIFAmNnBQJicQQCY2kJAJYDAQkAzAgCCQBlAgUCY2gFBmhlaWdodAkAzAgCAAAFA25pbAQCY2oJAGQCBQJjZgUCYlUEAmNrCQCXAwEJAMwIAgkAZAIFAmNpBQJiVgkAzAgCBQJjZAUDbmlsBAJjbAkBAUIBCQCRAwIJAQF4AQkA/AcEBQJhWAITZ3d4VXNlckluZm9SRUFET05MWQkAzAgCBQJhRgUDbmlsBQNuaWwAAAQCY20JAJEDAgkBAmJvAwUCY2oFAmNrBQJjZAAABAJjbgkBAXgBCQD8BwQFAmNiAhVjYWxjR3d4UGFyYW1zUkVBRE9OTFkJAMwIAgUCY20JAMwIAgUGaGVpZ2h0CQDMCAIFAmNrBQNuaWwFA25pbAQCY28JAGUCBQJjbQUCY2wEAmNwCQEBQgEJAJEDAgUCY24AAAQCY3EJAQFCAQkAkQMCBQJjbgABBAJhdwkApAMBCQEBQgEJAJEDAgUCY24AAgQCY3IJAQJhQQAEAmNzCQBpAgkAaAIFAmNtBQJjawACBAJjdAkBAXYCBQJhWAUCY3IEAmN1CgACYmEJAPwHBAUCYVgCGWdldFRvdGFsQ2FjaGVkR3d4UkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJhAgNJbnQFAmJhCQACAQkArAICCQADAQUCYmECGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAQCY3YA6AcEAmN3CQBoAgkBAXcCBQJhVgkBAmFOAAUCY3YEAmN4CQECYUUCBQJhRgUCYUcEAmN5CQECYUgBBQJhRwQCY3oJAQJhTAIFAmFNBQJjeAQCY0EJAQJhTAIFAmFNBQJjeQQCY0IJAGQCBQJjegUCYlcEAmNDCQBkAgUCY0EFAmJXBAJiZwMJAQIhPQIFAmFHBQJjYwQCYmUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQJhVAkBAVIBBQJhRwkArAICAhV1bnN1cHBvcnRlZCBscCBhc3NldCAFAmFHCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVYBBQJiZQAABAJjRAkAawMFAmN3BQJiZwkAaAIFAWYAAwQCY0UDCQECIT0CBQJjQwAACQBrAwUCY0QFAWIFAmNDAAAEAmNGCQBrAwUCY0UFAmNCBQFiBAJjRwkAaAIFAmNEAAIEAmNICQBrAwUCY20FAmNHCQBkAgUCY3UFAmNvBAJjSQkAlwMBCQDMCAIFAmNICQDMCAIJAGgCBQJjRgACBQNuaWwEAmNKAwkAAAIFAmNGAAAJAGgCAAEFAWIJAGsDCQBkAgUCY0kFAmNGBQFiBQJjRgkAlAoCBQNuaWwJALkJAgkAzAgCAgYlZCVkJXMJAMwIAgkApAMBBQJjbQkAzAgCCQCkAwEFAmNKCQDMCAICAWQFA25pbAUBZQJiQgEXd3hFbWlzc2lvblN0YXRzUkVBRE9OTFkABAJjSwkApAMBBQFiBAJjTAIBMQQCYmgJAQF3AgUCYVYJAQJhTgAEAmNNCQEBdwIFAmFWCQECYVAABAJjTgMJAGYCBQJjTQUGaGVpZ2h0AAAJAGUCBQZoZWlnaHQFAmNNBAJjTwkAaAIAoAsA7QIEAmNQCQBoAgDAiOxfBQFiBAJjUQMJAGYCBQJjTgUCY08FAmNQCQBrAwUCY1AFAmNOBQJjTwQCY1IJAGQCCQBoAgUCYmgFAmNOBQJjUQQCY1MJAQF2AgUCYVgJAQJhaAAEAmNUCQEBdgIFAmFYCQECYWkABAJjVQkBAXYCBQJhWAkBAmFqAAkAlAoCBQNuaWwJALkJAgkAzAgCAgglZCVkJWQlZAkAzAgCCQCkAwEFAmNSCQDMCAIJAKQDAQUCY1MJAMwIAgkApAMBBQJjVAkAzAgCCQCkAwEFAmNVBQNuaWwFAWUCYkIBEXBvb2xTdGF0c1JFQURPTkxZAQJjVgQCYVoJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVQJAQFVAQUCY1YEAmNXCQEBeAEJAPwHBAUCYVoCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1cFAWoEAmNYCQEBRAEJAJEDAgUCY1cFAWsEAmNZCQEBRAEJAJEDAgUCY1cFAWwEAmNaCQEBRAEJAJEDAgUCY1cFAW8EAmRhCQEBRAEJAJEDAgUCY1cFAXAEAmRiCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjVwUBbQQCZGMJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNXBQFuBAJkZAgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJiZAkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJiZAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmRlCQEBQgEJAPwHBAUCYVoCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCY1gFA25pbAUDbmlsBAJkZgkBAUIBCQD8BwQFAmFaAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmNZBQNuaWwFA25pbAQCZGcDCQAAAgUCZGQAAAkAzAgCCQCmAwEFAWcJAMwIAgkApgMBBQFnCQDMCAIJAKYDAQUBZwUDbmlsCQEBeAEJAPwHBAUCYVoCGWNhbGNQcmljZXNXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZGUJAMwIAgUCZGYJAMwIAgUCZGQFA25pbAUDbmlsBAJkaAAABAJkaQkBAUIBCQD8BwQFAmFaAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAJEDAgUCZGcAAQkAzAgCBQFiBQNuaWwFA25pbAQCZGoJAQFCAQkA/AcEBQJhWgIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCRAwIFAmRnAAIJAMwIAgUBYgUDbmlsBQNuaWwEAmJnCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJhVAkBAVYBCQClCAEFAmFaBAJkawkBAmFZAQUCYVoEAmRsCQECYmIBBQJhWgQCZG0KAAJiYQkA/AcEBQJhVAIoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQkAzAgCCQClCAEFAmFaBQNuaWwFA25pbAMJAAECBQJiYQIHQm9vbGVhbgUCYmEJAAIBCQCsAgIJAAMBBQJiYQIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZG4JAQEhAQUCZG0JAJQKAgUDbmlsCQC5CQIJAMwIAgISJWQlZCVkJWQlZCVkJWQlZCVzCQDMCAIJAKQDAQUCZGUJAMwIAgkApAMBBQJkZgkAzAgCCQCkAwEFAmRkCQDMCAIJAKQDAQUCZGgJAMwIAgkApAMBBQJkaQkAzAgCCQCkAwEFAmRqCQDMCAIJAKQDAQUCYmcJAMwIAgkApAMBBQJkawkAzAgCCQCkAwEFAmRsCQDMCAIJAKUDAQUCZG4FA25pbAUBZQJiQgEkcG9vbEV2YWx1YXRlUHV0QnlBbW91bnRBc3NldFJFQURPTkxZAgJjVgJkbwQCYVoJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQF0AgUCYVQJAQFVAQUCY1YEAmNXCQEBeAEJAPwHBAUCYVoCHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkFA25pbAUDbmlsBAJiZAkA2QQBCQEBRAEJAJEDAgUCY1cFAWoEAmRwCQEBRAEJAJEDAgUCY1cFAWsEAmRxCQDZBAEFAmRwBAJkcgkBAUQBCQCRAwIFAmNXBQFsBAJkcwkA2QQBBQJkcgQCZGIJAQ1wYXJzZUludFZhbHVlAQkBAUQBCQCRAwIFAmNXBQFtBAJkYwkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1cFAW4EAmR0CQEBRAEJAJEDAgUCY1cFAWkEAmRkCAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDsBwEFAmJkCQCsAgIJAKwCAgIGQXNzZXQgCQDYBAEFAmJkAg4gZG9lc24ndCBleGlzdAhxdWFudGl0eQQCZGUJAQFCAQkA/AcEBQJhWgIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQJkcAUDbmlsBQNuaWwEAmRmCQEBQgEJAPwHBAUCYVoCHGdldEFjY0JhbGFuY2VXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZHIFA25pbAUDbmlsBAJkdQkApwMBCQEBRAEJAPwHBAUCYVoCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRlCQDMCAIFAmRiBQNuaWwFA25pbAQCZHYJAKcDAQkBAUQBCQD8BwQFAmFaAhR0b1gxOFdyYXBwZXJSRUFET05MWQkAzAgCBQJkZgkAzAgCBQJkYwUDbmlsBQNuaWwEAmR3AwkAAAIFAmRkAAAFAWcJAKcDAQkBAUQBCQD8BwQFAmFaAh5jYWxjUHJpY2VCaWdJbnRXcmFwcGVyUkVBRE9OTFkJAMwIAgkApgMBBQJkdgkAzAgCCQCmAwEFAmR1BQNuaWwFA25pbAQCZGgJAQFCAQkA/AcEBQJhWgIWZnJvbVgxOFdyYXBwZXJSRUFET05MWQkAzAgCCQCmAwEFAmR3CQDMCAIFAWIFA25pbAUDbmlsBAJkeAkApwMBCQEBRAEJAPwHBAUCYVoCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRvCQDMCAIFAmRiBQNuaWwFA25pbAQCZHkJALwCAwUCZHgFAmR3BQFkBAJkegkBAUIBCQD8BwQFAmFaAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAKYDAQUCZHkJAMwIAgUCZGMFA25pbAUDbmlsBAJiWgkA/AcEBQJhWgIjZXN0aW1hdGVQdXRPcGVyYXRpb25XcmFwcGVyUkVBRE9OTFkJAMwIAgIACQDMCAIAoMIeCQDMCAIFAmRvCQDMCAIFAmRxCQDMCAIFAmR6CQDMCAIFAmRzCQDMCAICAAkAzAgCBgkAzAgCBwUDbmlsBQNuaWwEAmRBBAF6BQJiWgMDAwkAAQIIBQF6Al8xAgNJbnQDCQABAggFAXoCXzMCA0ludAMJAAECCAUBegJfNAIDSW50AwkAAQIIBQF6Al81AgNJbnQJAAECCAUBegJfNgIDSW50BwcHBwkAAAIJAMYKAQUBegANBwQCZEIIBQF6Al8xBAJkQwgFAXoCXzMEAmRECAUBegJfNAQCZEUIBQF6Al81BAJkRggFAXoCXzYJAJcKBQUCZEIFAmRDBQJkRAUCZEUFAmRGCQACAQITQ291bGRuJ3QgY2FzdCB0eXBlcwQCZEIIBQJkQQJfMQQCZEMIBQJkQQJfMgQCZEQIBQJkQQJfMwQCZEUIBQJkQQJfNAQCZEYIBQJkQQJfNQkAlAoCBQNuaWwJALkJAgkAzAgCAhAlZCVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUCZEIJAMwIAgkApAMBBQJkaAkAzAgCCQCkAwEFAmRECQDMCAIJAKQDAQUCZEUJAMwIAgkApAMBBQJkRgkAzAgCBQJkdAkAzAgCCQCkAwEFAmRvCQDMCAIJAKQDAQUCZHoFA25pbAUBZQJiQgEjcG9vbEV2YWx1YXRlUHV0QnlQcmljZUFzc2V0UkVBRE9OTFkCAmNWAmR6BAJhWgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAXQCBQJhVAkBAVUBBQJjVgQCY1cJAQF4AQkA/AcEBQJhWgIcZ2V0UG9vbENvbmZpZ1dyYXBwZXJSRUFET05MWQUDbmlsBQNuaWwEAmJkCQDZBAEJAQFEAQkAkQMCBQJjVwUBagQCZHAJAQFEAQkAkQMCBQJjVwUBawQCZHEJANkEAQUCZHAEAmRyCQEBRAEJAJEDAgUCY1cFAWwEAmRzCQDZBAEFAmRyBAJkYgkBDXBhcnNlSW50VmFsdWUBCQEBRAEJAJEDAgUCY1cFAW0EAmRjCQENcGFyc2VJbnRWYWx1ZQEJAQFEAQkAkQMCBQJjVwUBbgQCZHQJAQFEAQkAkQMCBQJjVwUBaQQCZGQICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUCYmQJAKwCAgkArAICAgZBc3NldCAJANgEAQUCYmQCDiBkb2Vzbid0IGV4aXN0CHF1YW50aXR5BAJkRwkBAUIBCQD8BwQFAmFaAhxnZXRBY2NCYWxhbmNlV3JhcHBlclJFQURPTkxZCQDMCAIFAmRwBQNuaWwFA25pbAQCZEgJAQFCAQkA/AcEBQJhWgIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQJkcgUDbmlsBQNuaWwEAmRJCQCnAwEJAQFEAQkA/AcEBQJhWgIUdG9YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZEcJAMwIAgUCZGIFA25pbAUDbmlsBAJkSgkApwMBCQEBRAEJAPwHBAUCYVoCFHRvWDE4V3JhcHBlclJFQURPTkxZCQDMCAIFAmRICQDMCAIFAmRjBQNuaWwFA25pbAQCZHcDCQAAAgUCZGQAAAUBZwkApwMBCQEBRAEJAPwHBAUCYVoCHmNhbGNQcmljZUJpZ0ludFdyYXBwZXJSRUFET05MWQkAzAgCCQCmAwEFAmRKCQDMCAIJAKYDAQUCZEkFA25pbAUDbmlsBAJkaAkBAUIBCQD8BwQFAmFaAhZmcm9tWDE4V3JhcHBlclJFQURPTkxZCQDMCAIJAKYDAQUCZHcJAMwIAgUBYgUDbmlsBQNuaWwEAmR5CQCnAwEJAQFEAQkA/AcEBQJhWgIUdG9YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgUCZHoJAMwIAgUCZGMFA25pbAUDbmlsBAJkeAkAvAIDBQJkeQUBZAUCZHcEAmRvCQEBQgEJAPwHBAUCYVoCFmZyb21YMThXcmFwcGVyUkVBRE9OTFkJAMwIAgkApgMBBQJkeAkAzAgCBQJkYgUDbmlsBQNuaWwEAmJaCQD8BwQFAmFaAiNlc3RpbWF0ZVB1dE9wZXJhdGlvbldyYXBwZXJSRUFET05MWQkAzAgCAgAJAMwIAgCgwh4JAMwIAgUCZG8JAMwIAgUCZHEJAMwIAgUCZHoJAMwIAgUCZHMJAMwIAgIACQDMCAIGCQDMCAIHBQNuaWwFA25pbAQCZEsEAXoFAmJaAwMDCQABAggFAXoCXzECA0ludAMJAAECCAUBegJfMwIDSW50AwkAAQIIBQF6Al80AgNJbnQDCQABAggFAXoCXzUCA0ludAkAAQIIBQF6Al82AgNJbnQHBwcHCQAAAgkAxgoBBQF6AA0HBAJkQggFAXoCXzEEAmRDCAUBegJfMwQCZEQIBQF6Al80BAJkRQgFAXoCXzUEAmRGCAUBegJfNgkAlwoFBQJkQgUCZEMFAmREBQJkRQUCZEYJAAIBAhNDb3VsZG4ndCBjYXN0IHR5cGVzBAJkQggFAmRLAl8xBAJkQwgFAmRLAl8yBAJkRAgFAmRLAl8zBAJkRQgFAmRLAl80BAJkRggFAmRLAl81CQCUCgIFA25pbAkAuQkCCQDMCAICECVkJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJkQgkAzAgCCQCkAwEFAmRoCQDMCAIJAKQDAQUCZEQJAMwIAgkApAMBBQJkRQkAzAgCCQCkAwEFAmRGCQDMCAIFAmR0CQDMCAIJAKQDAQUCZG8JAMwIAgkApAMBBQJkegUDbmlsBQFlAmJCARdwb29sRXZhbHVhdGVHZXRSRUFET05MWQICZEwCZE0EAmFaCQERQGV4dHJOYXRpdmUoMTA2MikBCQEBdAIFAmFUCQEBVQEFAmRMBAJiWgkA/AcEBQJhWgIjZXN0aW1hdGVHZXRPcGVyYXRpb25XcmFwcGVyUkVBRE9OTFkJAMwIAgIACQDMCAIFAmRMCQDMCAIFAmRNCQDMCAIJAKUIAQUCYVoFA25pbAUDbmlsBAJkTgQBegUCYloDAwMJAAECCAUBegJfMQIDSW50AwkAAQIIBQF6Al8yAgNJbnQDCQABAggFAXoCXzUCA0ludAMJAAECCAUBegJfNgIDSW50AwkAAQIIBQF6Al83AgNJbnQDCQABAggFAXoCXzgCBlN0cmluZwkAAQIIBQF6Al85AgZTdHJpbmcHBwcHBwcJAAACCQDGCgEFAXoACgcEAmRPCAUBegJfMQQCZFAIBQF6Al8yBAJkRAgFAXoCXzUEAmRFCAUBegJfNgQCZEYIBQF6Al83BAJkaAgFAXoCXzgEAmR0CAUBegJfOQkAmQoHBQJkTwUCZFAFAmREBQJkRQUCZEYFAmRoBQJkdAkAAgECE0NvdWxkbid0IGNhc3QgdHlwZXMEAmRPCAUCZE4CXzEEAmRQCAUCZE4CXzIEAmRECAUCZE4CXzMEAmRFCAUCZE4CXzQEAmRGCAUCZE4CXzUEAmRoCAUCZE4CXzYEAmR0CAUCZE4CXzcJAJQKAgUDbmlsCQC5CQIJAMwIAgIOJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJkTwkAzAgCCQCkAwEFAmRQCQDMCAIJAKQDAQUCZEQJAMwIAgkApAMBBQJkRQkAzAgCCQCkAwEFAmRGCQDMCAIFAmRoCQDMCAIFAmR0BQNuaWwFAWUCYkIBE2d3eFVzZXJJbmZvUkVBRE9OTFkBAmFtBAJkUQkBAXgBCQD8BwQFAmFYAhNnd3hVc2VySW5mb1JFQURPTkxZCQDMCAIFAmFtBQNuaWwFA25pbAQCZFIJAQFCAQkAkQMCBQJkUQAACQCUCgIFA25pbAkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUCZFIFA25pbAUBZQJiQgEVdW5zdGFrZUFuZEdldE9uZVRrblYyBAJhWgJkUwJkVAJkVQQCY2EJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYVoCFXVuc3Rha2VBbmRHZXRPbmVUa25WMgkAzAgCBQJkUwkAzAgCBQJkVAkAzAgCBQJkVQUDbmlsBQNuaWwDCQAAAgUCY2EFAmNhCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiQgETZ2V0S2V5c0J1bGtJbnRlcm5hbAMCYk4CZFYCYlQDCQAAAgUCYk4JAJADAQUCZFYJAJQKAgUDbmlsBQJiVAQCY3AJALUJAgkAkQMCBQJkVgUCYk4CAisrBAJidgkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQJjcAAABAFzCQCRAwIFAmNwAAEEAmJ3CQCRAwIFAmNwAAIEAXkJAQJidQMFAmJ2BQFzBQJidwQCYloJAM0IAgUCYlQFAXkEAmNhCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgkAZAIFAmJOAAEJAMwIAgUCZFYJAMwIAgUCYloFA25pbAUDbmlsAwkAAAIFAmNhBQJjYQkAlAoCBQNuaWwFAmNhCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJCAQtnZXRLZXlzQnVsawECZFYEAmJaCQD8BwQFBHRoaXMCE2dldEtleXNCdWxrSW50ZXJuYWwJAMwIAgAACQDMCAIFAmRWCQDMCAIFA25pbAUDbmlsBQNuaWwJAJQKAgUDbmlsBQJiWgJiQgEKc2V0TWFuYWdlcgECZFcEAmJGCQECYkEBBQJiQgMJAAACBQJiRgUCYkYEAmRYCQDZBAEFAmRXAwkAAAIFAmRYBQJkWAkAzAgCCQELU3RyaW5nRW50cnkCCQEBSAAFAmRXBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkIBDmNvbmZpcm1NYW5hZ2VyAAQCZFkJAQJiegAEAmRaAwkBCWlzRGVmaW5lZAEFAmRZBgkAAgECEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAACBQJkWgUCZFoEAmVhAwkAAAIIBQJiQg9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAmRZBgkAAgECG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAACBQJlYQUCZWEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAUcACQDYBAEJAQV2YWx1ZQEFAmRZCQDMCAIJAQtEZWxldGVFbnRyeQEJAQFIAAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJlYgECZWMABAJlZAQBegkBAmJ4AAMJAAECBQF6AgpCeXRlVmVjdG9yBAJiRAUBegUCYkQDCQABAgUBegIEVW5pdAgFAmViD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yCQD0AwMIBQJlYglib2R5Qnl0ZXMJAJEDAggFAmViBnByb29mcwAABQJlZDOETNk=", "chainId": 84, "height": 2359863, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3TFNtbT7cwKM3NyneL7jBcL3JLsWF3QWYKBJReiLs4Km Next: HQCwaryKDzREuQdfdSCx6w7EfPVZ6BcYiBVtth7gPjKc Diff:
OldNewDifferences
237237 func aS () = "%s__addonAddr"
238238
239239
240-func aT (aU) = {
241- let aV = fraction(10, b, 10000)
242- let aW = "%s__fee"
243- valueOrElse(getInteger(aU, aW), aV)
240+let aT = X()
241+
242+let aU = Z(aT)
243+
244+let aV = ad(aU)
245+
246+let aM = ae(aU)
247+
248+let aW = af(aU)
249+
250+let aX = ab(aU)
251+
252+func aY (aZ) = {
253+ let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254+ if ($isInstanceOf(ba, "Int"))
255+ then ba
256+ else throw(($getType(ba) + " couldn't be cast to Int"))
244257 }
245258
246259
247-let aX = X()
260+func bb (aZ) = {
261+ let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262+ if ($isInstanceOf(ba, "Int"))
263+ then ba
264+ else throw(($getType(ba) + " couldn't be cast to Int"))
265+ }
248266
249-let aY = Z(aX)
250-
251-let aZ = ad(aY)
252-
253-let aM = ae(aY)
254-
255-let ba = af(aY)
256-
257-let bb = ab(aY)
258267
259268 func bc (bd) = {
260- let be = t(aX, U(bd))
269+ let be = t(aT, U(bd))
261270 let bf = b
262- let bg = getIntegerValue(aX, V(be))
263- let bh = w(aZ, aN())
264- let bi = w(aZ, aO())
271+ let bg = getIntegerValue(aT, V(be))
272+ let bh = w(aV, aN())
273+ let bi = w(aV, aO())
265274 let bj = 3
266275 let bk = (fraction(bh, bg, bf) / bj)
267276 let bl = fraction(bi, bg, bf)
380389 let bW = bQ[bN]
381390 let bX = bR[bN]
382391 let bY = {
383- let bZ = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
384- if ($isInstanceOf(bZ, "String"))
385- then bZ
386- else throw(($getType(bZ) + " couldn't be cast to String"))
392+ let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393+ if ($isInstanceOf(ba, "String"))
394+ then ba
395+ else throw(($getType(ba) + " couldn't be cast to String"))
387396 }
388- let ca = (bT :+ bY)
389- let cb = {
390- let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, ca], nil)
391- if ($isInstanceOf(bZ, "List[Any]"))
392- then bZ
393- else throw(($getType(bZ) + " couldn't be cast to List[Any]"))
397+ let bZ = (bT :+ bY)
398+ let ca = {
399+ let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400+ if ($isInstanceOf(ba, "List[Any]"))
401+ then ba
402+ else throw(($getType(ba) + " couldn't be cast to List[Any]"))
394403 }
395- if ((cb == cb))
396- then $Tuple2(nil, cb)
404+ if ((ca == ca))
405+ then $Tuple2(nil, ca)
397406 else throw("Strict value is not equal to itself.")
398407 }
399408
401410
402411 @Callable(bB)
403412 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
404- let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405- $Tuple2(nil, ca)
413+ let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414+ $Tuple2(nil, bZ)
406415 }
407416
408417
409418
410419 @Callable(bB)
411420 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
412- let cc = ba
413- let cd = "empty"
414- let ce = parseIntValue(split(t(bb, ag()), e)[4])
421+ let cb = aW
422+ let cc = "empty"
423+ let cd = parseIntValue(split(t(aX, ag()), e)[4])
415424 let aG = if ((bX == ""))
416- then cd
425+ then cc
417426 else bX
418427 let aF = if ((bS == ""))
419- then cd
428+ then cc
420429 else bS
421- let cf = valueOrElse(getString(bb, al(bS)), cd)
422- let cg = valueOrElse(getInteger(bb, ap(cf)), 0)
423- let ch = valueOrElse(getInteger(bb, ar(cf)), height)
424- let bq = valueOrElse(getInteger(bb, as(cf)), 0)
425- let ci = (ch + bq)
426- let cj = max([(ci - height), 0])
427- let ck = (cg + bU)
428- let cl = min([(cj + bV), ce])
429- let cm = B(x(invoke(bb, "gwxUserInfoREADONLY", [aF], nil))[0])
430- let cn = bo(ck, cl, ce)[0]
431- let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
432- let cp = (cn - cm)
433- let cq = B(co[0])
434- let cr = B(co[1])
435- let aw = toString(B(co[2]))
436- let cs = aA()
437- let ct = ((cn * cl) / 2)
438- let cu = v(bb, cs)
439- let cv = {
440- let bZ = invoke(bb, "getTotalCachedGwxREADONLY", nil, nil)
441- if ($isInstanceOf(bZ, "Int"))
442- then bZ
443- else throw(($getType(bZ) + " couldn't be cast to Int"))
430+ let ce = valueOrElse(getString(aX, al(bS)), cc)
431+ let cf = valueOrElse(getInteger(aX, ap(ce)), 0)
432+ let cg = valueOrElse(getInteger(aX, ar(ce)), height)
433+ let bq = valueOrElse(getInteger(aX, as(ce)), 0)
434+ let ch = (cg + bq)
435+ let ci = max([(ch - height), 0])
436+ let cj = (cf + bU)
437+ let ck = min([(ci + bV), cd])
438+ let cl = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
439+ let cm = bo(cj, ck, cd)[0]
440+ let cn = x(invoke(cb, "calcGwxParamsREADONLY", [cm, height, ck], nil))
441+ let co = (cm - cl)
442+ let cp = B(cn[0])
443+ let cq = B(cn[1])
444+ let aw = toString(B(cn[2]))
445+ let cr = aA()
446+ let cs = ((cm * ck) / 2)
447+ let ct = v(aX, cr)
448+ let cu = {
449+ let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
450+ if ($isInstanceOf(ba, "Int"))
451+ then ba
452+ else throw(($getType(ba) + " couldn't be cast to Int"))
444453 }
445- let cw = 1000
446- let cx = (w(aZ, aN()) * cw)
447- let cy = aE(aF, aG)
448- let cz = aH(aG)
454+ let cv = 1000
455+ let cw = (w(aV, aN()) * cv)
456+ let cx = aE(aF, aG)
457+ let cy = aH(aG)
458+ let cz = aL(aM, cx)
449459 let cA = aL(aM, cy)
450- let cB = aL(aM, cz)
460+ let cB = (cz + bW)
451461 let cC = (cA + bW)
452- let cD = (cB + bW)
453- let bg = if ((aG != cd))
462+ let bg = if ((aG != cc))
454463 then {
455- let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
456- getIntegerValue(aX, V(be))
464+ let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
465+ getIntegerValue(aT, V(be))
457466 }
458467 else 0
459- let cE = fraction(cx, bg, (f * 3))
460- let cF = if ((cD != 0))
461- then fraction(cE, b, cD)
468+ let cD = fraction(cw, bg, (f * 3))
469+ let cE = if ((cC != 0))
470+ then fraction(cD, b, cC)
462471 else 0
463- let cG = fraction(cF, cC, b)
464- let cH = (cE * 2)
465- let cI = fraction(cn, cH, (cv + cp))
466- let cJ = min([cI, (cG * 2)])
467- let cK = if ((cG == 0))
472+ let cF = fraction(cE, cB, b)
473+ let cG = (cD * 2)
474+ let cH = fraction(cm, cG, (cu + co))
475+ let cI = min([cH, (cF * 2)])
476+ let cJ = if ((cF == 0))
468477 then (1 * b)
469- else fraction((cJ + cG), b, cG)
470- $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
478+ else fraction((cI + cF), b, cF)
479+ $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
471480 }
472481
473482
474483
475484 @Callable(bB)
476485 func wxEmissionStatsREADONLY () = {
477- let cL = toString(b)
478- let cM = "1"
479- let bh = w(aZ, aN())
480- let cN = w(aZ, aP())
481- let cO = if ((cN > height))
486+ let cK = toString(b)
487+ let cL = "1"
488+ let bh = w(aV, aN())
489+ let cM = w(aV, aP())
490+ let cN = if ((cM > height))
482491 then 0
483- else (height - cN)
484- let cP = (1440 * 365)
485- let cQ = (201000000 * b)
486- let cR = if ((cO > cP))
487- then cQ
488- else fraction(cQ, cO, cP)
489- let cS = ((bh * cO) + cR)
490- let cT = v(bb, ah())
491- let cU = v(bb, ai())
492- let cV = v(bb, aj())
493- $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
492+ else (height - cM)
493+ let cO = (1440 * 365)
494+ let cP = (201000000 * b)
495+ let cQ = if ((cN > cO))
496+ then cP
497+ else fraction(cP, cN, cO)
498+ let cR = ((bh * cN) + cQ)
499+ let cS = v(aX, ah())
500+ let cT = v(aX, ai())
501+ let cU = v(aX, aj())
502+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cR), toString(cS), toString(cT), toString(cU)], e))
494503 }
495504
496505
497506
498507 @Callable(bB)
499-func poolStatsREADONLY (cW) = {
500- let aU = addressFromStringValue(t(aX, U(cW)))
501- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
502- let bd = fromBase58String(D(cX[j]))
503- let cY = D(cX[k])
504- let cZ = D(cX[l])
505- let da = D(cX[o])
506- let db = D(cX[p])
507- let dc = parseIntValue(D(cX[m]))
508- let dd = parseIntValue(D(cX[n]))
509- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
510- let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cY], nil))
511- let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
512- let dh = if ((de == 0))
508+func poolStatsREADONLY (cV) = {
509+ let aZ = addressFromStringValue(t(aT, U(cV)))
510+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
511+ let bd = fromBase58String(D(cW[j]))
512+ let cX = D(cW[k])
513+ let cY = D(cW[l])
514+ let cZ = D(cW[o])
515+ let da = D(cW[p])
516+ let db = parseIntValue(D(cW[m]))
517+ let dc = parseIntValue(D(cW[n]))
518+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
519+ let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cX], nil))
520+ let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cY], nil))
521+ let dg = if ((dd == 0))
513522 then [toString(g), toString(g), toString(g)]
514- else x(invoke(aU, "calcPricesWrapperREADONLY", [df, dg, de], nil))
515- let di = 0
516- let dj = B(invoke(aU, "fromX18WrapperREADONLY", [dh[1], b], nil))
517- let dk = B(invoke(aU, "fromX18WrapperREADONLY", [dh[2], b], nil))
518- let bg = getIntegerValue(aX, V(toString(aU)))
519- let dl = aT(aU)
523+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [de, df, dd], nil))
524+ let dh = 0
525+ let di = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[1], b], nil))
526+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[2], b], nil))
527+ let bg = getIntegerValue(aT, V(toString(aZ)))
528+ let dk = aY(aZ)
529+ let dl = bb(aZ)
520530 let dm = {
521- let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
522- if ($isInstanceOf(bZ, "Boolean"))
523- then bZ
524- else throw(($getType(bZ) + " couldn't be cast to Boolean"))
531+ let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
532+ if ($isInstanceOf(ba, "Boolean"))
533+ then ba
534+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
525535 }
526536 let dn = !(dm)
527- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(df), toString(dg), toString(de), toString(di), toString(dj), toString(dk), toString(bg), toString(dl), toString(dn)], e))
537+ $Tuple2(nil, makeString(["%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))
528538 }
529539
530540
531541
532542 @Callable(bB)
533-func poolEvaluatePutByAmountAssetREADONLY (cW,do) = {
534- let aU = addressFromStringValue(t(aX, U(cW)))
535- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
536- let bd = fromBase58String(D(cX[j]))
537- let dp = D(cX[k])
543+func poolEvaluatePutByAmountAssetREADONLY (cV,do) = {
544+ let aZ = addressFromStringValue(t(aT, U(cV)))
545+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
546+ let bd = fromBase58String(D(cW[j]))
547+ let dp = D(cW[k])
538548 let dq = fromBase58String(dp)
539- let dr = D(cX[l])
549+ let dr = D(cW[l])
540550 let ds = fromBase58String(dr)
541- let dc = parseIntValue(D(cX[m]))
542- let dd = parseIntValue(D(cX[n]))
543- let dt = D(cX[i])
544- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
545- let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
546- let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
547- let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [df, dc], nil)))
548- let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
549- let dw = if ((de == 0))
551+ let db = parseIntValue(D(cW[m]))
552+ let dc = parseIntValue(D(cW[n]))
553+ let dt = D(cW[i])
554+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
555+ let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
556+ let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
557+ let du = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [de, db], nil)))
558+ let dv = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [df, dc], nil)))
559+ let dw = if ((dd == 0))
550560 then g
551- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
552- let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
553- let dx = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [do, dc], nil)))
561+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
562+ let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
563+ let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [do, db], nil)))
554564 let dy = fraction(dx, dw, d)
555- let dz = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
556- let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
565+ let dz = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), dc], nil))
566+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
557567 let dA = {
558- let z = ca
568+ let z = bZ
559569 if (if (if ($isInstanceOf(z._1, "Int"))
560570 then if ($isInstanceOf(z._3, "Int"))
561571 then if ($isInstanceOf(z._4, "Int"))
582592 let dD = dA._3
583593 let dE = dA._4
584594 let dF = dA._5
585- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
595+ $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))
586596 }
587597
588598
589599
590600 @Callable(bB)
591-func poolEvaluatePutByPriceAssetREADONLY (cW,dz) = {
592- let aU = addressFromStringValue(t(aX, U(cW)))
593- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
594- let bd = fromBase58String(D(cX[j]))
595- let dp = D(cX[k])
601+func poolEvaluatePutByPriceAssetREADONLY (cV,dz) = {
602+ let aZ = addressFromStringValue(t(aT, U(cV)))
603+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
604+ let bd = fromBase58String(D(cW[j]))
605+ let dp = D(cW[k])
596606 let dq = fromBase58String(dp)
597- let dr = D(cX[l])
607+ let dr = D(cW[l])
598608 let ds = fromBase58String(dr)
599- let dc = parseIntValue(D(cX[m]))
600- let dd = parseIntValue(D(cX[n]))
601- let dt = D(cX[i])
602- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
603- let dG = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
604- let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
605- let dI = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dG, dc], nil)))
606- let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
607- let dw = if ((de == 0))
609+ let db = parseIntValue(D(cW[m]))
610+ let dc = parseIntValue(D(cW[n]))
611+ let dt = D(cW[i])
612+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
613+ let dG = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
614+ let dH = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
615+ let dI = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dG, db], nil)))
616+ let dJ = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dH, dc], nil)))
617+ let dw = if ((dd == 0))
608618 then g
609- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
610- let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
611- let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dz, dd], nil)))
619+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
620+ let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
621+ let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dz, dc], nil)))
612622 let dx = fraction(dy, d, dw)
613- let do = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), dc], nil))
614- let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
623+ let do = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dx), db], nil))
624+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
615625 let dK = {
616- let z = ca
626+ let z = bZ
617627 if (if (if ($isInstanceOf(z._1, "Int"))
618628 then if ($isInstanceOf(z._3, "Int"))
619629 then if ($isInstanceOf(z._4, "Int"))
640650 let dD = dK._3
641651 let dE = dK._4
642652 let dF = dK._5
643- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
653+ $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))
644654 }
645655
646656
647657
648658 @Callable(bB)
649659 func poolEvaluateGetREADONLY (dL,dM) = {
650- let aU = addressFromStringValue(t(aX, U(dL)))
651- let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aU)], nil)
660+ let aZ = addressFromStringValue(t(aT, U(dL)))
661+ let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aZ)], nil)
652662 let dN = {
653- let z = ca
663+ let z = bZ
654664 if (if (if ($isInstanceOf(z._1, "Int"))
655665 then if ($isInstanceOf(z._2, "Int"))
656666 then if ($isInstanceOf(z._5, "Int"))
672682 let dD = z._5
673683 let dE = z._6
674684 let dF = z._7
675- let di = z._8
685+ let dh = z._8
676686 let dt = z._9
677- $Tuple7(dO, dP, dD, dE, dF, di, dt)
687+ $Tuple7(dO, dP, dD, dE, dF, dh, dt)
678688 }
679689 else throw("Couldn't cast types")
680690 }
683693 let dD = dN._3
684694 let dE = dN._4
685695 let dF = dN._5
686- let di = dN._6
696+ let dh = dN._6
687697 let dt = dN._7
688- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), di, dt], e))
698+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), dh, dt], e))
689699 }
690700
691701
692702
693703 @Callable(bB)
694704 func gwxUserInfoREADONLY (am) = {
695- let dQ = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
705+ let dQ = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
696706 let dR = B(dQ[0])
697707 $Tuple2(nil, makeString(["%d", toString(dR)], e))
698708 }
700710
701711
702712 @Callable(bB)
703-func unstakeAndGetOneTknV2 (aU,dS,dT,dU) = {
704- let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
705- if ((cb == cb))
713+func unstakeAndGetOneTknV2 (aZ,dS,dT,dU) = {
714+ let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
715+ if ((ca == ca))
706716 then $Tuple2(nil, unit)
707717 else throw("Strict value is not equal to itself.")
708718 }
713723 func getKeysBulkInternal (bN,dV,bT) = if ((bN == size(dV)))
714724 then $Tuple2(nil, bT)
715725 else {
716- let cq = split(dV[bN], "++")
717- let bv = addressFromStringValue(cq[0])
718- let s = cq[1]
719- let bw = cq[2]
726+ let cp = split(dV[bN], "++")
727+ let bv = addressFromStringValue(cp[0])
728+ let s = cp[1]
729+ let bw = cp[2]
720730 let y = bu(bv, s, bw)
721- let ca = (bT :+ y)
722- let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, ca], nil)
723- if ((cb == cb))
724- then $Tuple2(nil, cb)
731+ let bZ = (bT :+ y)
732+ let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, bZ], nil)
733+ if ((ca == ca))
734+ then $Tuple2(nil, ca)
725735 else throw("Strict value is not equal to itself.")
726736 }
727737
729739
730740 @Callable(bB)
731741 func getKeysBulk (dV) = {
732- let ca = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
733- $Tuple2(nil, ca)
742+ let bZ = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
743+ $Tuple2(nil, bZ)
734744 }
735745
736746
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
240-func aT (aU) = {
241- let aV = fraction(10, b, 10000)
242- let aW = "%s__fee"
243- valueOrElse(getInteger(aU, aW), aV)
240+let aT = X()
241+
242+let aU = Z(aT)
243+
244+let aV = ad(aU)
245+
246+let aM = ae(aU)
247+
248+let aW = af(aU)
249+
250+let aX = ab(aU)
251+
252+func aY (aZ) = {
253+ let ba = invoke(aT, "getInFeeREADONLY", [toString(aZ)], nil)
254+ if ($isInstanceOf(ba, "Int"))
255+ then ba
256+ else throw(($getType(ba) + " couldn't be cast to Int"))
244257 }
245258
246259
247-let aX = X()
260+func bb (aZ) = {
261+ let ba = invoke(aT, "getOutFeeREADONLY", [toString(aZ)], nil)
262+ if ($isInstanceOf(ba, "Int"))
263+ then ba
264+ else throw(($getType(ba) + " couldn't be cast to Int"))
265+ }
248266
249-let aY = Z(aX)
250-
251-let aZ = ad(aY)
252-
253-let aM = ae(aY)
254-
255-let ba = af(aY)
256-
257-let bb = ab(aY)
258267
259268 func bc (bd) = {
260- let be = t(aX, U(bd))
269+ let be = t(aT, U(bd))
261270 let bf = b
262- let bg = getIntegerValue(aX, V(be))
263- let bh = w(aZ, aN())
264- let bi = w(aZ, aO())
271+ let bg = getIntegerValue(aT, V(be))
272+ let bh = w(aV, aN())
273+ let bi = w(aV, aO())
265274 let bj = 3
266275 let bk = (fraction(bh, bg, bf) / bj)
267276 let bl = fraction(bi, bg, bf)
268277 let bm = (bj * b)
269278 let bn = v(aM, aH(bd))
270279 [bk, bm, bn]
271280 }
272281
273282
274283 func bo (bp,bq,br) = {
275284 let bs = fraction(bq, b, br)
276285 let bt = fraction(bp, bs, b)
277286 [bt]
278287 }
279288
280289
281290 func bu (bv,s,bw) = if ((bw == "string"))
282291 then getStringValue(bv, s)
283292 else if ((bw == "integer"))
284293 then toString(getIntegerValue(bv, s))
285294 else if ((bw == "boolean"))
286295 then toString(getBooleanValue(bv, s))
287296 else throw("unknown type. expected string/integer/boolean")
288297
289298
290299 func bx () = {
291300 let z = getString(G())
292301 if ($isInstanceOf(z, "String"))
293302 then {
294303 let by = z
295304 fromBase58String(by)
296305 }
297306 else if ($isInstanceOf(z, "Unit"))
298307 then unit
299308 else throw("Match error")
300309 }
301310
302311
303312 func bz () = {
304313 let z = getString(H())
305314 if ($isInstanceOf(z, "String"))
306315 then {
307316 let by = z
308317 fromBase58String(by)
309318 }
310319 else if ($isInstanceOf(z, "Unit"))
311320 then unit
312321 else throw("Match error")
313322 }
314323
315324
316325 func bA (bB) = {
317326 let bC = throw("Permission denied")
318327 let z = bx()
319328 if ($isInstanceOf(z, "ByteVector"))
320329 then {
321330 let bD = z
322331 if ((bB.callerPublicKey == bD))
323332 then true
324333 else bC
325334 }
326335 else if ($isInstanceOf(z, "Unit"))
327336 then if ((bB.caller == this))
328337 then true
329338 else bC
330339 else throw("Match error")
331340 }
332341
333342
334343 @Callable(bB)
335344 func constructor (bE) = {
336345 let bF = bA(bB)
337346 if ((bF == bF))
338347 then [StringEntry(F(), bE)]
339348 else throw("Strict value is not equal to itself.")
340349 }
341350
342351
343352
344353 @Callable(bB)
345354 func currentRewardRateREADONLY (bd) = {
346355 let bG = bc(bd)
347356 let bh = bG[0]
348357 let bm = bG[1]
349358 let bn = bG[2]
350359 $Tuple2(nil, makeString(["%d%d%d", toString(bh), toString(bm), toString(bn)], e))
351360 }
352361
353362
354363
355364 @Callable(bB)
356365 func currentUserRewardRateREADONLY (bd,am) = {
357366 let bG = bc(bd)
358367 let bh = bG[0]
359368 let bm = bG[1]
360369 let bn = bG[2]
361370 let bH = v(aM, aE(am, bd))
362371 let bI = split(D(invoke(aM, "claimWxREADONLY", [bd, am], nil)), e)
363372 let bJ = valueOrErrorMessage(parseInt(bI[5]), "couldn't parse minRewardPart")
364373 let bK = valueOrErrorMessage(parseInt(bI[6]), "couldn't parse boostRewardPart")
365374 let bL = bI[7]
366375 let bM = if ((bK == 0))
367376 then (1 * b)
368377 else fraction((bJ + bK), b, bJ)
369378 $Tuple2(nil, makeString(["%d%d%d%d%d%s", toString(bh), toString(bm), toString(bn), toString(bH), toString(bM), bL], e))
370379 }
371380
372381
373382
374383 @Callable(bB)
375384 func calcBoostBulkInternalREADONLY (bN,bO,bP,bQ,bR,bS,bT) = if ((bN == size(bO)))
376385 then $Tuple2(nil, bT)
377386 else {
378387 let bU = bO[bN]
379388 let bV = bP[bN]
380389 let bW = bQ[bN]
381390 let bX = bR[bN]
382391 let bY = {
383- let bZ = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
384- if ($isInstanceOf(bZ, "String"))
385- then bZ
386- else throw(($getType(bZ) + " couldn't be cast to String"))
392+ let ba = invoke(this, "calcBoostREADONLY", [bU, bV, bW, bX, bS], nil)
393+ if ($isInstanceOf(ba, "String"))
394+ then ba
395+ else throw(($getType(ba) + " couldn't be cast to String"))
387396 }
388- let ca = (bT :+ bY)
389- let cb = {
390- let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, ca], nil)
391- if ($isInstanceOf(bZ, "List[Any]"))
392- then bZ
393- else throw(($getType(bZ) + " couldn't be cast to List[Any]"))
397+ let bZ = (bT :+ bY)
398+ let ca = {
399+ let ba = invoke(this, "calcBoostBulkInternalREADONLY", [(bN + 1), bO, bP, bQ, bR, bS, bZ], nil)
400+ if ($isInstanceOf(ba, "List[Any]"))
401+ then ba
402+ else throw(($getType(ba) + " couldn't be cast to List[Any]"))
394403 }
395- if ((cb == cb))
396- then $Tuple2(nil, cb)
404+ if ((ca == ca))
405+ then $Tuple2(nil, ca)
397406 else throw("Strict value is not equal to itself.")
398407 }
399408
400409
401410
402411 @Callable(bB)
403412 func calcBoostBulkREADONLY (bU,bV,bW,bX,bS) = {
404- let ca = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
405- $Tuple2(nil, ca)
413+ let bZ = invoke(this, "calcBoostBulkInternalREADONLY", [0, bU, bV, bW, bX, bS, nil], nil)
414+ $Tuple2(nil, bZ)
406415 }
407416
408417
409418
410419 @Callable(bB)
411420 func calcBoostREADONLY (bU,bV,bW,bX,bS) = {
412- let cc = ba
413- let cd = "empty"
414- let ce = parseIntValue(split(t(bb, ag()), e)[4])
421+ let cb = aW
422+ let cc = "empty"
423+ let cd = parseIntValue(split(t(aX, ag()), e)[4])
415424 let aG = if ((bX == ""))
416- then cd
425+ then cc
417426 else bX
418427 let aF = if ((bS == ""))
419- then cd
428+ then cc
420429 else bS
421- let cf = valueOrElse(getString(bb, al(bS)), cd)
422- let cg = valueOrElse(getInteger(bb, ap(cf)), 0)
423- let ch = valueOrElse(getInteger(bb, ar(cf)), height)
424- let bq = valueOrElse(getInteger(bb, as(cf)), 0)
425- let ci = (ch + bq)
426- let cj = max([(ci - height), 0])
427- let ck = (cg + bU)
428- let cl = min([(cj + bV), ce])
429- let cm = B(x(invoke(bb, "gwxUserInfoREADONLY", [aF], nil))[0])
430- let cn = bo(ck, cl, ce)[0]
431- let co = x(invoke(cc, "calcGwxParamsREADONLY", [cn, height, cl], nil))
432- let cp = (cn - cm)
433- let cq = B(co[0])
434- let cr = B(co[1])
435- let aw = toString(B(co[2]))
436- let cs = aA()
437- let ct = ((cn * cl) / 2)
438- let cu = v(bb, cs)
439- let cv = {
440- let bZ = invoke(bb, "getTotalCachedGwxREADONLY", nil, nil)
441- if ($isInstanceOf(bZ, "Int"))
442- then bZ
443- else throw(($getType(bZ) + " couldn't be cast to Int"))
430+ let ce = valueOrElse(getString(aX, al(bS)), cc)
431+ let cf = valueOrElse(getInteger(aX, ap(ce)), 0)
432+ let cg = valueOrElse(getInteger(aX, ar(ce)), height)
433+ let bq = valueOrElse(getInteger(aX, as(ce)), 0)
434+ let ch = (cg + bq)
435+ let ci = max([(ch - height), 0])
436+ let cj = (cf + bU)
437+ let ck = min([(ci + bV), cd])
438+ let cl = B(x(invoke(aX, "gwxUserInfoREADONLY", [aF], nil))[0])
439+ let cm = bo(cj, ck, cd)[0]
440+ let cn = x(invoke(cb, "calcGwxParamsREADONLY", [cm, height, ck], nil))
441+ let co = (cm - cl)
442+ let cp = B(cn[0])
443+ let cq = B(cn[1])
444+ let aw = toString(B(cn[2]))
445+ let cr = aA()
446+ let cs = ((cm * ck) / 2)
447+ let ct = v(aX, cr)
448+ let cu = {
449+ let ba = invoke(aX, "getTotalCachedGwxREADONLY", nil, nil)
450+ if ($isInstanceOf(ba, "Int"))
451+ then ba
452+ else throw(($getType(ba) + " couldn't be cast to Int"))
444453 }
445- let cw = 1000
446- let cx = (w(aZ, aN()) * cw)
447- let cy = aE(aF, aG)
448- let cz = aH(aG)
454+ let cv = 1000
455+ let cw = (w(aV, aN()) * cv)
456+ let cx = aE(aF, aG)
457+ let cy = aH(aG)
458+ let cz = aL(aM, cx)
449459 let cA = aL(aM, cy)
450- let cB = aL(aM, cz)
460+ let cB = (cz + bW)
451461 let cC = (cA + bW)
452- let cD = (cB + bW)
453- let bg = if ((aG != cd))
462+ let bg = if ((aG != cc))
454463 then {
455- let be = valueOrErrorMessage(getString(aX, R(aG)), ("unsupported lp asset " + aG))
456- getIntegerValue(aX, V(be))
464+ let be = valueOrErrorMessage(getString(aT, R(aG)), ("unsupported lp asset " + aG))
465+ getIntegerValue(aT, V(be))
457466 }
458467 else 0
459- let cE = fraction(cx, bg, (f * 3))
460- let cF = if ((cD != 0))
461- then fraction(cE, b, cD)
468+ let cD = fraction(cw, bg, (f * 3))
469+ let cE = if ((cC != 0))
470+ then fraction(cD, b, cC)
462471 else 0
463- let cG = fraction(cF, cC, b)
464- let cH = (cE * 2)
465- let cI = fraction(cn, cH, (cv + cp))
466- let cJ = min([cI, (cG * 2)])
467- let cK = if ((cG == 0))
472+ let cF = fraction(cE, cB, b)
473+ let cG = (cD * 2)
474+ let cH = fraction(cm, cG, (cu + co))
475+ let cI = min([cH, (cF * 2)])
476+ let cJ = if ((cF == 0))
468477 then (1 * b)
469- else fraction((cJ + cG), b, cG)
470- $Tuple2(nil, makeString(["%d%d%s", toString(cn), toString(cK), "d"], e))
478+ else fraction((cI + cF), b, cF)
479+ $Tuple2(nil, makeString(["%d%d%s", toString(cm), toString(cJ), "d"], e))
471480 }
472481
473482
474483
475484 @Callable(bB)
476485 func wxEmissionStatsREADONLY () = {
477- let cL = toString(b)
478- let cM = "1"
479- let bh = w(aZ, aN())
480- let cN = w(aZ, aP())
481- let cO = if ((cN > height))
486+ let cK = toString(b)
487+ let cL = "1"
488+ let bh = w(aV, aN())
489+ let cM = w(aV, aP())
490+ let cN = if ((cM > height))
482491 then 0
483- else (height - cN)
484- let cP = (1440 * 365)
485- let cQ = (201000000 * b)
486- let cR = if ((cO > cP))
487- then cQ
488- else fraction(cQ, cO, cP)
489- let cS = ((bh * cO) + cR)
490- let cT = v(bb, ah())
491- let cU = v(bb, ai())
492- let cV = v(bb, aj())
493- $Tuple2(nil, makeString(["%d%d%d%d", toString(cS), toString(cT), toString(cU), toString(cV)], e))
492+ else (height - cM)
493+ let cO = (1440 * 365)
494+ let cP = (201000000 * b)
495+ let cQ = if ((cN > cO))
496+ then cP
497+ else fraction(cP, cN, cO)
498+ let cR = ((bh * cN) + cQ)
499+ let cS = v(aX, ah())
500+ let cT = v(aX, ai())
501+ let cU = v(aX, aj())
502+ $Tuple2(nil, makeString(["%d%d%d%d", toString(cR), toString(cS), toString(cT), toString(cU)], e))
494503 }
495504
496505
497506
498507 @Callable(bB)
499-func poolStatsREADONLY (cW) = {
500- let aU = addressFromStringValue(t(aX, U(cW)))
501- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
502- let bd = fromBase58String(D(cX[j]))
503- let cY = D(cX[k])
504- let cZ = D(cX[l])
505- let da = D(cX[o])
506- let db = D(cX[p])
507- let dc = parseIntValue(D(cX[m]))
508- let dd = parseIntValue(D(cX[n]))
509- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
510- let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cY], nil))
511- let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [cZ], nil))
512- let dh = if ((de == 0))
508+func poolStatsREADONLY (cV) = {
509+ let aZ = addressFromStringValue(t(aT, U(cV)))
510+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
511+ let bd = fromBase58String(D(cW[j]))
512+ let cX = D(cW[k])
513+ let cY = D(cW[l])
514+ let cZ = D(cW[o])
515+ let da = D(cW[p])
516+ let db = parseIntValue(D(cW[m]))
517+ let dc = parseIntValue(D(cW[n]))
518+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
519+ let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cX], nil))
520+ let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [cY], nil))
521+ let dg = if ((dd == 0))
513522 then [toString(g), toString(g), toString(g)]
514- else x(invoke(aU, "calcPricesWrapperREADONLY", [df, dg, de], nil))
515- let di = 0
516- let dj = B(invoke(aU, "fromX18WrapperREADONLY", [dh[1], b], nil))
517- let dk = B(invoke(aU, "fromX18WrapperREADONLY", [dh[2], b], nil))
518- let bg = getIntegerValue(aX, V(toString(aU)))
519- let dl = aT(aU)
523+ else x(invoke(aZ, "calcPricesWrapperREADONLY", [de, df, dd], nil))
524+ let dh = 0
525+ let di = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[1], b], nil))
526+ let dj = B(invoke(aZ, "fromX18WrapperREADONLY", [dg[2], b], nil))
527+ let bg = getIntegerValue(aT, V(toString(aZ)))
528+ let dk = aY(aZ)
529+ let dl = bb(aZ)
520530 let dm = {
521- let bZ = invoke(aX, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aU)], nil)
522- if ($isInstanceOf(bZ, "Boolean"))
523- then bZ
524- else throw(($getType(bZ) + " couldn't be cast to Boolean"))
531+ let ba = invoke(aT, "isPoolOneTokenOperationsDisabledREADONLY", [toString(aZ)], nil)
532+ if ($isInstanceOf(ba, "Boolean"))
533+ then ba
534+ else throw(($getType(ba) + " couldn't be cast to Boolean"))
525535 }
526536 let dn = !(dm)
527- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d%s", toString(df), toString(dg), toString(de), toString(di), toString(dj), toString(dk), toString(bg), toString(dl), toString(dn)], e))
537+ $Tuple2(nil, makeString(["%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))
528538 }
529539
530540
531541
532542 @Callable(bB)
533-func poolEvaluatePutByAmountAssetREADONLY (cW,do) = {
534- let aU = addressFromStringValue(t(aX, U(cW)))
535- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
536- let bd = fromBase58String(D(cX[j]))
537- let dp = D(cX[k])
543+func poolEvaluatePutByAmountAssetREADONLY (cV,do) = {
544+ let aZ = addressFromStringValue(t(aT, U(cV)))
545+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
546+ let bd = fromBase58String(D(cW[j]))
547+ let dp = D(cW[k])
538548 let dq = fromBase58String(dp)
539- let dr = D(cX[l])
549+ let dr = D(cW[l])
540550 let ds = fromBase58String(dr)
541- let dc = parseIntValue(D(cX[m]))
542- let dd = parseIntValue(D(cX[n]))
543- let dt = D(cX[i])
544- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
545- let df = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
546- let dg = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
547- let du = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [df, dc], nil)))
548- let dv = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dg, dd], nil)))
549- let dw = if ((de == 0))
551+ let db = parseIntValue(D(cW[m]))
552+ let dc = parseIntValue(D(cW[n]))
553+ let dt = D(cW[i])
554+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
555+ let de = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
556+ let df = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
557+ let du = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [de, db], nil)))
558+ let dv = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [df, dc], nil)))
559+ let dw = if ((dd == 0))
550560 then g
551- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
552- let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
553- let dx = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [do, dc], nil)))
561+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dv), toString(du)], nil)))
562+ let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
563+ let dx = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [do, db], nil)))
554564 let dy = fraction(dx, dw, d)
555- let dz = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dy), dd], nil))
556- let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
565+ let dz = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dy), dc], nil))
566+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
557567 let dA = {
558- let z = ca
568+ let z = bZ
559569 if (if (if ($isInstanceOf(z._1, "Int"))
560570 then if ($isInstanceOf(z._3, "Int"))
561571 then if ($isInstanceOf(z._4, "Int"))
562572 then if ($isInstanceOf(z._5, "Int"))
563573 then $isInstanceOf(z._6, "Int")
564574 else false
565575 else false
566576 else false
567577 else false)
568578 then (size(z) == 13)
569579 else false)
570580 then {
571581 let dB = z._1
572582 let dC = z._3
573583 let dD = z._4
574584 let dE = z._5
575585 let dF = z._6
576586 $Tuple5(dB, dC, dD, dE, dF)
577587 }
578588 else throw("Couldn't cast types")
579589 }
580590 let dB = dA._1
581591 let dC = dA._2
582592 let dD = dA._3
583593 let dE = dA._4
584594 let dF = dA._5
585- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
595+ $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))
586596 }
587597
588598
589599
590600 @Callable(bB)
591-func poolEvaluatePutByPriceAssetREADONLY (cW,dz) = {
592- let aU = addressFromStringValue(t(aX, U(cW)))
593- let cX = x(invoke(aU, "getPoolConfigWrapperREADONLY", nil, nil))
594- let bd = fromBase58String(D(cX[j]))
595- let dp = D(cX[k])
601+func poolEvaluatePutByPriceAssetREADONLY (cV,dz) = {
602+ let aZ = addressFromStringValue(t(aT, U(cV)))
603+ let cW = x(invoke(aZ, "getPoolConfigWrapperREADONLY", nil, nil))
604+ let bd = fromBase58String(D(cW[j]))
605+ let dp = D(cW[k])
596606 let dq = fromBase58String(dp)
597- let dr = D(cX[l])
607+ let dr = D(cW[l])
598608 let ds = fromBase58String(dr)
599- let dc = parseIntValue(D(cX[m]))
600- let dd = parseIntValue(D(cX[n]))
601- let dt = D(cX[i])
602- let de = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
603- let dG = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dp], nil))
604- let dH = B(invoke(aU, "getAccBalanceWrapperREADONLY", [dr], nil))
605- let dI = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dG, dc], nil)))
606- let dJ = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dH, dd], nil)))
607- let dw = if ((de == 0))
609+ let db = parseIntValue(D(cW[m]))
610+ let dc = parseIntValue(D(cW[n]))
611+ let dt = D(cW[i])
612+ let dd = valueOrErrorMessage(assetInfo(bd), (("Asset " + toBase58String(bd)) + " doesn't exist")).quantity
613+ let dG = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dp], nil))
614+ let dH = B(invoke(aZ, "getAccBalanceWrapperREADONLY", [dr], nil))
615+ let dI = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dG, db], nil)))
616+ let dJ = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dH, dc], nil)))
617+ let dw = if ((dd == 0))
608618 then g
609- else parseBigIntValue(D(invoke(aU, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
610- let di = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dw), b], nil))
611- let dy = parseBigIntValue(D(invoke(aU, "toX18WrapperREADONLY", [dz, dd], nil)))
619+ else parseBigIntValue(D(invoke(aZ, "calcPriceBigIntWrapperREADONLY", [toString(dJ), toString(dI)], nil)))
620+ let dh = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dw), b], nil))
621+ let dy = parseBigIntValue(D(invoke(aZ, "toX18WrapperREADONLY", [dz, dc], nil)))
612622 let dx = fraction(dy, d, dw)
613- let do = B(invoke(aU, "fromX18WrapperREADONLY", [toString(dx), dc], nil))
614- let ca = invoke(aU, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
623+ let do = B(invoke(aZ, "fromX18WrapperREADONLY", [toString(dx), db], nil))
624+ let bZ = invoke(aZ, "estimatePutOperationWrapperREADONLY", ["", 500000, do, dq, dz, ds, "", true, false], nil)
615625 let dK = {
616- let z = ca
626+ let z = bZ
617627 if (if (if ($isInstanceOf(z._1, "Int"))
618628 then if ($isInstanceOf(z._3, "Int"))
619629 then if ($isInstanceOf(z._4, "Int"))
620630 then if ($isInstanceOf(z._5, "Int"))
621631 then $isInstanceOf(z._6, "Int")
622632 else false
623633 else false
624634 else false
625635 else false)
626636 then (size(z) == 13)
627637 else false)
628638 then {
629639 let dB = z._1
630640 let dC = z._3
631641 let dD = z._4
632642 let dE = z._5
633643 let dF = z._6
634644 $Tuple5(dB, dC, dD, dE, dF)
635645 }
636646 else throw("Couldn't cast types")
637647 }
638648 let dB = dK._1
639649 let dC = dK._2
640650 let dD = dK._3
641651 let dE = dK._4
642652 let dF = dK._5
643- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(dB), toString(di), toString(dD), toString(dE), toString(dF), dt, toString(do), toString(dz)], e))
653+ $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))
644654 }
645655
646656
647657
648658 @Callable(bB)
649659 func poolEvaluateGetREADONLY (dL,dM) = {
650- let aU = addressFromStringValue(t(aX, U(dL)))
651- let ca = invoke(aU, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aU)], nil)
660+ let aZ = addressFromStringValue(t(aT, U(dL)))
661+ let bZ = invoke(aZ, "estimateGetOperationWrapperREADONLY", ["", dL, dM, toString(aZ)], nil)
652662 let dN = {
653- let z = ca
663+ let z = bZ
654664 if (if (if ($isInstanceOf(z._1, "Int"))
655665 then if ($isInstanceOf(z._2, "Int"))
656666 then if ($isInstanceOf(z._5, "Int"))
657667 then if ($isInstanceOf(z._6, "Int"))
658668 then if ($isInstanceOf(z._7, "Int"))
659669 then if ($isInstanceOf(z._8, "String"))
660670 then $isInstanceOf(z._9, "String")
661671 else false
662672 else false
663673 else false
664674 else false
665675 else false
666676 else false)
667677 then (size(z) == 10)
668678 else false)
669679 then {
670680 let dO = z._1
671681 let dP = z._2
672682 let dD = z._5
673683 let dE = z._6
674684 let dF = z._7
675- let di = z._8
685+ let dh = z._8
676686 let dt = z._9
677- $Tuple7(dO, dP, dD, dE, dF, di, dt)
687+ $Tuple7(dO, dP, dD, dE, dF, dh, dt)
678688 }
679689 else throw("Couldn't cast types")
680690 }
681691 let dO = dN._1
682692 let dP = dN._2
683693 let dD = dN._3
684694 let dE = dN._4
685695 let dF = dN._5
686- let di = dN._6
696+ let dh = dN._6
687697 let dt = dN._7
688- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), di, dt], e))
698+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dO), toString(dP), toString(dD), toString(dE), toString(dF), dh, dt], e))
689699 }
690700
691701
692702
693703 @Callable(bB)
694704 func gwxUserInfoREADONLY (am) = {
695- let dQ = x(invoke(bb, "gwxUserInfoREADONLY", [am], nil))
705+ let dQ = x(invoke(aX, "gwxUserInfoREADONLY", [am], nil))
696706 let dR = B(dQ[0])
697707 $Tuple2(nil, makeString(["%d", toString(dR)], e))
698708 }
699709
700710
701711
702712 @Callable(bB)
703-func unstakeAndGetOneTknV2 (aU,dS,dT,dU) = {
704- let cb = invoke(addressFromStringValue(aU), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
705- if ((cb == cb))
713+func unstakeAndGetOneTknV2 (aZ,dS,dT,dU) = {
714+ let ca = invoke(addressFromStringValue(aZ), "unstakeAndGetOneTknV2", [dS, dT, dU], nil)
715+ if ((ca == ca))
706716 then $Tuple2(nil, unit)
707717 else throw("Strict value is not equal to itself.")
708718 }
709719
710720
711721
712722 @Callable(bB)
713723 func getKeysBulkInternal (bN,dV,bT) = if ((bN == size(dV)))
714724 then $Tuple2(nil, bT)
715725 else {
716- let cq = split(dV[bN], "++")
717- let bv = addressFromStringValue(cq[0])
718- let s = cq[1]
719- let bw = cq[2]
726+ let cp = split(dV[bN], "++")
727+ let bv = addressFromStringValue(cp[0])
728+ let s = cp[1]
729+ let bw = cp[2]
720730 let y = bu(bv, s, bw)
721- let ca = (bT :+ y)
722- let cb = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, ca], nil)
723- if ((cb == cb))
724- then $Tuple2(nil, cb)
731+ let bZ = (bT :+ y)
732+ let ca = invoke(this, "getKeysBulkInternal", [(bN + 1), dV, bZ], nil)
733+ if ((ca == ca))
734+ then $Tuple2(nil, ca)
725735 else throw("Strict value is not equal to itself.")
726736 }
727737
728738
729739
730740 @Callable(bB)
731741 func getKeysBulk (dV) = {
732- let ca = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
733- $Tuple2(nil, ca)
742+ let bZ = invoke(this, "getKeysBulkInternal", [0, dV, nil], nil)
743+ $Tuple2(nil, bZ)
734744 }
735745
736746
737747
738748 @Callable(bB)
739749 func setManager (dW) = {
740750 let bF = bA(bB)
741751 if ((bF == bF))
742752 then {
743753 let dX = fromBase58String(dW)
744754 if ((dX == dX))
745755 then [StringEntry(H(), dW)]
746756 else throw("Strict value is not equal to itself.")
747757 }
748758 else throw("Strict value is not equal to itself.")
749759 }
750760
751761
752762
753763 @Callable(bB)
754764 func confirmManager () = {
755765 let dY = bz()
756766 let dZ = if (isDefined(dY))
757767 then true
758768 else throw("No pending manager")
759769 if ((dZ == dZ))
760770 then {
761771 let ea = if ((bB.callerPublicKey == value(dY)))
762772 then true
763773 else throw("You are not pending manager")
764774 if ((ea == ea))
765775 then [StringEntry(G(), toBase58String(value(dY))), DeleteEntry(H())]
766776 else throw("Strict value is not equal to itself.")
767777 }
768778 else throw("Strict value is not equal to itself.")
769779 }
770780
771781
772782 @Verifier(eb)
773783 func ec () = {
774784 let ed = {
775785 let z = bx()
776786 if ($isInstanceOf(z, "ByteVector"))
777787 then {
778788 let bD = z
779789 bD
780790 }
781791 else if ($isInstanceOf(z, "Unit"))
782792 then eb.senderPublicKey
783793 else throw("Match error")
784794 }
785795 sigVerify(eb.bodyBytes, eb.proofs[0], ed)
786796 }
787797

github/deemru/w8io/c3f4982 
142.56 ms