From 7b353f761159c33898f85c8e9750d33c382863dd Mon Sep 17 00:00:00 2001 From: hmiao <739025250@qq.com> Date: Mon, 22 Nov 2021 20:33:10 +0800 Subject: [PATCH] [feature] complete chain impl and test --- DeltaContract.json | 68321 +++++++++++++++++++++++++++++- package.json | 4 +- src/config.ts | 4 +- src/impl/chain/index.ts | 1 + src/impl/chain/service.test.ts | 241 + src/impl/chain/service.ts | 116 +- src/impl/monkey/service.test.ts | 5 +- src/impl/monkey/service.ts | 7 +- 8 files changed, 67909 insertions(+), 790 deletions(-) create mode 100644 src/impl/chain/index.ts create mode 100644 src/impl/chain/service.test.ts diff --git a/DeltaContract.json b/DeltaContract.json index 4120018..4ca230a 100644 --- a/DeltaContract.json +++ b/DeltaContract.json @@ -1,901 +1,67742 @@ { - "name": "DeltaContract", - "source": "DeltaContract.sol", - "abi": [ + "contractName": "DeltaContract", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ { - "inputs": [], + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "addrs", + "type": "address[]" + } + ], + "name": "AggregateStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "addrs", + "type": "address[]" + } + ], + "name": "CalculateStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sharer", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "contentType", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "content", + "type": "bytes" + } + ], + "name": "ContentUploaded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "addrs", + "type": "address[]" + } + ], + "name": "PartnerSelected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + } + ], + "name": "RoundEnd", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint64", + "name": "round", + "type": "uint64" + } + ], + "name": "RoundStart", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "dataSet", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "creatorUrl", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "commitment", + "type": "bytes32" + } + ], + "name": "TaskCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + } + ], + "name": "getTaskData", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "string", + "name": "creatorUrl", + "type": "string" + }, + { + "internalType": "string", + "name": "dataSet", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "commitment", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "currentRound", + "type": "uint64" + } + ], + "internalType": "struct DeltaContract.Task", + "name": "task", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "string", + "name": "creatorUrl", + "type": "string" + }, + { + "internalType": "string", + "name": "dataSet", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "commitment", + "type": "bytes32" + } + ], + "name": "createTask", + "outputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + } + ], + "stateMutability": "payable", + "type": "function", + "payable": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "maxSample", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minSample", + "type": "uint32" + } + ], + "name": "startRound", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "pk1", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "pk2", + "type": "bytes32" + } + ], + "name": "joinRound", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "candidateAddr", + "type": "address" + } + ], + "name": "getClientPublickeys", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "pk1", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "pk2", + "type": "bytes32" + } + ], + "internalType": "struct DeltaContract.Candidate", + "name": "candidate", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + } + ], + "name": "getTaskRound", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "currentRound", + "type": "uint64" + }, + { + "internalType": "uint32", + "name": "maxSample", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minSample", + "type": "uint32" + }, + { + "internalType": "uint8", + "name": "status", + "type": "uint8" + }, + { + "internalType": "address[]", + "name": "joinedAddrs", + "type": "address[]" + } + ], + "internalType": "struct DeltaContract.ExtCallTaskRoundStruct", + "name": "taskround", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address[]", + "name": "addrs", + "type": "address[]" + } + ], + "name": "selectCandidates", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "clientaddress", + "type": "address" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + } + ], + "name": "getResultCommitment", + "outputs": [ + { + "internalType": "bytes", + "name": "commitment", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "sharee", + "type": "address" + } + ], + "name": "getSecretSharingData", + "outputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "seedPiece", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "seedCommitment", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "secretKeyPiece", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "secretKeyMaskCommitment", + "type": "bytes" + } + ], + "internalType": "struct DeltaContract.SSData", + "name": "ssdata", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address[]", + "name": "onlineClients", + "type": "address[]" + } + ], + "name": "startAggregate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address[]", + "name": "onlineClients", + "type": "address[]" + } + ], + "name": "startCalculate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + } + ], + "name": "endRound", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "bytes", + "name": "resultCommitment", + "type": "bytes" + } + ], + "name": "uploadResultCommitment", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "sharee", + "type": "address" + }, + { + "internalType": "bytes", + "name": "seedCommitment", + "type": "bytes" + } + ], + "name": "uploadSeedCommitment", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "sharee", + "type": "address" + }, + { + "internalType": "bytes", + "name": "seed", + "type": "bytes" + } + ], + "name": "uploadSeed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "sharee", + "type": "address" + }, + { + "internalType": "bytes", + "name": "secretKeyCommitment", + "type": "bytes" + } + ], + "name": "uploadSecretKeyCommitment", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "taskId", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "round", + "type": "uint64" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "bytes", + "name": "secretkeyMask", + "type": "bytes" + } + ], + "name": "uploadSecretkeyMask", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "maxLength", + "type": "uint64" + } + ], + "name": "setMaxWeightCommitmentLength", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint64", + "name": "maxLength", + "type": "uint64" + } + ], + "name": "setMaxSSCommitmentLength", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxCommitmentsLength", + "outputs": [ + { + "internalType": "uint64", + "name": "sslength", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "weightLength", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "changeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"}],\"name\":\"AggregateStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"}],\"name\":\"CalculateStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sharer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"contentType\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"content\",\"type\":\"bytes\"}],\"name\":\"ContentUploaded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"}],\"name\":\"PartnerSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"}],\"name\":\"RoundEnd\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"}],\"name\":\"RoundStart\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"dataSet\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"creatorUrl\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"changeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"creatorUrl\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"dataSet\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"}],\"name\":\"createTask\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"}],\"name\":\"endRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"candidateAddr\",\"type\":\"address\"}],\"name\":\"getClientPublickeys\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"pk1\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"pk2\",\"type\":\"bytes32\"}],\"internalType\":\"struct DeltaContract.Candidate\",\"name\":\"candidate\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxCommitmentsLength\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"sslength\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"weightLength\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"clientaddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"}],\"name\":\"getResultCommitment\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"commitment\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sharee\",\"type\":\"address\"}],\"name\":\"getSecretSharingData\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"seedPiece\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"seedCommitment\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"secretKeyPiece\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"secretKeyMaskCommitment\",\"type\":\"bytes\"}],\"internalType\":\"struct DeltaContract.SSData\",\"name\":\"ssdata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"}],\"name\":\"getTaskData\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"creatorUrl\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"dataSet\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"currentRound\",\"type\":\"uint64\"}],\"internalType\":\"struct DeltaContract.Task\",\"name\":\"task\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"}],\"name\":\"getTaskRound\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"currentRound\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"maxSample\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"minSample\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"joinedAddrs\",\"type\":\"address[]\"}],\"internalType\":\"struct DeltaContract.ExtCallTaskRoundStruct\",\"name\":\"taskround\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"pk1\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"pk2\",\"type\":\"bytes32\"}],\"name\":\"joinRound\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"addrs\",\"type\":\"address[]\"}],\"name\":\"selectCandidates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"maxLength\",\"type\":\"uint64\"}],\"name\":\"setMaxSSCommitmentLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"maxLength\",\"type\":\"uint64\"}],\"name\":\"setMaxWeightCommitmentLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"onlineClients\",\"type\":\"address[]\"}],\"name\":\"startAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address[]\",\"name\":\"onlineClients\",\"type\":\"address[]\"}],\"name\":\"startCalculate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"maxSample\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"minSample\",\"type\":\"uint32\"}],\"name\":\"startRound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCommitment\",\"type\":\"bytes\"}],\"name\":\"uploadResultCommitment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"sharee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"secretKeyCommitment\",\"type\":\"bytes\"}],\"name\":\"uploadSecretKeyCommitment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"secretkeyMask\",\"type\":\"bytes\"}],\"name\":\"uploadSecretkeyMask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"sharee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"seed\",\"type\":\"bytes\"}],\"name\":\"uploadSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"round\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"sharee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"seedCommitment\",\"type\":\"bytes\"}],\"name\":\"uploadSeedCommitment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Delta Contract For Mpc\",\"kind\":\"dev\",\"methods\":{\"changeOwner(address)\":{\"details\":\"Change owner\",\"params\":{\"newOwner\":\"address of new owner\"}},\"constructor\":{\"details\":\"Set contract deployer as owner\"},\"createTask(string,string,bytes32)\":{\"details\":\"called by task developer, notifying all clients that a new learning task has been published \",\"params\":{\"commitment\":\"training code hash (client validation purpose)\",\"dataSet\":\"data set name (file/folder name of training data)\"},\"returns\":{\"taskId\":\"taskId\"}},\"endRound(bytes32,uint64)\":{\"details\":\"called by task developer, close round\",\"params\":{\"round\":\"the task round\",\"taskId\":\"taskId\"}},\"getClientPublickeys(bytes32,uint64,address)\":{\"details\":\"called by anyone, get Client Pks\",\"returns\":{\"candidate\":\" (pk1,pk2)\"}},\"getOwner()\":{\"details\":\"Return owner address \",\"returns\":{\"_0\":\"address of owner\"}},\"getResultCommitment(bytes32,address,uint64)\":{\"details\":\"called by task developer, get commitments from blockchain(Server has to call this method for every clients to get their commiments as the return value couldn't contain mapping type in solidity(damn it))\",\"params\":{\"clientaddress\":\"the client that publish the commitments \",\"round\":\"the round of that commitment\",\"taskId\":\"taskId\"},\"returns\":{\"commitment\":\"commitment data\"}},\"getSecretSharingData(bytes32,uint64,address,address)\":{\"details\":\"called by any participants\"},\"getTaskData(bytes32)\":{\"details\":\"get task info data\",\"params\":{\"taskId\":\"taskId\"}},\"getTaskRound(bytes32,uint64)\":{\"details\":\"getting task round infos\",\"params\":{\"round\":\"the round to fetch\",\"taskId\":\"taskId\"},\"returns\":{\"taskround\":\"the task round infos\"}},\"joinRound(bytes32,uint64,bytes32,bytes32)\":{\"details\":\"called by client, join for that round of computation\",\"params\":{\"pk1\":\"used for secure communication channel establishment\",\"pk2\":\"used for mask generation\",\"round\":\"the round to join\",\"taskId\":\"taskId\"}},\"selectCandidates(bytes32,uint64,address[])\":{\"details\":\"called by task developer, randomly choose candidates to be computation nodesclients now should start secret sharing phase \",\"params\":{\"addrs\":\"selected client addresses\"}},\"startAggregate(bytes32,uint64,address[])\":{\"details\":\"called by task developer, notifying all participants that the ss and gradient transfer phase has finishedclient now should send corresponded ss share pieces to task developer according to the online status given by the task developer\",\"params\":{\"onlineClients\":\"clients that has transfered gradient to task developer\",\"round\":\"the task round\",\"taskId\":\"taskId\"}},\"startCalculate(bytes32,uint64,address[])\":{\"details\":\"called by task developer, notifying all participants that the secret sharing phase is finished to transfer masked gradient to task server\",\"params\":{\"round\":\"the task round\",\"taskId\":\"taskId\"}},\"startRound(bytes32,uint64,uint32,uint32)\":{\"details\":\"called by task developer, notifying all clients that a new computing round is started and open for joining\",\"params\":{\"round\":\"the round to start\",\"taskId\":\"taskId\"}},\"uploadResultCommitment(bytes32,uint64,bytes)\":{\"details\":\"called by client, upload weight commitment\",\"params\":{\"resultCommitment\":\"masked model incremental commitment\",\"round\":\"the task round\",\"taskId\":\"taskId\"}},\"uploadSecretKeyCommitment(bytes32,uint64,address,bytes)\":{\"details\":\"called by client, upload secret sharing sk commitment\",\"params\":{\"round\":\"the task round\",\"secretKeyCommitment\":\"secret sharing piece of seed mask\",\"sharee\":\"the sharee address\",\"taskId\":\"taskId\"}},\"uploadSecretkeyMask(bytes32,uint64,address,bytes)\":{\"details\":\"called by client, upload secret sharing sk commitment\",\"params\":{\"owner\":\"the owner address\",\"round\":\"the task round\",\"secretkeyMask\":\"the crypted skmask\",\"taskId\":\"taskId\"}},\"uploadSeed(bytes32,uint64,address,bytes)\":{\"details\":\"called by client, upload secret sharing seed commitment\",\"params\":{\"round\":\"the task round\",\"seed\":\"the seed piece\",\"sharee\":\"the sharee address\",\"taskId\":\"taskId\"}},\"uploadSeedCommitment(bytes32,uint64,address,bytes)\":{\"details\":\"called by client, upload secret sharing seed commitment\",\"params\":{\"round\":\"the task round\",\"seedCommitment\":\"secret sharing piece of seed mask\",\"sharee\":\"the sharee address\",\"taskId\":\"taskId\"}}},\"title\":\"Delta Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/DeltaContract.sol\":\"DeltaContract\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/DeltaContract.sol\":{\"keccak256\":\"0xa66450509a882d51b43ee623aabead2a94c708ee0f0b88cc4ea688a6de91a84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f293e2ea604e786dd129effeba3a36424f40a89adf5591465fa5060e5ee843a\",\"dweb:/ipfs/QmVoRfyFTyUWnEkP3w4PJtFNt9NgL7UnUn7TMcQcAjsfcX\"]}},\"version\":1}", + "bytecode": "0x608060405262a00000600460006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610100600460086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561006757600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3615c5680620001336000396000f3fe6080604052600436106101355760003560e01c8063abf2013a116100ab578063da0fe8981161006f578063da0fe8981461041f578063e36bb28c1461045c578063e8ac10f314610499578063ebd3e836146104c9578063ee9dc1bd146104f2578063f9dd18a71461051b57610135565b8063abf2013a1461033e578063b71b768d14610367578063bdf666a414610390578063c99f61d4146103cd578063d6f02142146103f657610135565b8063589e2338116100fd578063589e23381461021b57806358af9f73146102585780635d3d7e6314610295578063893d20e8146102c157806390ec5deb146102ec578063a6f9dae11461031557610135565b806301bd72691461013a57806307dcfa8e1461016357806341e865cb1461018c5780634893b362146101b55780634956219b146101f2575b600080fd5b34801561014657600080fd5b50610161600480360381019061015c9190613f35565b610544565b005b34801561016f57600080fd5b5061018a60048036038101906101859190613fb1565b610712565b005b34801561019857600080fd5b506101b360048036038101906101ae919061407d565b610b50565b005b3480156101c157600080fd5b506101dc60048036038101906101d79190613f35565b610e3d565b6040516101e99190614291565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061407d565b611036565b005b34801561022757600080fd5b50610242600480360381019061023d91906142df565b611355565b60405161024f9190614457565b60405180910390f35b34801561026457600080fd5b5061027f600480360381019061027a9190614479565b6117b9565b60405161028c9190614587565b60405180910390f35b3480156102a157600080fd5b506102aa611a44565b6040516102b89291906145b8565b60405180910390f35b3480156102cd57600080fd5b506102d6611a7d565b6040516102e391906145f0565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190614661565b611aa6565b005b34801561032157600080fd5b5061033c600480360381019061033791906146e9565b611f12565b005b34801561034a57600080fd5b506103656004803603810190610360919061407d565b61205d565b005b34801561037357600080fd5b5061038e60048036038101906103899190614716565b6122a9565b005b34801561039c57600080fd5b506103b760048036038101906103b29190614743565b612363565b6040516103c491906147c5565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190614661565b6126db565b005b34801561040257600080fd5b5061041d60048036038101906104189190614716565b612a77565b005b34801561042b57600080fd5b50610446600480360381019061044191906147e0565b612b31565b6040516104539190614862565b60405180910390f35b34801561046857600080fd5b50610483600480360381019061047e919061487d565b612c5a565b604051610490919061491a565b60405180910390f35b6104b360048036038101906104ae9190614992565b612eb0565b6040516104c09190614a36565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190614a51565b61311e565b005b3480156104fe57600080fd5b5061051960048036038101906105149190614661565b61343a565b005b34801561052757600080fd5b50610542600480360381019061053d9190614661565b61380a565b005b813373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e090614b22565b60405180910390fd5b828260006002600084815260200190815260200160002090506001818054905011801561062357508167ffffffffffffffff168180549050115b610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065990614b8e565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff168154811061069357610692614bae565b5b9060005260206000209060030201905060048160000160106101000a81548160ff021916908360048111156106cb576106ca614bdd565b5b02179055507f8888bd37d0d00a7edbfa5f8aa6dc49a4770abad0de65453622b4792128fc40fa8787604051610701929190614c0c565b60405180910390a150505050505050565b83600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b090614c81565b60405180910390fd5b843373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590614b22565b60405180910390fd5b60006002600088815260200190815260200160002090508567ffffffffffffffff168180549050146108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90614d39565b60405180910390fd5b6000600160008981526020019081526020016000209050868160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008280549050148061093457508667ffffffffffffffff16600183805490506109329190614d92565b105b1561095b578160018160018154018082558091505003906000526020600020905050610908565b86828867ffffffffffffffff168154811061097957610978614bae565b5b906000526020600020906003020160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555085828867ffffffffffffffff16815481106109ce576109cd614bae565b5b906000526020600020906003020160000160086101000a81548163ffffffff021916908363ffffffff16021790555084828867ffffffffffffffff1681548110610a1b57610a1a614bae565b5b9060005260206000209060030201600001600c6101000a81548163ffffffff021916908363ffffffff1602179055506000828867ffffffffffffffff1681548110610a6957610a68614bae565b5b906000526020600020906003020160000160106101000a81548160ff02191690836004811115610a9c57610a9b614bdd565b5b02179055506000600360008a815260200190815260200160002090505b600081805490501480610ae557508767ffffffffffffffff1660018280549050610ae39190614d92565b105b15610b0c578060018160018154018082558091505003906000526020600020905050610ab9565b7f442bd58918c05fbba21640a63d950e0ada0c085917a5c785fe24d66608972bd98989604051610b3d929190614c0c565b60405180910390a1505050505050505050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90614b22565b60405180910390fd5b8484600060026000848152602001908152602001600020905060018180549050118015610c2f57508167ffffffffffffffff168180549050115b610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6590614b8e565b60405180910390fd5b60008686905011610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90614e12565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110610ce557610ce4614bae565b5b9060005260206000209060030201905060005b87879050811015610dc7576000801b8260010160008a8a85818110610d2057610d1f614bae565b5b9050602002016020810190610d3591906146e9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab90614e7e565b60405180910390fd5b8080610dbf90614e9e565b915050610cf8565b5060018160000160106101000a81548160ff02191690836004811115610df057610def614bdd565b5b02179055507f25b2b0a6205a2793a55299d05c21fb9163d38054d6966d101c156acdc2d7c92f89898989604051610e2a9493929190614f83565b60405180910390a1505050505050505050565b610e45613caa565b8282600060026000848152602001908152602001600020905060018180549050118015610e7f57508167ffffffffffffffff168180549050115b610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590614b8e565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff1681548110610eef57610eee614bae565b5b906000526020600020906003020190506040518060a001604052808260000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018260000160089054906101000a900463ffffffff1663ffffffff16815260200182600001600c9054906101000a900463ffffffff1663ffffffff1681526020018260000160109054906101000a900460ff166004811115610f9657610f95614bdd565b5b60ff1681526020018260020180548060200260200160405190810160405280929190818152602001828054801561102257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610fd8575b505050505081525094505050505092915050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290614b22565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561111557508167ffffffffffffffff168180549050115b611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b90614b8e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061118557611184614bae565b5b90600052602060002090600302019050600260048111156111a9576111a8614bdd565b5b8160000160109054906101000a900460ff1660048111156111cd576111cc614bdd565b5b1461120d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112049061500f565b60405180910390fd5b60038160000160106101000a81548160ff0219169083600481111561123557611234614bdd565b5b021790555060005b8787905081101561130c576000801b8260010160008a8a8581811061126557611264614bae565b5b905060200201602081019061127a91906146e9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090614e7e565b60405180910390fd5b808061130490614e9e565b91505061123d565b507fa7c3d5c32db46529b13020e7508c4861d6c00a7b339c33d7ff5d9836dde4287f898989896040516113429493929190614f83565b60405180910390a1505050505050505050565b61135d613cf2565b848460006002600084815260200190815260200160002090506001818054905011801561139757508167ffffffffffffffff168180549050115b6113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90614b8e565b60405180910390fd5b878760006003600084815260200190815260200160002090508167ffffffffffffffff1681805490501161143f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114369061507b565b60405180910390fd5b6000600360008d815260200190815260200160002090508a67ffffffffffffffff16818054905010156114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e9061507b565b60405180910390fd5b6000818c67ffffffffffffffff16815481106114c6576114c5614bae565b5b906000526020600020906002020190508060010160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052908160008201805461156f906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461159b906150ca565b80156115e85780601f106115bd576101008083540402835291602001916115e8565b820191906000526020600020905b8154815290600101906020018083116115cb57829003601f168201915b50505050508152602001600182018054611601906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461162d906150ca565b801561167a5780601f1061164f5761010080835404028352916020019161167a565b820191906000526020600020905b81548152906001019060200180831161165d57829003601f168201915b50505050508152602001600282018054611693906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546116bf906150ca565b801561170c5780601f106116e15761010080835404028352916020019161170c565b820191906000526020600020905b8154815290600101906020018083116116ef57829003601f168201915b50505050508152602001600382018054611725906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611751906150ca565b801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508152505098505050505050505050949350505050565b6117c1613d1a565b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f90614c81565b60405180910390fd5b600160008481526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546118ec906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611918906150ca565b80156119655780601f1061193a57610100808354040283529160200191611965565b820191906000526020600020905b81548152906001019060200180831161194857829003601f168201915b5050505050815260200160028201805461197e906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546119aa906150ca565b80156119f75780601f106119cc576101008083540402835291602001916119f7565b820191906000526020600020905b8154815290600101906020018083116119da57829003601f168201915b50505050508152602001600382015481526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915050919050565b600080600460089054906101000a900467ffffffffffffffff169150600460009054906101000a900467ffffffffffffffff1690509091565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8484600060026000848152602001908152602001600020905060018180549050118015611ae057508167ffffffffffffffff168180549050115b611b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1690614b8e565b60405180910390fd5b600085859050118015611b555750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b611b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8b9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110611bc557611bc4614bae565b5b9060005260206000209060030201905060036004811115611be957611be8614bdd565b5b8160000160109054906101000a900460ff166004811115611c0d57611c0c614bdd565b5b14611c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c44906151da565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff1681548110611c8357611c82614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054611d21906150ca565b905011611d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5a90615246565b60405180910390fd5b60008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054611df1906150ca565b905014611e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2a906152d8565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019190611ec3929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051611efd96959493929190615380565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f979061543b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990614b22565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561213c57508167ffffffffffffffff168180549050115b61217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217290614b8e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106121ac576121ab614bae565b5b90600052602060002090600302019050600160048111156121d0576121cf614bdd565b5b8160000160109054906101000a900460ff1660048111156121f4576121f3614bdd565b5b14612234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222b906154a7565b60405180910390fd5b60028160000160106101000a81548160ff0219169083600481111561225c5761225b614bdd565b5b02179055507fbc9bba2269f8b18f4ff8765379774de8dc70369c61ed47583189768c35d9e58d898989896040516122969493929190614f83565b60405180910390a1505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e9061543b565b60405180910390fd5b80600460006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600084600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561240c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240390614c81565b60405180910390fd5b858560006002600084815260200190815260200160002090506001818054905011801561244657508167ffffffffffffffff168180549050115b612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c90614b8e565b60405180910390fd5b6000600260008b81526020019081526020016000209050600081600183805490506124b09190614d92565b815481106124c1576124c0614bae565b5b906000526020600020906003020190508967ffffffffffffffff16600183805490506124ed9190614d92565b14801561252f57506000600481111561250957612508614bdd565b5b8160000160109054906101000a900460ff16600481111561252d5761252c614bdd565b5b145b61256e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256590615513565b60405180910390fd5b6000801b8160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146125f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ee906155a5565b60405180910390fd5b60405180604001604052808a8152602001898152508160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015590505080600201339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019650505050505050949350505050565b848460006002600084815260200190815260200160002090506001818054905011801561271557508167ffffffffffffffff168180549050115b612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90614b8e565b60405180910390fd5b60008585905011801561278a5750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6127c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c09061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106127fa576127f9614bae565b5b906000526020600020906003020190506001600481111561281e5761281d614bdd565b5b8160000160109054906101000a900460ff16600481111561284257612841614bdd565b5b14612882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287990615611565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff16815481106128b8576128b7614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054612956906150ca565b905014612998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298f906156a3565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019190612a28929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051612a629695949392919061570f565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afc9061543b565b60405180910390fd5b80600460086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b612b39613df2565b8383600060026000848152602001908152602001600020905060018180549050118015612b7357508167ffffffffffffffff168180549050115b612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba990614b8e565b60405180910390fd5b600260008881526020019081526020016000208667ffffffffffffffff1681548110612be157612be0614bae565b5b906000526020600020906003020160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505093505050509392505050565b60608382600060026000848152602001908152602001600020905060018180549050118015612c9657508167ffffffffffffffff168180549050115b612cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ccc90614b8e565b60405180910390fd5b868560006003600084815260200190815260200160002090508167ffffffffffffffff16818054905011612d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d359061507b565b60405180910390fd5b6000600360008c815260200190815260200160002090508867ffffffffffffffff1681805490501015612da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9d9061507b565b60405180910390fd5b6000818a67ffffffffffffffff1681548110612dc557612dc4614bae565b5b906000526020600020906002020190508060000160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612e21906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4d906150ca565b8015612e9a5780601f10612e6f57610100808354040283529160200191612e9a565b820191906000526020600020905b815481529060010190602001808311612e7d57829003601f168201915b5050505050985050505050505050509392505050565b6000804233868686604051602001612ecc9594939291906157ba565b6040516020818303038152906040528051906020012090506040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001848152602001600067ffffffffffffffff168152506001600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908051906020019061302a929190613e12565b506040820151816002019080519060200190613047929190613e12565b506060820151816003015560808201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050809150600060026000848152602001908152602001600020905080600181600181540180825580915050039060005260206000209050503373ffffffffffffffffffffffffffffffffffffffff167fa18549eb85158cc952d808a07e5f220d767881f3f687aff0f32466231ee0a8be8388888c8c8a60405161310b96959493929190615808565b60405180910390a2505095945050505050565b838360006002600084815260200190815260200160002090506001818054905011801561315857508167ffffffffffffffff168180549050115b613197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318e90614b8e565b60405180910390fd5b6000858590501180156131cd5750600460009054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b61320c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132039061516e565b60405180910390fd5b6000600260008981526020019081526020016000208767ffffffffffffffff168154811061323d5761323c614bae565b5b906000526020600020906003020190506002600481111561326157613260614bdd565b5b8160000160109054906101000a900460ff16600481111561328557613284614bdd565b5b146132c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bc906158ab565b60405180910390fd5b6000600360008a815260200190815260200160002090506000818967ffffffffffffffff16815481106132fb576132fa614bae565b5b9060005260206000209060020201905060008160000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054613359906150ca565b90501461339b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133929061593d565b60405180910390fd5b87878260000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091906133eb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8a8a3360008c8c604051613426969594939291906159a9565b60405180910390a150505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561347457508167ffffffffffffffff168180549050115b6134b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134aa90614b8e565b60405180910390fd5b6000858590501180156134e95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b613528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351f9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061355957613558614bae565b5b906000526020600020906003020190506001600481111561357d5761357c614bdd565b5b8160000160109054906101000a900460ff1660048111156135a1576135a0614bdd565b5b146135e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135d890615611565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff168180549050141561362c5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff168154811061364b5761364a614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030180546136e9906150ca565b90501461372b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613722906152d8565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030191906137bb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c6040516137f596959493929190615a64565b60405180910390a15050505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561384457508167ffffffffffffffff168180549050115b613883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387a90614b8e565b60405180910390fd5b6000858590501180156138b95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6138f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138ef9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061392957613928614bae565b5b906000526020600020906003020190506003600481111561394d5761394c614bdd565b5b8160000160109054906101000a900460ff16600481111561397157613970614bdd565b5b146139b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a8906151da565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff16818054905014156139fc5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff1681548110613a1b57613a1a614bae565b5b9060005260206000209060020201905060008160010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018054613ab9906150ca565b905011613afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af290615246565b60405180910390fd5b60008160010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054613b89906150ca565b905014613bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc290615b45565b60405180910390fd5b87878260010160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019190613c5b929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b8b338c8c604051613c9596959493929190615bb1565b60405180910390a15050505050505050505050565b6040518060a00160405280600067ffffffffffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600060ff168152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016060815260200160008019168152602001600067ffffffffffffffff1681525090565b828054613d78906150ca565b90600052602060002090601f016020900481019282613d9a5760008555613de1565b82601f10613db357803560ff1916838001178555613de1565b82800160010185558215613de1579182015b82811115613de0578235825591602001919060010190613dc5565b5b509050613dee9190613e98565b5090565b604051806040016040528060008019168152602001600080191681525090565b828054613e1e906150ca565b90600052602060002090601f016020900481019282613e405760008555613e87565b82601f10613e5957805160ff1916838001178555613e87565b82800160010185558215613e87579182015b82811115613e86578251825591602001919060010190613e6b565b5b509050613e949190613e98565b5090565b5b80821115613eb1576000816000905550600101613e99565b5090565b600080fd5b600080fd5b6000819050919050565b613ed281613ebf565b8114613edd57600080fd5b50565b600081359050613eef81613ec9565b92915050565b600067ffffffffffffffff82169050919050565b613f1281613ef5565b8114613f1d57600080fd5b50565b600081359050613f2f81613f09565b92915050565b60008060408385031215613f4c57613f4b613eb5565b5b6000613f5a85828601613ee0565b9250506020613f6b85828601613f20565b9150509250929050565b600063ffffffff82169050919050565b613f8e81613f75565b8114613f9957600080fd5b50565b600081359050613fab81613f85565b92915050565b60008060008060808587031215613fcb57613fca613eb5565b5b6000613fd987828801613ee0565b9450506020613fea87828801613f20565b9350506040613ffb87828801613f9c565b925050606061400c87828801613f9c565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f84011261403d5761403c614018565b5b8235905067ffffffffffffffff81111561405a5761405961401d565b5b60208301915083602082028301111561407657614075614022565b5b9250929050565b6000806000806060858703121561409757614096613eb5565b5b60006140a587828801613ee0565b94505060206140b687828801613f20565b935050604085013567ffffffffffffffff8111156140d7576140d6613eba565b5b6140e387828801614027565b925092505092959194509250565b6140fa81613ef5565b82525050565b61410981613f75565b82525050565b600060ff82169050919050565b6141258161410f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061418282614157565b9050919050565b61419281614177565b82525050565b60006141a48383614189565b60208301905092915050565b6000602082019050919050565b60006141c88261412b565b6141d28185614136565b93506141dd83614147565b8060005b8381101561420e5781516141f58882614198565b9750614200836141b0565b9250506001810190506141e1565b5085935050505092915050565b600060a08301600083015161423360008601826140f1565b5060208301516142466020860182614100565b5060408301516142596040860182614100565b50606083015161426c606086018261411c565b506080830151848203608086015261428482826141bd565b9150508091505092915050565b600060208201905081810360008301526142ab818461421b565b905092915050565b6142bc81614177565b81146142c757600080fd5b50565b6000813590506142d9816142b3565b92915050565b600080600080608085870312156142f9576142f8613eb5565b5b600061430787828801613ee0565b945050602061431887828801613f20565b9350506040614329878288016142ca565b925050606061433a878288016142ca565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015614380578082015181840152602081019050614365565b8381111561438f576000848401525b50505050565b6000601f19601f8301169050919050565b60006143b182614346565b6143bb8185614351565b93506143cb818560208601614362565b6143d481614395565b840191505092915050565b600060808301600083015184820360008601526143fc82826143a6565b9150506020830151848203602086015261441682826143a6565b9150506040830151848203604086015261443082826143a6565b9150506060830151848203606086015261444a82826143a6565b9150508091505092915050565b6000602082019050818103600083015261447181846143df565b905092915050565b60006020828403121561448f5761448e613eb5565b5b600061449d84828501613ee0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006144cd826144a6565b6144d781856144b1565b93506144e7818560208601614362565b6144f081614395565b840191505092915050565b61450481613ebf565b82525050565b600060a0830160008301516145226000860182614189565b506020830151848203602086015261453a82826144c2565b9150506040830151848203604086015261455482826144c2565b915050606083015161456960608601826144fb565b50608083015161457c60808601826140f1565b508091505092915050565b600060208201905081810360008301526145a1818461450a565b905092915050565b6145b281613ef5565b82525050565b60006040820190506145cd60008301856145a9565b6145da60208301846145a9565b9392505050565b6145ea81614177565b82525050565b600060208201905061460560008301846145e1565b92915050565b60008083601f84011261462157614620614018565b5b8235905067ffffffffffffffff81111561463e5761463d61401d565b5b60208301915083600182028301111561465a57614659614022565b5b9250929050565b60008060008060006080868803121561467d5761467c613eb5565b5b600061468b88828901613ee0565b955050602061469c88828901613f20565b94505060406146ad888289016142ca565b935050606086013567ffffffffffffffff8111156146ce576146cd613eba565b5b6146da8882890161460b565b92509250509295509295909350565b6000602082840312156146ff576146fe613eb5565b5b600061470d848285016142ca565b91505092915050565b60006020828403121561472c5761472b613eb5565b5b600061473a84828501613f20565b91505092915050565b6000806000806080858703121561475d5761475c613eb5565b5b600061476b87828801613ee0565b945050602061477c87828801613f20565b935050604061478d87828801613ee0565b925050606061479e87828801613ee0565b91505092959194509250565b60008115159050919050565b6147bf816147aa565b82525050565b60006020820190506147da60008301846147b6565b92915050565b6000806000606084860312156147f9576147f8613eb5565b5b600061480786828701613ee0565b935050602061481886828701613f20565b9250506040614829868287016142ca565b9150509250925092565b60408201600082015161484960008501826144fb565b50602082015161485c60208501826144fb565b50505050565b60006040820190506148776000830184614833565b92915050565b60008060006060848603121561489657614895613eb5565b5b60006148a486828701613ee0565b93505060206148b5868287016142ca565b92505060406148c686828701613f20565b9150509250925092565b600082825260208201905092915050565b60006148ec82614346565b6148f681856148d0565b9350614906818560208601614362565b61490f81614395565b840191505092915050565b6000602082019050818103600083015261493481846148e1565b905092915050565b60008083601f84011261495257614951614018565b5b8235905067ffffffffffffffff81111561496f5761496e61401d565b5b60208301915083600182028301111561498b5761498a614022565b5b9250929050565b6000806000806000606086880312156149ae576149ad613eb5565b5b600086013567ffffffffffffffff8111156149cc576149cb613eba565b5b6149d88882890161493c565b9550955050602086013567ffffffffffffffff8111156149fb576149fa613eba565b5b614a078882890161493c565b93509350506040614a1a88828901613ee0565b9150509295509295909350565b614a3081613ebf565b82525050565b6000602082019050614a4b6000830184614a27565b92915050565b60008060008060608587031215614a6b57614a6a613eb5565b5b6000614a7987828801613ee0565b9450506020614a8a87828801613f20565b935050604085013567ffffffffffffffff811115614aab57614aaa613eba565b5b614ab78782880161460b565b925092505092959194509250565b600082825260208201905092915050565b7f4d7573742063616c6c656420627920746865207461736b206f776e6572000000600082015250565b6000614b0c601d83614ac5565b9150614b1782614ad6565b602082019050919050565b60006020820190508181036000830152614b3b81614aff565b9050919050565b7f7468697320726f756e6420646f6573206e6f7420657869737400000000000000600082015250565b6000614b78601983614ac5565b9150614b8382614b42565b602082019050919050565b60006020820190508181036000830152614ba781614b6b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000604082019050614c216000830185614a27565b614c2e60208301846145a9565b9392505050565b7f5461736b206e6f74206578697374730000000000000000000000000000000000600082015250565b6000614c6b600f83614ac5565b9150614c7682614c35565b602082019050919050565b60006020820190508181036000830152614c9a81614c5e565b9050919050565b7f74686520726f756e6420686173206265656e20616c726561647920737461727460008201527f6564206f72207468652070726520726f756e6420646f6573206e6f742065786960208201527f7374000000000000000000000000000000000000000000000000000000000000604082015250565b6000614d23604283614ac5565b9150614d2e82614ca1565b606082019050919050565b60006020820190508181036000830152614d5281614d16565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614d9d82614d59565b9150614da883614d59565b925082821015614dbb57614dba614d63565b5b828203905092915050565b7f4d7573742070726f766964652061646472657373657300000000000000000000600082015250565b6000614dfc601683614ac5565b9150614e0782614dc6565b602082019050919050565b60006020820190508181036000830152614e2b81614def565b9050919050565b7f43616e646964617465206d757374206578697374000000000000000000000000600082015250565b6000614e68601483614ac5565b9150614e7382614e32565b602082019050919050565b60006020820190508181036000830152614e9781614e5b565b9050919050565b6000614ea982614d59565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614edc57614edb614d63565b5b600182019050919050565b600082825260208201905092915050565b6000819050919050565b6000614f1160208401846142ca565b905092915050565b6000602082019050919050565b6000614f328385614ee7565b9350614f3d82614ef8565b8060005b85811015614f7657614f538284614f02565b614f5d8882614198565b9750614f6883614f19565b925050600181019050614f41565b5085925050509392505050565b6000606082019050614f986000830187614a27565b614fa560208301866145a9565b8181036040830152614fb8818486614f26565b905095945050505050565b7f43616c63756c6174696e6720686173206e6f7420737461727465640000000000600082015250565b6000614ff9601b83614ac5565b915061500482614fc3565b602082019050919050565b6000602082019050818103600083015261502881614fec565b9050919050565b7f546865205461736b20526f756e64204d75737420657869737473000000000000600082015250565b6000615065601a83614ac5565b91506150708261502f565b602082019050919050565b6000602082019050818103600083015261509481615058565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806150e257607f821691505b602082108114156150f6576150f561509b565b5b50919050565b7f636f6d6d69746d656e74206c656e6774682065786365656473206c696d69742060008201527f6f7220697420697320656d707479000000000000000000000000000000000000602082015250565b6000615158602e83614ac5565b9150615163826150fc565b604082019050919050565b600060208201905081810360008301526151878161514b565b9050919050565b7f6e6f7420696e2075706c6f616420737320706861736500000000000000000000600082015250565b60006151c4601683614ac5565b91506151cf8261518e565b602082019050919050565b600060208201905081810360008301526151f3816151b7565b9050919050565b7f6d7573742075706c6f616420636f6d6d69746d656e7420666972737400000000600082015250565b6000615230601c83614ac5565b915061523b826151fa565b602082019050919050565b6000602082019050818103600083015261525f81615223565b9050919050565b7f63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6560008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006152c2602183614ac5565b91506152cd82615266565b604082019050919050565b600060208201905081810360008301526152f1816152b5565b9050919050565b7f5345454400000000000000000000000000000000000000000000000000000000600082015250565b600061532e600483614ac5565b9150615339826152f8565b602082019050919050565b82818337600083830152505050565b600061535f83856148d0565b935061536c838584615344565b61537583614395565b840190509392505050565b600060c0820190506153956000830189614a27565b6153a260208301886145a9565b6153af60408301876145e1565b6153bc60608301866145e1565b81810360808301526153cd81615321565b905081810360a08301526153e2818486615353565b9050979650505050505050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b6000615425601383614ac5565b9150615430826153ef565b602082019050919050565b6000602082019050818103600083015261545481615418565b9050919050565b7f5468697320726f756e64206973206e6f742072756e6e696e67206e6f77000000600082015250565b6000615491601d83614ac5565b915061549c8261545b565b602082019050919050565b600060208201905081810360008301526154c081615484565b9050919050565b7f6a6f696e20706861736520686173207061737365640000000000000000000000600082015250565b60006154fd601583614ac5565b9150615508826154c7565b602082019050919050565b6000602082019050818103600083015261552c816154f0565b9050919050565b7f43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c746960008201527f706c652074696d65730000000000000000000000000000000000000000000000602082015250565b600061558f602983614ac5565b915061559a82615533565b604082019050919050565b600060208201905081810360008301526155be81615582565b9050919050565b7f6e6f7420696e207365637265742073686172696e672070686173650000000000600082015250565b60006155fb601b83614ac5565b9150615606826155c5565b602082019050919050565b6000602082019050818103600083015261562a816155ee565b9050919050565b7f63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c6560008201527f2074696d65730000000000000000000000000000000000000000000000000000602082015250565b600061568d602683614ac5565b915061569882615631565b604082019050919050565b600060208201905081810360008301526156bc81615680565b9050919050565b7f53454544434d4d54000000000000000000000000000000000000000000000000600082015250565b60006156f9600883614ac5565b9150615704826156c3565b602082019050919050565b600060c0820190506157246000830189614a27565b61573160208301886145a9565b61573e60408301876145e1565b61574b60608301866145e1565b818103608083015261575c816156ec565b905081810360a0830152615771818486615353565b9050979650505050505050565b61578781614d59565b82525050565b60006157998385614ac5565b93506157a6838584615344565b6157af83614395565b840190509392505050565b60006080820190506157cf600083018861577e565b6157dc60208301876145e1565b81810360408301526157ef81858761578d565b90506157fe6060830184614a27565b9695505050505050565b600060808201905061581d6000830189614a27565b818103602083015261583081878961578d565b9050818103604083015261584581858761578d565b90506158546060830184614a27565b979650505050505050565b7f6e6f7420696e2075706c6f6164696e6720706861736500000000000000000000600082015250565b6000615895601683614ac5565b91506158a08261585f565b602082019050919050565b600060208201905081810360008301526158c481615888565b9050919050565b7f63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d60008201527f756c7469706c652074696d657300000000000000000000000000000000000000602082015250565b6000615927602d83614ac5565b9150615932826158cb565b604082019050919050565b600060208201905081810360008301526159568161591a565b9050919050565b7f5745494748540000000000000000000000000000000000000000000000000000600082015250565b6000615993600683614ac5565b915061599e8261595d565b602082019050919050565b600060c0820190506159be6000830189614a27565b6159cb60208301886145a9565b6159d860408301876145e1565b6159e560608301866145e1565b81810360808301526159f681615986565b905081810360a0830152615a0b818486615353565b9050979650505050505050565b7f534b4d41534b434d4d5400000000000000000000000000000000000000000000600082015250565b6000615a4e600a83614ac5565b9150615a5982615a18565b602082019050919050565b600060c082019050615a796000830189614a27565b615a8660208301886145a9565b615a9360408301876145e1565b615aa060608301866145e1565b8181036080830152615ab181615a41565b905081810360a0830152615ac6818486615353565b9050979650505050505050565b7f63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c6520746960008201527f6d65730000000000000000000000000000000000000000000000000000000000602082015250565b6000615b2f602383614ac5565b9150615b3a82615ad3565b604082019050919050565b60006020820190508181036000830152615b5e81615b22565b9050919050565b7f534b4d41534b0000000000000000000000000000000000000000000000000000600082015250565b6000615b9b600683614ac5565b9150615ba682615b65565b602082019050919050565b600060c082019050615bc66000830189614a27565b615bd360208301886145a9565b615be060408301876145e1565b615bed60608301866145e1565b8181036080830152615bfe81615b8e565b905081810360a0830152615c13818486615353565b905097965050505050505056fea264697066735822122060dfdc0b074b91d9cb863d57eccf4ededc3500ba4d91cb7a24b8d49a8151e22964736f6c634300080a0033", + "deployedBytecode": "0x6080604052600436106101355760003560e01c8063abf2013a116100ab578063da0fe8981161006f578063da0fe8981461041f578063e36bb28c1461045c578063e8ac10f314610499578063ebd3e836146104c9578063ee9dc1bd146104f2578063f9dd18a71461051b57610135565b8063abf2013a1461033e578063b71b768d14610367578063bdf666a414610390578063c99f61d4146103cd578063d6f02142146103f657610135565b8063589e2338116100fd578063589e23381461021b57806358af9f73146102585780635d3d7e6314610295578063893d20e8146102c157806390ec5deb146102ec578063a6f9dae11461031557610135565b806301bd72691461013a57806307dcfa8e1461016357806341e865cb1461018c5780634893b362146101b55780634956219b146101f2575b600080fd5b34801561014657600080fd5b50610161600480360381019061015c9190613f35565b610544565b005b34801561016f57600080fd5b5061018a60048036038101906101859190613fb1565b610712565b005b34801561019857600080fd5b506101b360048036038101906101ae919061407d565b610b50565b005b3480156101c157600080fd5b506101dc60048036038101906101d79190613f35565b610e3d565b6040516101e99190614291565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061407d565b611036565b005b34801561022757600080fd5b50610242600480360381019061023d91906142df565b611355565b60405161024f9190614457565b60405180910390f35b34801561026457600080fd5b5061027f600480360381019061027a9190614479565b6117b9565b60405161028c9190614587565b60405180910390f35b3480156102a157600080fd5b506102aa611a44565b6040516102b89291906145b8565b60405180910390f35b3480156102cd57600080fd5b506102d6611a7d565b6040516102e391906145f0565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190614661565b611aa6565b005b34801561032157600080fd5b5061033c600480360381019061033791906146e9565b611f12565b005b34801561034a57600080fd5b506103656004803603810190610360919061407d565b61205d565b005b34801561037357600080fd5b5061038e60048036038101906103899190614716565b6122a9565b005b34801561039c57600080fd5b506103b760048036038101906103b29190614743565b612363565b6040516103c491906147c5565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190614661565b6126db565b005b34801561040257600080fd5b5061041d60048036038101906104189190614716565b612a77565b005b34801561042b57600080fd5b50610446600480360381019061044191906147e0565b612b31565b6040516104539190614862565b60405180910390f35b34801561046857600080fd5b50610483600480360381019061047e919061487d565b612c5a565b604051610490919061491a565b60405180910390f35b6104b360048036038101906104ae9190614992565b612eb0565b6040516104c09190614a36565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190614a51565b61311e565b005b3480156104fe57600080fd5b5061051960048036038101906105149190614661565b61343a565b005b34801561052757600080fd5b50610542600480360381019061053d9190614661565b61380a565b005b813373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e090614b22565b60405180910390fd5b828260006002600084815260200190815260200160002090506001818054905011801561062357508167ffffffffffffffff168180549050115b610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065990614b8e565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff168154811061069357610692614bae565b5b9060005260206000209060030201905060048160000160106101000a81548160ff021916908360048111156106cb576106ca614bdd565b5b02179055507f8888bd37d0d00a7edbfa5f8aa6dc49a4770abad0de65453622b4792128fc40fa8787604051610701929190614c0c565b60405180910390a150505050505050565b83600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b090614c81565b60405180910390fd5b843373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590614b22565b60405180910390fd5b60006002600088815260200190815260200160002090508567ffffffffffffffff168180549050146108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90614d39565b60405180910390fd5b6000600160008981526020019081526020016000209050868160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008280549050148061093457508667ffffffffffffffff16600183805490506109329190614d92565b105b1561095b578160018160018154018082558091505003906000526020600020905050610908565b86828867ffffffffffffffff168154811061097957610978614bae565b5b906000526020600020906003020160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555085828867ffffffffffffffff16815481106109ce576109cd614bae565b5b906000526020600020906003020160000160086101000a81548163ffffffff021916908363ffffffff16021790555084828867ffffffffffffffff1681548110610a1b57610a1a614bae565b5b9060005260206000209060030201600001600c6101000a81548163ffffffff021916908363ffffffff1602179055506000828867ffffffffffffffff1681548110610a6957610a68614bae565b5b906000526020600020906003020160000160106101000a81548160ff02191690836004811115610a9c57610a9b614bdd565b5b02179055506000600360008a815260200190815260200160002090505b600081805490501480610ae557508767ffffffffffffffff1660018280549050610ae39190614d92565b105b15610b0c578060018160018154018082558091505003906000526020600020905050610ab9565b7f442bd58918c05fbba21640a63d950e0ada0c085917a5c785fe24d66608972bd98989604051610b3d929190614c0c565b60405180910390a1505050505050505050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90614b22565b60405180910390fd5b8484600060026000848152602001908152602001600020905060018180549050118015610c2f57508167ffffffffffffffff168180549050115b610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6590614b8e565b60405180910390fd5b60008686905011610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90614e12565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110610ce557610ce4614bae565b5b9060005260206000209060030201905060005b87879050811015610dc7576000801b8260010160008a8a85818110610d2057610d1f614bae565b5b9050602002016020810190610d3591906146e9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab90614e7e565b60405180910390fd5b8080610dbf90614e9e565b915050610cf8565b5060018160000160106101000a81548160ff02191690836004811115610df057610def614bdd565b5b02179055507f25b2b0a6205a2793a55299d05c21fb9163d38054d6966d101c156acdc2d7c92f89898989604051610e2a9493929190614f83565b60405180910390a1505050505050505050565b610e45613caa565b8282600060026000848152602001908152602001600020905060018180549050118015610e7f57508167ffffffffffffffff168180549050115b610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590614b8e565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff1681548110610eef57610eee614bae565b5b906000526020600020906003020190506040518060a001604052808260000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018260000160089054906101000a900463ffffffff1663ffffffff16815260200182600001600c9054906101000a900463ffffffff1663ffffffff1681526020018260000160109054906101000a900460ff166004811115610f9657610f95614bdd565b5b60ff1681526020018260020180548060200260200160405190810160405280929190818152602001828054801561102257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610fd8575b505050505081525094505050505092915050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290614b22565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561111557508167ffffffffffffffff168180549050115b611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b90614b8e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061118557611184614bae565b5b90600052602060002090600302019050600260048111156111a9576111a8614bdd565b5b8160000160109054906101000a900460ff1660048111156111cd576111cc614bdd565b5b1461120d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112049061500f565b60405180910390fd5b60038160000160106101000a81548160ff0219169083600481111561123557611234614bdd565b5b021790555060005b8787905081101561130c576000801b8260010160008a8a8581811061126557611264614bae565b5b905060200201602081019061127a91906146e9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090614e7e565b60405180910390fd5b808061130490614e9e565b91505061123d565b507fa7c3d5c32db46529b13020e7508c4861d6c00a7b339c33d7ff5d9836dde4287f898989896040516113429493929190614f83565b60405180910390a1505050505050505050565b61135d613cf2565b848460006002600084815260200190815260200160002090506001818054905011801561139757508167ffffffffffffffff168180549050115b6113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90614b8e565b60405180910390fd5b878760006003600084815260200190815260200160002090508167ffffffffffffffff1681805490501161143f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114369061507b565b60405180910390fd5b6000600360008d815260200190815260200160002090508a67ffffffffffffffff16818054905010156114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e9061507b565b60405180910390fd5b6000818c67ffffffffffffffff16815481106114c6576114c5614bae565b5b906000526020600020906002020190508060010160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052908160008201805461156f906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461159b906150ca565b80156115e85780601f106115bd576101008083540402835291602001916115e8565b820191906000526020600020905b8154815290600101906020018083116115cb57829003601f168201915b50505050508152602001600182018054611601906150ca565b80601f016020809104026020016040519081016040528092919081815260200182805461162d906150ca565b801561167a5780601f1061164f5761010080835404028352916020019161167a565b820191906000526020600020905b81548152906001019060200180831161165d57829003601f168201915b50505050508152602001600282018054611693906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546116bf906150ca565b801561170c5780601f106116e15761010080835404028352916020019161170c565b820191906000526020600020905b8154815290600101906020018083116116ef57829003601f168201915b50505050508152602001600382018054611725906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611751906150ca565b801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508152505098505050505050505050949350505050565b6117c1613d1a565b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f90614c81565b60405180910390fd5b600160008481526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546118ec906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054611918906150ca565b80156119655780601f1061193a57610100808354040283529160200191611965565b820191906000526020600020905b81548152906001019060200180831161194857829003601f168201915b5050505050815260200160028201805461197e906150ca565b80601f01602080910402602001604051908101604052809291908181526020018280546119aa906150ca565b80156119f75780601f106119cc576101008083540402835291602001916119f7565b820191906000526020600020905b8154815290600101906020018083116119da57829003601f168201915b50505050508152602001600382015481526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915050919050565b600080600460089054906101000a900467ffffffffffffffff169150600460009054906101000a900467ffffffffffffffff1690509091565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8484600060026000848152602001908152602001600020905060018180549050118015611ae057508167ffffffffffffffff168180549050115b611b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1690614b8e565b60405180910390fd5b600085859050118015611b555750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b611b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8b9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110611bc557611bc4614bae565b5b9060005260206000209060030201905060036004811115611be957611be8614bdd565b5b8160000160109054906101000a900460ff166004811115611c0d57611c0c614bdd565b5b14611c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c44906151da565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff1681548110611c8357611c82614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054611d21906150ca565b905011611d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5a90615246565b60405180910390fd5b60008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054611df1906150ca565b905014611e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2a906152d8565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019190611ec3929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051611efd96959493929190615380565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f979061543b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990614b22565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561213c57508167ffffffffffffffff168180549050115b61217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217290614b8e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106121ac576121ab614bae565b5b90600052602060002090600302019050600160048111156121d0576121cf614bdd565b5b8160000160109054906101000a900460ff1660048111156121f4576121f3614bdd565b5b14612234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222b906154a7565b60405180910390fd5b60028160000160106101000a81548160ff0219169083600481111561225c5761225b614bdd565b5b02179055507fbc9bba2269f8b18f4ff8765379774de8dc70369c61ed47583189768c35d9e58d898989896040516122969493929190614f83565b60405180910390a1505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e9061543b565b60405180910390fd5b80600460006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600084600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561240c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240390614c81565b60405180910390fd5b858560006002600084815260200190815260200160002090506001818054905011801561244657508167ffffffffffffffff168180549050115b612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c90614b8e565b60405180910390fd5b6000600260008b81526020019081526020016000209050600081600183805490506124b09190614d92565b815481106124c1576124c0614bae565b5b906000526020600020906003020190508967ffffffffffffffff16600183805490506124ed9190614d92565b14801561252f57506000600481111561250957612508614bdd565b5b8160000160109054906101000a900460ff16600481111561252d5761252c614bdd565b5b145b61256e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256590615513565b60405180910390fd5b6000801b8160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146125f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ee906155a5565b60405180910390fd5b60405180604001604052808a8152602001898152508160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015590505080600201339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019650505050505050949350505050565b848460006002600084815260200190815260200160002090506001818054905011801561271557508167ffffffffffffffff168180549050115b612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90614b8e565b60405180910390fd5b60008585905011801561278a5750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6127c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c09061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106127fa576127f9614bae565b5b906000526020600020906003020190506001600481111561281e5761281d614bdd565b5b8160000160109054906101000a900460ff16600481111561284257612841614bdd565b5b14612882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287990615611565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff16815481106128b8576128b7614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054612956906150ca565b905014612998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298f906156a3565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019190612a28929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051612a629695949392919061570f565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afc9061543b565b60405180910390fd5b80600460086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b612b39613df2565b8383600060026000848152602001908152602001600020905060018180549050118015612b7357508167ffffffffffffffff168180549050115b612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba990614b8e565b60405180910390fd5b600260008881526020019081526020016000208667ffffffffffffffff1681548110612be157612be0614bae565b5b906000526020600020906003020160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505093505050509392505050565b60608382600060026000848152602001908152602001600020905060018180549050118015612c9657508167ffffffffffffffff168180549050115b612cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ccc90614b8e565b60405180910390fd5b868560006003600084815260200190815260200160002090508167ffffffffffffffff16818054905011612d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d359061507b565b60405180910390fd5b6000600360008c815260200190815260200160002090508867ffffffffffffffff1681805490501015612da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9d9061507b565b60405180910390fd5b6000818a67ffffffffffffffff1681548110612dc557612dc4614bae565b5b906000526020600020906002020190508060000160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612e21906150ca565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4d906150ca565b8015612e9a5780601f10612e6f57610100808354040283529160200191612e9a565b820191906000526020600020905b815481529060010190602001808311612e7d57829003601f168201915b5050505050985050505050505050509392505050565b6000804233868686604051602001612ecc9594939291906157ba565b6040516020818303038152906040528051906020012090506040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001848152602001600067ffffffffffffffff168152506001600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908051906020019061302a929190613e12565b506040820151816002019080519060200190613047929190613e12565b506060820151816003015560808201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050809150600060026000848152602001908152602001600020905080600181600181540180825580915050039060005260206000209050503373ffffffffffffffffffffffffffffffffffffffff167fa18549eb85158cc952d808a07e5f220d767881f3f687aff0f32466231ee0a8be8388888c8c8a60405161310b96959493929190615808565b60405180910390a2505095945050505050565b838360006002600084815260200190815260200160002090506001818054905011801561315857508167ffffffffffffffff168180549050115b613197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318e90614b8e565b60405180910390fd5b6000858590501180156131cd5750600460009054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b61320c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132039061516e565b60405180910390fd5b6000600260008981526020019081526020016000208767ffffffffffffffff168154811061323d5761323c614bae565b5b906000526020600020906003020190506002600481111561326157613260614bdd565b5b8160000160109054906101000a900460ff16600481111561328557613284614bdd565b5b146132c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bc906158ab565b60405180910390fd5b6000600360008a815260200190815260200160002090506000818967ffffffffffffffff16815481106132fb576132fa614bae565b5b9060005260206000209060020201905060008160000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054613359906150ca565b90501461339b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133929061593d565b60405180910390fd5b87878260000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091906133eb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8a8a3360008c8c604051613426969594939291906159a9565b60405180910390a150505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561347457508167ffffffffffffffff168180549050115b6134b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134aa90614b8e565b60405180910390fd5b6000858590501180156134e95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b613528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351f9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061355957613558614bae565b5b906000526020600020906003020190506001600481111561357d5761357c614bdd565b5b8160000160109054906101000a900460ff1660048111156135a1576135a0614bdd565b5b146135e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135d890615611565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff168180549050141561362c5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff168154811061364b5761364a614bae565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030180546136e9906150ca565b90501461372b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613722906152d8565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030191906137bb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c6040516137f596959493929190615a64565b60405180910390a15050505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561384457508167ffffffffffffffff168180549050115b613883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387a90614b8e565b60405180910390fd5b6000858590501180156138b95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6138f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138ef9061516e565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061392957613928614bae565b5b906000526020600020906003020190506003600481111561394d5761394c614bdd565b5b8160000160109054906101000a900460ff16600481111561397157613970614bdd565b5b146139b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a8906151da565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff16818054905014156139fc5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff1681548110613a1b57613a1a614bae565b5b9060005260206000209060020201905060008160010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018054613ab9906150ca565b905011613afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af290615246565b60405180910390fd5b60008160010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054613b89906150ca565b905014613bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc290615b45565b60405180910390fd5b87878260010160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019190613c5b929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b8b338c8c604051613c9596959493929190615bb1565b60405180910390a15050505050505050505050565b6040518060a00160405280600067ffffffffffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600060ff168152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016060815260200160008019168152602001600067ffffffffffffffff1681525090565b828054613d78906150ca565b90600052602060002090601f016020900481019282613d9a5760008555613de1565b82601f10613db357803560ff1916838001178555613de1565b82800160010185558215613de1579182015b82811115613de0578235825591602001919060010190613dc5565b5b509050613dee9190613e98565b5090565b604051806040016040528060008019168152602001600080191681525090565b828054613e1e906150ca565b90600052602060002090601f016020900481019282613e405760008555613e87565b82601f10613e5957805160ff1916838001178555613e87565b82800160010185558215613e87579182015b82811115613e86578251825591602001919060010190613e6b565b5b509050613e949190613e98565b5090565b5b80821115613eb1576000816000905550600101613e99565b5090565b600080fd5b600080fd5b6000819050919050565b613ed281613ebf565b8114613edd57600080fd5b50565b600081359050613eef81613ec9565b92915050565b600067ffffffffffffffff82169050919050565b613f1281613ef5565b8114613f1d57600080fd5b50565b600081359050613f2f81613f09565b92915050565b60008060408385031215613f4c57613f4b613eb5565b5b6000613f5a85828601613ee0565b9250506020613f6b85828601613f20565b9150509250929050565b600063ffffffff82169050919050565b613f8e81613f75565b8114613f9957600080fd5b50565b600081359050613fab81613f85565b92915050565b60008060008060808587031215613fcb57613fca613eb5565b5b6000613fd987828801613ee0565b9450506020613fea87828801613f20565b9350506040613ffb87828801613f9c565b925050606061400c87828801613f9c565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f84011261403d5761403c614018565b5b8235905067ffffffffffffffff81111561405a5761405961401d565b5b60208301915083602082028301111561407657614075614022565b5b9250929050565b6000806000806060858703121561409757614096613eb5565b5b60006140a587828801613ee0565b94505060206140b687828801613f20565b935050604085013567ffffffffffffffff8111156140d7576140d6613eba565b5b6140e387828801614027565b925092505092959194509250565b6140fa81613ef5565b82525050565b61410981613f75565b82525050565b600060ff82169050919050565b6141258161410f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061418282614157565b9050919050565b61419281614177565b82525050565b60006141a48383614189565b60208301905092915050565b6000602082019050919050565b60006141c88261412b565b6141d28185614136565b93506141dd83614147565b8060005b8381101561420e5781516141f58882614198565b9750614200836141b0565b9250506001810190506141e1565b5085935050505092915050565b600060a08301600083015161423360008601826140f1565b5060208301516142466020860182614100565b5060408301516142596040860182614100565b50606083015161426c606086018261411c565b506080830151848203608086015261428482826141bd565b9150508091505092915050565b600060208201905081810360008301526142ab818461421b565b905092915050565b6142bc81614177565b81146142c757600080fd5b50565b6000813590506142d9816142b3565b92915050565b600080600080608085870312156142f9576142f8613eb5565b5b600061430787828801613ee0565b945050602061431887828801613f20565b9350506040614329878288016142ca565b925050606061433a878288016142ca565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015614380578082015181840152602081019050614365565b8381111561438f576000848401525b50505050565b6000601f19601f8301169050919050565b60006143b182614346565b6143bb8185614351565b93506143cb818560208601614362565b6143d481614395565b840191505092915050565b600060808301600083015184820360008601526143fc82826143a6565b9150506020830151848203602086015261441682826143a6565b9150506040830151848203604086015261443082826143a6565b9150506060830151848203606086015261444a82826143a6565b9150508091505092915050565b6000602082019050818103600083015261447181846143df565b905092915050565b60006020828403121561448f5761448e613eb5565b5b600061449d84828501613ee0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006144cd826144a6565b6144d781856144b1565b93506144e7818560208601614362565b6144f081614395565b840191505092915050565b61450481613ebf565b82525050565b600060a0830160008301516145226000860182614189565b506020830151848203602086015261453a82826144c2565b9150506040830151848203604086015261455482826144c2565b915050606083015161456960608601826144fb565b50608083015161457c60808601826140f1565b508091505092915050565b600060208201905081810360008301526145a1818461450a565b905092915050565b6145b281613ef5565b82525050565b60006040820190506145cd60008301856145a9565b6145da60208301846145a9565b9392505050565b6145ea81614177565b82525050565b600060208201905061460560008301846145e1565b92915050565b60008083601f84011261462157614620614018565b5b8235905067ffffffffffffffff81111561463e5761463d61401d565b5b60208301915083600182028301111561465a57614659614022565b5b9250929050565b60008060008060006080868803121561467d5761467c613eb5565b5b600061468b88828901613ee0565b955050602061469c88828901613f20565b94505060406146ad888289016142ca565b935050606086013567ffffffffffffffff8111156146ce576146cd613eba565b5b6146da8882890161460b565b92509250509295509295909350565b6000602082840312156146ff576146fe613eb5565b5b600061470d848285016142ca565b91505092915050565b60006020828403121561472c5761472b613eb5565b5b600061473a84828501613f20565b91505092915050565b6000806000806080858703121561475d5761475c613eb5565b5b600061476b87828801613ee0565b945050602061477c87828801613f20565b935050604061478d87828801613ee0565b925050606061479e87828801613ee0565b91505092959194509250565b60008115159050919050565b6147bf816147aa565b82525050565b60006020820190506147da60008301846147b6565b92915050565b6000806000606084860312156147f9576147f8613eb5565b5b600061480786828701613ee0565b935050602061481886828701613f20565b9250506040614829868287016142ca565b9150509250925092565b60408201600082015161484960008501826144fb565b50602082015161485c60208501826144fb565b50505050565b60006040820190506148776000830184614833565b92915050565b60008060006060848603121561489657614895613eb5565b5b60006148a486828701613ee0565b93505060206148b5868287016142ca565b92505060406148c686828701613f20565b9150509250925092565b600082825260208201905092915050565b60006148ec82614346565b6148f681856148d0565b9350614906818560208601614362565b61490f81614395565b840191505092915050565b6000602082019050818103600083015261493481846148e1565b905092915050565b60008083601f84011261495257614951614018565b5b8235905067ffffffffffffffff81111561496f5761496e61401d565b5b60208301915083600182028301111561498b5761498a614022565b5b9250929050565b6000806000806000606086880312156149ae576149ad613eb5565b5b600086013567ffffffffffffffff8111156149cc576149cb613eba565b5b6149d88882890161493c565b9550955050602086013567ffffffffffffffff8111156149fb576149fa613eba565b5b614a078882890161493c565b93509350506040614a1a88828901613ee0565b9150509295509295909350565b614a3081613ebf565b82525050565b6000602082019050614a4b6000830184614a27565b92915050565b60008060008060608587031215614a6b57614a6a613eb5565b5b6000614a7987828801613ee0565b9450506020614a8a87828801613f20565b935050604085013567ffffffffffffffff811115614aab57614aaa613eba565b5b614ab78782880161460b565b925092505092959194509250565b600082825260208201905092915050565b7f4d7573742063616c6c656420627920746865207461736b206f776e6572000000600082015250565b6000614b0c601d83614ac5565b9150614b1782614ad6565b602082019050919050565b60006020820190508181036000830152614b3b81614aff565b9050919050565b7f7468697320726f756e6420646f6573206e6f7420657869737400000000000000600082015250565b6000614b78601983614ac5565b9150614b8382614b42565b602082019050919050565b60006020820190508181036000830152614ba781614b6b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000604082019050614c216000830185614a27565b614c2e60208301846145a9565b9392505050565b7f5461736b206e6f74206578697374730000000000000000000000000000000000600082015250565b6000614c6b600f83614ac5565b9150614c7682614c35565b602082019050919050565b60006020820190508181036000830152614c9a81614c5e565b9050919050565b7f74686520726f756e6420686173206265656e20616c726561647920737461727460008201527f6564206f72207468652070726520726f756e6420646f6573206e6f742065786960208201527f7374000000000000000000000000000000000000000000000000000000000000604082015250565b6000614d23604283614ac5565b9150614d2e82614ca1565b606082019050919050565b60006020820190508181036000830152614d5281614d16565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614d9d82614d59565b9150614da883614d59565b925082821015614dbb57614dba614d63565b5b828203905092915050565b7f4d7573742070726f766964652061646472657373657300000000000000000000600082015250565b6000614dfc601683614ac5565b9150614e0782614dc6565b602082019050919050565b60006020820190508181036000830152614e2b81614def565b9050919050565b7f43616e646964617465206d757374206578697374000000000000000000000000600082015250565b6000614e68601483614ac5565b9150614e7382614e32565b602082019050919050565b60006020820190508181036000830152614e9781614e5b565b9050919050565b6000614ea982614d59565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614edc57614edb614d63565b5b600182019050919050565b600082825260208201905092915050565b6000819050919050565b6000614f1160208401846142ca565b905092915050565b6000602082019050919050565b6000614f328385614ee7565b9350614f3d82614ef8565b8060005b85811015614f7657614f538284614f02565b614f5d8882614198565b9750614f6883614f19565b925050600181019050614f41565b5085925050509392505050565b6000606082019050614f986000830187614a27565b614fa560208301866145a9565b8181036040830152614fb8818486614f26565b905095945050505050565b7f43616c63756c6174696e6720686173206e6f7420737461727465640000000000600082015250565b6000614ff9601b83614ac5565b915061500482614fc3565b602082019050919050565b6000602082019050818103600083015261502881614fec565b9050919050565b7f546865205461736b20526f756e64204d75737420657869737473000000000000600082015250565b6000615065601a83614ac5565b91506150708261502f565b602082019050919050565b6000602082019050818103600083015261509481615058565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806150e257607f821691505b602082108114156150f6576150f561509b565b5b50919050565b7f636f6d6d69746d656e74206c656e6774682065786365656473206c696d69742060008201527f6f7220697420697320656d707479000000000000000000000000000000000000602082015250565b6000615158602e83614ac5565b9150615163826150fc565b604082019050919050565b600060208201905081810360008301526151878161514b565b9050919050565b7f6e6f7420696e2075706c6f616420737320706861736500000000000000000000600082015250565b60006151c4601683614ac5565b91506151cf8261518e565b602082019050919050565b600060208201905081810360008301526151f3816151b7565b9050919050565b7f6d7573742075706c6f616420636f6d6d69746d656e7420666972737400000000600082015250565b6000615230601c83614ac5565b915061523b826151fa565b602082019050919050565b6000602082019050818103600083015261525f81615223565b9050919050565b7f63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6560008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006152c2602183614ac5565b91506152cd82615266565b604082019050919050565b600060208201905081810360008301526152f1816152b5565b9050919050565b7f5345454400000000000000000000000000000000000000000000000000000000600082015250565b600061532e600483614ac5565b9150615339826152f8565b602082019050919050565b82818337600083830152505050565b600061535f83856148d0565b935061536c838584615344565b61537583614395565b840190509392505050565b600060c0820190506153956000830189614a27565b6153a260208301886145a9565b6153af60408301876145e1565b6153bc60608301866145e1565b81810360808301526153cd81615321565b905081810360a08301526153e2818486615353565b9050979650505050505050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b6000615425601383614ac5565b9150615430826153ef565b602082019050919050565b6000602082019050818103600083015261545481615418565b9050919050565b7f5468697320726f756e64206973206e6f742072756e6e696e67206e6f77000000600082015250565b6000615491601d83614ac5565b915061549c8261545b565b602082019050919050565b600060208201905081810360008301526154c081615484565b9050919050565b7f6a6f696e20706861736520686173207061737365640000000000000000000000600082015250565b60006154fd601583614ac5565b9150615508826154c7565b602082019050919050565b6000602082019050818103600083015261552c816154f0565b9050919050565b7f43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c746960008201527f706c652074696d65730000000000000000000000000000000000000000000000602082015250565b600061558f602983614ac5565b915061559a82615533565b604082019050919050565b600060208201905081810360008301526155be81615582565b9050919050565b7f6e6f7420696e207365637265742073686172696e672070686173650000000000600082015250565b60006155fb601b83614ac5565b9150615606826155c5565b602082019050919050565b6000602082019050818103600083015261562a816155ee565b9050919050565b7f63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c6560008201527f2074696d65730000000000000000000000000000000000000000000000000000602082015250565b600061568d602683614ac5565b915061569882615631565b604082019050919050565b600060208201905081810360008301526156bc81615680565b9050919050565b7f53454544434d4d54000000000000000000000000000000000000000000000000600082015250565b60006156f9600883614ac5565b9150615704826156c3565b602082019050919050565b600060c0820190506157246000830189614a27565b61573160208301886145a9565b61573e60408301876145e1565b61574b60608301866145e1565b818103608083015261575c816156ec565b905081810360a0830152615771818486615353565b9050979650505050505050565b61578781614d59565b82525050565b60006157998385614ac5565b93506157a6838584615344565b6157af83614395565b840190509392505050565b60006080820190506157cf600083018861577e565b6157dc60208301876145e1565b81810360408301526157ef81858761578d565b90506157fe6060830184614a27565b9695505050505050565b600060808201905061581d6000830189614a27565b818103602083015261583081878961578d565b9050818103604083015261584581858761578d565b90506158546060830184614a27565b979650505050505050565b7f6e6f7420696e2075706c6f6164696e6720706861736500000000000000000000600082015250565b6000615895601683614ac5565b91506158a08261585f565b602082019050919050565b600060208201905081810360008301526158c481615888565b9050919050565b7f63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d60008201527f756c7469706c652074696d657300000000000000000000000000000000000000602082015250565b6000615927602d83614ac5565b9150615932826158cb565b604082019050919050565b600060208201905081810360008301526159568161591a565b9050919050565b7f5745494748540000000000000000000000000000000000000000000000000000600082015250565b6000615993600683614ac5565b915061599e8261595d565b602082019050919050565b600060c0820190506159be6000830189614a27565b6159cb60208301886145a9565b6159d860408301876145e1565b6159e560608301866145e1565b81810360808301526159f681615986565b905081810360a0830152615a0b818486615353565b9050979650505050505050565b7f534b4d41534b434d4d5400000000000000000000000000000000000000000000600082015250565b6000615a4e600a83614ac5565b9150615a5982615a18565b602082019050919050565b600060c082019050615a796000830189614a27565b615a8660208301886145a9565b615a9360408301876145e1565b615aa060608301866145e1565b8181036080830152615ab181615a41565b905081810360a0830152615ac6818486615353565b9050979650505050505050565b7f63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c6520746960008201527f6d65730000000000000000000000000000000000000000000000000000000000602082015250565b6000615b2f602383614ac5565b9150615b3a82615ad3565b604082019050919050565b60006020820190508181036000830152615b5e81615b22565b9050919050565b7f534b4d41534b0000000000000000000000000000000000000000000000000000600082015250565b6000615b9b600683614ac5565b9150615ba682615b65565b602082019050919050565b600060c082019050615bc66000830189614a27565b615bd360208301886145a9565b615be060408301876145e1565b615bed60608301866145e1565b8181036080830152615bfe81615b8e565b905081810360a0830152615c13818486615353565b905097965050505050505056fea264697066735822122060dfdc0b074b91d9cb863d57eccf4ededc3500ba4d91cb7a24b8d49a8151e22964736f6c634300080a0033", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:60312:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:2", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:2" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:2" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:2", + "type": "" + } + ], + "src": "7:75:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:2" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:2" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "379:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "389:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "400:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "389:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "361:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "371:7:2", + "type": "" + } + ], + "src": "334:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "460:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "517:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "526:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "529:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "519:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "519:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "519:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "483:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "508:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "490:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "490:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "480:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "480:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "473:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "473:43:2" + }, + "nodeType": "YulIf", + "src": "470:63:2" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "453:5:2", + "type": "" + } + ], + "src": "417:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "597:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "607:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "629:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "616:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "616:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "607:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "672:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "645:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "645:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "645:33:2" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "575:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "583:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "591:5:2", + "type": "" + } + ], + "src": "545:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "734:57:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "744:41:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "759:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "766:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "755:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "755:30:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "744:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "716:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "726:7:2", + "type": "" + } + ], + "src": "690:101:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "839:78:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "895:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "904:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "907:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "897:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "897:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "897:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "862:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "886:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint64", + "nodeType": "YulIdentifier", + "src": "869:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "869:23:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "859:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "859:34:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "852:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "852:42:2" + }, + "nodeType": "YulIf", + "src": "849:62:2" + } + ] + }, + "name": "validator_revert_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "832:5:2", + "type": "" + } + ], + "src": "797:120:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "974:86:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "984:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1006:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "993:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "993:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "984:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1048:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_uint64", + "nodeType": "YulIdentifier", + "src": "1022:25:2" + }, + "nodeType": "YulFunctionCall", + "src": "1022:32:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1022:32:2" + } + ] + }, + "name": "abi_decode_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "952:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "960:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "968:5:2", + "type": "" + } + ], + "src": "923:137:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1148:390:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1194:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "1196:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "1196:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1196:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1169:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1178:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1165:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1165:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1190:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1161:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1161:32:2" + }, + "nodeType": "YulIf", + "src": "1158:119:2" + }, + { + "nodeType": "YulBlock", + "src": "1287:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1302:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1316:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1306:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1331:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1366:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1377:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1362:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1362:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1386:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "1341:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "1341:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1331:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1414:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1429:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1443:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1433:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1459:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1493:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1504:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1489:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1489:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1513:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "1469:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "1469:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1459:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1110:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1121:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1133:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1141:6:2", + "type": "" + } + ], + "src": "1066:472:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1588:49:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1598:33:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1613:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1620:10:2", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1609:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "1609:22:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1598:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1570:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1580:7:2", + "type": "" + } + ], + "src": "1544:93:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1685:78:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1741:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1750:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1753:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1743:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1743:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1743:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1708:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1732:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint32", + "nodeType": "YulIdentifier", + "src": "1715:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "1715:23:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1705:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "1705:34:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1698:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "1698:42:2" + }, + "nodeType": "YulIf", + "src": "1695:62:2" + } + ] + }, + "name": "validator_revert_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1678:5:2", + "type": "" + } + ], + "src": "1643:120:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1820:86:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1830:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1852:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1839:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "1839:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1830:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1894:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_uint32", + "nodeType": "YulIdentifier", + "src": "1868:25:2" + }, + "nodeType": "YulFunctionCall", + "src": "1868:32:2" + }, + "nodeType": "YulExpressionStatement", + "src": "1868:32:2" + } + ] + }, + "name": "abi_decode_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1798:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1806:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1814:5:2", + "type": "" + } + ], + "src": "1769:137:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2026:645:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2073:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2075:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "2075:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2075:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2047:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2056:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2043:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2043:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2068:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2039:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2039:33:2" + }, + "nodeType": "YulIf", + "src": "2036:120:2" + }, + { + "nodeType": "YulBlock", + "src": "2166:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2181:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2195:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2185:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2210:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2245:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2256:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2241:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2241:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2265:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "2220:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "2220:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2210:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2293:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2308:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2322:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2312:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2338:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2372:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2383:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2368:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2368:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2392:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "2348:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "2348:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2338:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2420:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2435:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2449:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2439:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2465:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2499:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2510:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2495:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2495:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2519:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint32", + "nodeType": "YulIdentifier", + "src": "2475:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "2475:52:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2465:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2547:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2562:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2576:2:2", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2566:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2592:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2626:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2637:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2622:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "2622:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2646:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint32", + "nodeType": "YulIdentifier", + "src": "2602:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "2602:52:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "2592:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_uint32t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1972:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1983:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1995:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2003:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2011:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "2019:6:2", + "type": "" + } + ], + "src": "1912:759:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2766:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2783:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2786:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2776:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2776:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2776:12:2" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "2677:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2889:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2906:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2909:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2899:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "2899:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "2899:12:2" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "2800:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3012:28:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3029:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3032:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3022:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3022:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3022:12:2" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "2923:117:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3153:478:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3202:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "3204:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "3204:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3204:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3181:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3189:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3177:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3177:17:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3196:3:2" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3173:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3173:27:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3166:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "3166:35:2" + }, + "nodeType": "YulIf", + "src": "3163:122:2" + }, + { + "nodeType": "YulAssignment", + "src": "3294:30:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3317:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3304:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "3304:20:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3294:6:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3367:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "3369:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "3369:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3369:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3339:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3347:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3336:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "3336:30:2" + }, + "nodeType": "YulIf", + "src": "3333:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "3459:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3475:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3483:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3471:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3471:17:2" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "3459:8:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3542:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "3544:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "3544:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3544:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "3507:8:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3521:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3529:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "3517:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3517:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3503:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3503:32:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3537:3:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3500:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "3500:41:2" + }, + "nodeType": "YulIf", + "src": "3497:128:2" + } + ] + }, + "name": "abi_decode_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3120:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3128:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "3136:8:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3146:6:2", + "type": "" + } + ], + "src": "3063:568:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3771:713:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3817:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3819:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "3819:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "3819:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3792:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3801:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3788:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3788:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3813:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3784:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3784:32:2" + }, + "nodeType": "YulIf", + "src": "3781:119:2" + }, + { + "nodeType": "YulBlock", + "src": "3910:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3925:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3939:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3929:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3954:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3989:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4000:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3985:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3985:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4009:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3964:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "3964:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3954:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4037:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4052:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4066:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4056:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4082:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4116:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4127:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4112:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4112:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4136:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "4092:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "4092:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4082:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4164:313:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4179:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4210:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4221:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4206:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4206:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4193:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "4193:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4183:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4272:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "4274:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "4274:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4274:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4244:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4252:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4241:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "4241:30:2" + }, + "nodeType": "YulIf", + "src": "4238:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "4369:98:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4439:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4450:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4435:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4435:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4459:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "4387:47:2" + }, + "nodeType": "YulFunctionCall", + "src": "4387:80:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4369:6:2" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4377:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3717:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3728:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3740:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3748:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3756:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "3764:6:2", + "type": "" + } + ], + "src": "3637:847:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4543:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4560:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4582:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint64", + "nodeType": "YulIdentifier", + "src": "4565:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "4565:23:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4553:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4553:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4553:36:2" + } + ] + }, + "name": "abi_encode_t_uint64_to_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4531:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4538:3:2", + "type": "" + } + ], + "src": "4490:105:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4654:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4671:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4693:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint32", + "nodeType": "YulIdentifier", + "src": "4676:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "4676:23:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4664:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4664:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4664:36:2" + } + ] + }, + "name": "abi_encode_t_uint32_to_t_uint32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4642:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4649:3:2", + "type": "" + } + ], + "src": "4601:105:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4755:43:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4765:27:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4780:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4787:4:2", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4776:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4776:16:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4765:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4737:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4747:7:2", + "type": "" + } + ], + "src": "4712:86:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4855:51:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4872:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4893:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "4877:15:2" + }, + "nodeType": "YulFunctionCall", + "src": "4877:22:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4865:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "4865:35:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4865:35:2" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4843:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4850:3:2", + "type": "" + } + ], + "src": "4804:102:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4986:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4997:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5013:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5007:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "5007:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4997:6:2" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4969:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4979:6:2", + "type": "" + } + ], + "src": "4912:114:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5133:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5150:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5155:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5143:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5143:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5143:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "5171:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5190:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5195:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5186:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5186:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "5171:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5105:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5110:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "5121:11:2", + "type": "" + } + ], + "src": "5032:174:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5284:60:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5294:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "5302:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5294:4:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5315:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "5327:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5332:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5323:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5323:14:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5315:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "5271:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "5279:4:2", + "type": "" + } + ], + "src": "5212:132:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5395:81:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5405:65:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5420:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5427:42:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5416:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5416:54:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5405:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5377:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5387:7:2", + "type": "" + } + ], + "src": "5350:126:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5527:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5537:35:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5566:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "5548:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "5548:24:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5537:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5509:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5519:7:2", + "type": "" + } + ], + "src": "5482:96:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5639:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5656:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5679:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "5661:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "5661:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5649:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "5649:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5649:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5627:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5634:3:2", + "type": "" + } + ], + "src": "5584:108:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5778:99:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5822:6:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5830:3:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "5788:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "5788:46:2" + }, + "nodeType": "YulExpressionStatement", + "src": "5788:46:2" + }, + { + "nodeType": "YulAssignment", + "src": "5843:28:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5861:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5866:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5857:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5857:14:2" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "5843:10:2" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5751:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5759:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "5767:10:2", + "type": "" + } + ], + "src": "5698:179:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5958:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5968:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "5980:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5985:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5976:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "5976:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "5968:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "5945:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "5953:4:2", + "type": "" + } + ], + "src": "5883:113:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6146:598:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6156:68:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6218:5:2" + } + ], + "functionName": { + "name": "array_length_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6170:47:2" + }, + "nodeType": "YulFunctionCall", + "src": "6170:54:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6160:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6233:83:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6304:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6309:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6240:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "6240:76:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6233:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6325:71:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6390:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6340:49:2" + }, + "nodeType": "YulFunctionCall", + "src": "6340:56:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "6329:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6405:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "6419:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "6409:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6495:224:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6509:34:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "6536:6:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6530:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "6530:13:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "6513:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6556:70:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "6607:13:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6622:3:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "6563:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "6563:63:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6556:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6639:70:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "6702:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "6649:52:2" + }, + "nodeType": "YulFunctionCall", + "src": "6649:60:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "6639:6:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6457:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6460:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6454:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "6454:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "6468:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6470:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6479:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6482:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6475:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "6475:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6470:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "6439:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6441:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6450:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "6445:1:2", + "type": "" + } + ] + } + ] + }, + "src": "6435:284:2" + }, + { + "nodeType": "YulAssignment", + "src": "6728:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6735:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6728:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6125:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6132:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6141:3:2", + "type": "" + } + ], + "src": "6032:712:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6998:1051:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7008:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7024:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7029:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7020:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7020:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7012:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7044:170:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7087:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7117:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7124:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7113:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7113:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7107:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7107:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "7091:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "7175:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7193:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7198:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7189:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7189:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64", + "nodeType": "YulIdentifier", + "src": "7143:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "7143:61:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7143:61:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7224:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7264:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7294:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7301:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7290:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7290:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7284:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7284:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "7268:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "7352:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7370:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7375:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7366:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7366:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint32_to_t_uint32", + "nodeType": "YulIdentifier", + "src": "7320:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "7320:61:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7320:61:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7401:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7441:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7471:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7478:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7467:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7467:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7461:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7461:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "7445:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "7529:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7547:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7552:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7543:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7543:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint32_to_t_uint32", + "nodeType": "YulIdentifier", + "src": "7497:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "7497:61:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7497:61:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7578:162:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7615:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7645:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7652:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7641:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7641:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7635:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7635:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "7619:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "7701:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7719:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7724:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7715:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7715:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "7671:29:2" + }, + "nodeType": "YulFunctionCall", + "src": "7671:59:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7671:59:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7750:272:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7792:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7822:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7829:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7818:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7818:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7812:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "7812:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "7796:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7860:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7865:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7856:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7856:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7876:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7882:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7872:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "7872:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7849:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "7849:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "7849:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "7900:111:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "7992:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8006:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7908:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "7908:103:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7900:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8032:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8039:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8032:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6977:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6984:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6993:3:2", + "type": "" + } + ], + "src": "6848:1201:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8229:251:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8239:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8251:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8262:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8247:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8247:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8239:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8286:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8297:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8282:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8282:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8305:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8311:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8301:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8301:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8275:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8275:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8275:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "8331:142:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8459:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8468:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8339:119:2" + }, + "nodeType": "YulFunctionCall", + "src": "8339:134:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8331:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr__to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8201:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8213:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8224:4:2", + "type": "" + } + ], + "src": "8055:425:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8529:79:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8586:16:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8595:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8598:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8588:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8588:12:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8588:12:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8552:5:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8577:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "8559:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "8559:24:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8549:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "8549:35:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8542:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "8542:43:2" + }, + "nodeType": "YulIf", + "src": "8539:63:2" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8522:5:2", + "type": "" + } + ], + "src": "8486:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8666:87:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8676:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8698:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8685:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "8685:20:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8676:5:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8741:5:2" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "8714:26:2" + }, + "nodeType": "YulFunctionCall", + "src": "8714:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8714:33:2" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8644:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8652:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8660:5:2", + "type": "" + } + ], + "src": "8614:139:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8875:647:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8922:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "8924:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "8924:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "8924:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8896:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8905:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8892:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8892:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8917:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8888:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "8888:33:2" + }, + "nodeType": "YulIf", + "src": "8885:120:2" + }, + { + "nodeType": "YulBlock", + "src": "9015:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9030:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9044:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9034:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9059:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9094:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9105:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9090:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9090:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9114:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "9069:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9069:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9059:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9142:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9157:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9171:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9161:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9187:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9221:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9232:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9217:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9217:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9241:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "9197:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "9197:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9187:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9269:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9284:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9298:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9288:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9314:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9349:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9360:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9345:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9345:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9369:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9324:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9324:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9314:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "9397:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9412:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9426:2:2", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9416:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9442:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9477:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9488:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9473:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9473:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9497:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "9452:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "9452:53:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9442:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8821:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8832:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8844:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8852:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8860:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "8868:6:2", + "type": "" + } + ], + "src": "8759:763:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9586:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9597:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9613:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9607:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "9607:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9597:6:2" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9569:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9579:6:2", + "type": "" + } + ], + "src": "9528:98:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9717:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9734:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9739:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9727:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "9727:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "9727:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "9755:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9774:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9779:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9770:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9770:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "9755:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9689:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9694:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "9705:11:2", + "type": "" + } + ], + "src": "9632:158:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9845:258:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9855:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9864:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "9859:1:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9924:63:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9949:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9954:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9945:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9945:11:2" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9968:3:2" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9973:1:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9964:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9964:11:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9958:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "9958:18:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9938:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "9938:39:2" + }, + "nodeType": "YulExpressionStatement", + "src": "9938:39:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9885:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9888:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "9882:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "9882:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "9896:19:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9898:15:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9907:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9910:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9903:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "9903:10:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "9898:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "9878:3:2", + "statements": [] + }, + "src": "9874:113:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10021:76:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10071:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10076:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10067:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10067:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10085:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10060:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "10060:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10060:27:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10002:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10005:6:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9999:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "9999:13:2" + }, + "nodeType": "YulIf", + "src": "9996:101:2" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "9827:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "9832:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9837:6:2", + "type": "" + } + ], + "src": "9796:307:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10157:54:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10167:38:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10185:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10192:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10181:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10181:14:2" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10201:2:2", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "10197:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10197:7:2" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10177:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10177:28:2" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "10167:6:2" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10140:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "10150:6:2", + "type": "" + } + ], + "src": "10109:102:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10297:260:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10307:52:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10353:5:2" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10321:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "10321:38:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10311:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10368:67:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10423:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10428:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10375:47:2" + }, + "nodeType": "YulFunctionCall", + "src": "10375:60:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10368:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10470:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10477:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10466:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10466:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10484:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10489:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "10444:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "10444:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10444:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "10505:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10516:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10543:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "10521:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "10521:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10512:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10512:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10505:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10278:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10285:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10293:3:2", + "type": "" + } + ], + "src": "10217:340:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10749:1079:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10759:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10775:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10780:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10771:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10771:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10763:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10795:238:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10835:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10865:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10872:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10861:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10861:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10855:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "10855:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10839:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10903:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10908:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10899:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10899:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10919:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10925:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10915:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "10915:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10892:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "10892:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "10892:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "10943:79:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11003:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11017:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10951:51:2" + }, + "nodeType": "YulFunctionCall", + "src": "10951:71:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10943:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11043:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11088:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11118:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11125:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11114:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11114:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11108:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "11108:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11092:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11156:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11161:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11152:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11152:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11172:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11178:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11168:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11168:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11145:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11145:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11145:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "11196:79:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11256:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11270:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11204:51:2" + }, + "nodeType": "YulFunctionCall", + "src": "11204:71:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11196:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11296:243:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11341:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11371:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11378:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11367:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11367:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11361:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "11361:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11345:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11409:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11414:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11405:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11405:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11425:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11431:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11421:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11421:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11398:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11398:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11398:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "11449:79:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11509:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11523:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11457:51:2" + }, + "nodeType": "YulFunctionCall", + "src": "11457:71:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11449:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11549:252:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11603:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11633:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11640:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11629:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11629:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "11623:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "11623:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "11607:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11671:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11676:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11667:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11667:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11687:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11693:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11683:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11683:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11660:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "11660:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "11660:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "11711:79:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "11771:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11785:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11719:51:2" + }, + "nodeType": "YulFunctionCall", + "src": "11719:71:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11711:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11811:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11818:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11811:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_SSData_$100_memory_ptr_to_t_struct$_SSData_$100_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10728:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10735:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10744:3:2", + "type": "" + } + ], + "src": "10629:1199:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11978:221:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11988:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12000:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12011:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11996:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "11996:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11988:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12035:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12046:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12031:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12031:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12054:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12060:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12050:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12050:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12024:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12024:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12024:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "12080:112:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12178:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12187:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_SSData_$100_memory_ptr_to_t_struct$_SSData_$100_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12088:89:2" + }, + "nodeType": "YulFunctionCall", + "src": "12088:104:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12080:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_SSData_$100_memory_ptr__to_t_struct$_SSData_$100_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11950:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11962:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11973:4:2", + "type": "" + } + ], + "src": "11834:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12271:263:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12317:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12319:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "12319:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12319:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12292:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12301:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12288:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12288:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12313:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12284:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12284:32:2" + }, + "nodeType": "YulIf", + "src": "12281:119:2" + }, + { + "nodeType": "YulBlock", + "src": "12410:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12425:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12439:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12429:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12454:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12489:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12500:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12485:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12485:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12509:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "12464:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "12464:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12454:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12241:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12252:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12264:6:2", + "type": "" + } + ], + "src": "12205:329:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12599:40:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12610:22:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12626:5:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12620:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "12620:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12610:6:2" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12582:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12592:6:2", + "type": "" + } + ], + "src": "12540:99:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12731:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12748:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12753:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12741:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "12741:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "12741:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "12769:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12788:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12793:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12784:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "12784:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "12769:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12703:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12708:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "12719:11:2", + "type": "" + } + ], + "src": "12645:159:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12892:262:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12902:53:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12949:5:2" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12916:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "12916:39:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12906:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12964:68:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13020:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13025:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12971:48:2" + }, + "nodeType": "YulFunctionCall", + "src": "12971:61:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12964:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13067:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13074:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13063:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13063:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13081:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13086:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "13041:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "13041:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13041:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "13102:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13113:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13140:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "13118:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "13118:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13109:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13109:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13102:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12873:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12880:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12888:3:2", + "type": "" + } + ], + "src": "12810:344:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13215:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13232:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13255:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "13237:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "13237:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13225:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "13225:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13225:37:2" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13203:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13210:3:2", + "type": "" + } + ], + "src": "13160:108:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13450:1099:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13460:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13476:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13481:4:2", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13472:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13472:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13464:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13496:167:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13534:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13564:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13571:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13560:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13560:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13554:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "13554:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "13538:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "13624:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13642:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13647:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13638:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13638:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "13590:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "13590:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13590:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13673:241:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13714:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13744:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13751:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13740:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13740:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13734:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "13734:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "13718:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13782:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13787:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13778:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13778:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13798:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13804:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13794:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13794:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13771:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "13771:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "13771:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "13822:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "13884:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13898:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13830:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "13830:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13822:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "13924:238:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13962:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13992:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13999:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13988:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "13988:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13982:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "13982:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "13966:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14030:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14035:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14026:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14026:14:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14046:4:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14052:3:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14042:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14042:14:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14019:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "14019:38:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14019:38:2" + }, + { + "nodeType": "YulAssignment", + "src": "14070:81:2", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "14132:12:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14146:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14078:53:2" + }, + "nodeType": "YulFunctionCall", + "src": "14078:73:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14070:4:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14172:170:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14213:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14243:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14250:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14239:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14239:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14233:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "14233:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "14217:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "14303:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14321:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14326:4:2", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14317:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14317:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nodeType": "YulIdentifier", + "src": "14269:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "14269:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14269:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14352:170:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14395:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14425:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14432:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14421:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14421:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "14415:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "14415:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "14399:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "14483:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14501:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14506:4:2", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14497:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14497:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64", + "nodeType": "YulIdentifier", + "src": "14451:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "14451:61:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14451:61:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14532:11:2", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14539:4:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14532:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_Task_$56_memory_ptr_to_t_struct$_Task_$56_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13429:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13436:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13445:3:2", + "type": "" + } + ], + "src": "13336:1213:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14693:215:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14703:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14715:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14726:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14711:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14711:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14703:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14750:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14761:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14746:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14746:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14769:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14775:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14765:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "14765:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14739:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "14739:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14739:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "14795:106:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14887:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14896:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Task_$56_memory_ptr_to_t_struct$_Task_$56_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14803:83:2" + }, + "nodeType": "YulFunctionCall", + "src": "14803:98:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14795:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Task_$56_memory_ptr__to_t_struct$_Task_$56_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14665:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14677:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14688:4:2", + "type": "" + } + ], + "src": "14555:353:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14977:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14994:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15016:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint64", + "nodeType": "YulIdentifier", + "src": "14999:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "14999:23:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14987:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "14987:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "14987:36:2" + } + ] + }, + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14965:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14972:3:2", + "type": "" + } + ], + "src": "14914:115:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15157:202:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15167:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15179:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15190:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15175:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15175:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15167:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15245:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15258:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15269:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15254:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15254:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "15203:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "15203:69:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15203:69:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15324:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15337:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15348:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15333:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15333:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "15282:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "15282:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15282:70:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint64_t_uint64__to_t_uint64_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15121:9:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15133:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15141:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15152:4:2", + "type": "" + } + ], + "src": "15035:324:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15430:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15447:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "15470:5:2" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "15452:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "15452:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15440:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "15440:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15440:37:2" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "15418:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15425:3:2", + "type": "" + } + ], + "src": "15365:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15587:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15597:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15609:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15620:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15605:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15605:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15597:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15677:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15690:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15701:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15686:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15686:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15633:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "15633:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15633:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15559:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15571:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15582:4:2", + "type": "" + } + ], + "src": "15489:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15804:478:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15853:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "15855:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "15855:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "15855:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15832:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15840:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15828:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15828:17:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15847:3:2" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15824:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "15824:27:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "15817:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "15817:35:2" + }, + "nodeType": "YulIf", + "src": "15814:122:2" + }, + { + "nodeType": "YulAssignment", + "src": "15945:30:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15968:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15955:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "15955:20:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15945:6:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16018:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "16020:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "16020:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "16020:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15990:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15998:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15987:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "15987:30:2" + }, + "nodeType": "YulIf", + "src": "15984:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "16110:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16126:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16134:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16122:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16122:17:2" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "16110:8:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16193:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "16195:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "16195:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "16195:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "16158:8:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16172:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16180:4:2", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "16168:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16168:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16154:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16154:32:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16188:3:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "16151:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "16151:41:2" + }, + "nodeType": "YulIf", + "src": "16148:128:2" + } + ] + }, + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15771:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15779:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "15787:8:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15797:6:2", + "type": "" + } + ], + "src": "15730:552:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16423:826:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16470:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "16472:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "16472:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "16472:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16444:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16453:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16440:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16440:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16465:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16436:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16436:33:2" + }, + "nodeType": "YulIf", + "src": "16433:120:2" + }, + { + "nodeType": "YulBlock", + "src": "16563:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16578:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16592:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16582:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16607:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16642:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16653:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16638:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16638:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16662:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "16617:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "16617:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16607:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "16690:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16705:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16719:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16709:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16735:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16769:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16780:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16765:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16765:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16789:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "16745:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "16745:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16735:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "16817:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16832:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16846:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16836:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16862:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16897:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "16908:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16893:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16893:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16917:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "16872:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "16872:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "16862:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "16945:297:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16960:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16991:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17002:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16987:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "16987:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16974:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "16974:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "16964:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17053:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "17055:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "17055:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17055:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17025:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17033:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "17022:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "17022:30:2" + }, + "nodeType": "YulIf", + "src": "17019:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "17150:82:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17204:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17215:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17200:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17200:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17224:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "17168:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "17168:64:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17150:6:2" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17158:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_addresst_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16361:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16372:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16384:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16392:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16400:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "16408:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "16416:6:2", + "type": "" + } + ], + "src": "16288:961:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17321:263:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17367:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "17369:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "17369:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17369:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17342:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17351:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17338:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17338:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17363:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17334:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17334:32:2" + }, + "nodeType": "YulIf", + "src": "17331:119:2" + }, + { + "nodeType": "YulBlock", + "src": "17460:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17475:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17489:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17479:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17504:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17539:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17550:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17535:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17535:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17559:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "17514:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "17514:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17504:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17291:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17302:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17314:6:2", + "type": "" + } + ], + "src": "17255:329:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17655:262:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "17701:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "17703:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "17703:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "17703:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17676:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17685:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17672:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17672:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17697:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "17668:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17668:32:2" + }, + "nodeType": "YulIf", + "src": "17665:119:2" + }, + { + "nodeType": "YulBlock", + "src": "17794:116:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "17809:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17823:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "17813:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "17838:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17872:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "17883:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17868:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "17868:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "17892:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "17848:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "17848:52:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17838:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17625:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17636:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17648:6:2", + "type": "" + } + ], + "src": "17590:327:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18039:647:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "18086:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "18088:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "18088:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18088:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18060:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18069:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18056:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18056:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18081:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "18052:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18052:33:2" + }, + "nodeType": "YulIf", + "src": "18049:120:2" + }, + { + "nodeType": "YulBlock", + "src": "18179:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18194:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18208:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18198:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18223:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18258:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18269:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18254:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18254:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18278:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "18233:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "18233:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18223:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "18306:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18321:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18335:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18325:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18351:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18385:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18396:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18381:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18381:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18405:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "18361:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "18361:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18351:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "18433:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18448:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18462:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18452:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18478:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18513:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18524:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18509:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18509:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18533:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "18488:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "18488:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18478:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "18561:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "18576:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18590:2:2", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "18580:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "18606:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18641:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "18652:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18637:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "18637:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "18661:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "18616:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "18616:53:2" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18606:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_bytes32t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17985:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "17996:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18008:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18016:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18024:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18032:6:2", + "type": "" + } + ], + "src": "17923:763:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18734:48:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18744:32:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18769:5:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "18762:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "18762:13:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "18755:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "18755:21:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "18744:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18716:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "18726:7:2", + "type": "" + } + ], + "src": "18692:90:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18847:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18864:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "18884:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "18869:14:2" + }, + "nodeType": "YulFunctionCall", + "src": "18869:21:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18857:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "18857:34:2" + }, + "nodeType": "YulExpressionStatement", + "src": "18857:34:2" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "18835:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18842:3:2", + "type": "" + } + ], + "src": "18788:109:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18995:118:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19005:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19017:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19028:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19013:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19013:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19005:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19079:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19092:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19103:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19088:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19088:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "19041:37:2" + }, + "nodeType": "YulFunctionCall", + "src": "19041:65:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19041:65:2" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18967:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18979:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18990:4:2", + "type": "" + } + ], + "src": "18903:210:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19218:518:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19264:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "19266:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "19266:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "19266:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19239:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19248:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19235:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19235:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19260:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "19231:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19231:32:2" + }, + "nodeType": "YulIf", + "src": "19228:119:2" + }, + { + "nodeType": "YulBlock", + "src": "19357:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19372:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19386:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19376:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19401:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19436:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19447:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19432:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19432:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19456:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "19411:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "19411:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19401:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "19484:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19499:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19513:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19503:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19529:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19563:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19574:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19559:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19559:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19583:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "19539:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "19539:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19529:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "19611:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19626:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19640:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "19630:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19656:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19691:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "19702:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19687:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19687:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "19711:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "19666:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "19666:53:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "19656:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19172:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "19183:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19195:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19203:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "19211:6:2", + "type": "" + } + ], + "src": "19119:617:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19930:389:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19940:26:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19956:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19961:4:2", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19952:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "19952:14:2" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19944:4:2", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "19976:163:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20010:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20040:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20047:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20036:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20036:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20030:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "20030:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "20014:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "20100:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20118:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20123:4:2", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20114:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20114:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nodeType": "YulIdentifier", + "src": "20066:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "20066:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20066:63:2" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "20149:163:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20183:43:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20213:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20220:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20209:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20209:16:2" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20203:5:2" + }, + "nodeType": "YulFunctionCall", + "src": "20203:23:2" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "20187:12:2", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "20273:12:2" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20291:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20296:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20287:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20287:14:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32", + "nodeType": "YulIdentifier", + "src": "20239:33:2" + }, + "nodeType": "YulFunctionCall", + "src": "20239:63:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20239:63:2" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_Candidate_$61_memory_ptr_to_t_struct$_Candidate_$61_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19917:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19924:3:2", + "type": "" + } + ], + "src": "19814:505:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20473:174:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20483:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20495:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20506:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20491:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20491:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20483:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20613:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20626:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20637:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20622:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20622:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Candidate_$61_memory_ptr_to_t_struct$_Candidate_$61_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20519:93:2" + }, + "nodeType": "YulFunctionCall", + "src": "20519:121:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20519:121:2" + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Candidate_$61_memory_ptr__to_t_struct$_Candidate_$61_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20445:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20457:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20468:4:2", + "type": "" + } + ], + "src": "20325:322:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20752:518:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "20798:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "20800:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "20800:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "20800:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "20773:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20782:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20769:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20769:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20794:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "20765:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20765:32:2" + }, + "nodeType": "YulIf", + "src": "20762:119:2" + }, + { + "nodeType": "YulBlock", + "src": "20891:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20906:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20920:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "20910:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20935:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20970:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "20981:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20966:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "20966:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "20990:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "20945:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "20945:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20935:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21018:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21033:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21047:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "21037:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21063:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21098:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21109:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21094:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21094:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "21118:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "21073:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "21073:53:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "21063:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "21146:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21161:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21175:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "21165:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21191:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21225:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "21236:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21221:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21221:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "21245:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "21201:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "21201:52:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "21191:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_addresst_uint64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20706:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "20717:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20729:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "20737:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "20745:6:2", + "type": "" + } + ], + "src": "20653:617:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21371:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21388:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21393:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21381:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "21381:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21381:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "21409:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21428:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21433:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21424:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21424:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "21409:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21343:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "21348:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "21359:11:2", + "type": "" + } + ], + "src": "21276:168:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21540:270:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21550:52:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21596:5:2" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "21564:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "21564:38:2" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "21554:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21611:77:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21676:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21681:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21618:57:2" + }, + "nodeType": "YulFunctionCall", + "src": "21618:70:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21611:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "21723:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21730:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21719:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21719:16:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21737:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21742:6:2" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "21697:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "21697:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21697:52:2" + }, + { + "nodeType": "YulAssignment", + "src": "21758:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21769:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21796:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "21774:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "21774:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21765:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21765:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21758:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "21521:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21528:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21536:3:2", + "type": "" + } + ], + "src": "21450:360:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21932:193:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21942:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21954:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21965:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21950:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21950:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21942:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21989:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22000:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21985:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "21985:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22008:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22014:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22004:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22004:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21978:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "21978:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "21978:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "22034:84:2", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22104:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22113:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22042:61:2" + }, + "nodeType": "YulFunctionCall", + "src": "22042:76:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22034:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21904:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21916:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21927:4:2", + "type": "" + } + ], + "src": "21816:309:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22220:478:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "22269:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "22271:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "22271:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22271:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "22248:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22256:4:2", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22244:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22244:17:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22263:3:2" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "22240:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22240:27:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22233:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "22233:35:2" + }, + "nodeType": "YulIf", + "src": "22230:122:2" + }, + { + "nodeType": "YulAssignment", + "src": "22361:30:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "22384:6:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "22371:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "22371:20:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22361:6:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22434:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "22436:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "22436:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22436:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22406:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22414:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "22403:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "22403:30:2" + }, + "nodeType": "YulIf", + "src": "22400:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "22526:29:2", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "22542:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22550:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22538:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22538:17:2" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "22526:8:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22609:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "22611:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "22611:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22611:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "22574:8:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "22588:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22596:4:2", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "22584:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22584:17:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22570:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22570:32:2" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22604:3:2" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "22567:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "22567:41:2" + }, + "nodeType": "YulIf", + "src": "22564:128:2" + } + ] + }, + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "22187:6:2", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22195:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "22203:8:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "22213:6:2", + "type": "" + } + ], + "src": "22145:553:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22844:879:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "22890:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "22892:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "22892:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "22892:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "22865:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22874:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22861:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22861:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22886:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "22857:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "22857:32:2" + }, + "nodeType": "YulIf", + "src": "22854:119:2" + }, + { + "nodeType": "YulBlock", + "src": "22983:297:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "22998:45:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23029:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23040:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23025:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23025:17:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "23012:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "23012:31:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "23002:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23090:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "23092:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "23092:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23092:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23062:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23070:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23059:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "23059:30:2" + }, + "nodeType": "YulIf", + "src": "23056:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "23187:83:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23242:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23253:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23238:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23238:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "23262:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "23205:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "23205:65:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23187:6:2" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "23195:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "23290:298:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "23305:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23336:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23347:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23332:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23332:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "23319:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "23319:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "23309:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23398:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "23400:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "23400:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23400:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23370:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23378:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23367:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "23367:30:2" + }, + "nodeType": "YulIf", + "src": "23364:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "23495:83:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23550:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23561:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23546:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23546:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "23570:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "23513:32:2" + }, + "nodeType": "YulFunctionCall", + "src": "23513:65:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "23495:6:2" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "23503:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "23598:118:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "23613:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23627:2:2", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "23617:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23643:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23678:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "23689:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23674:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23674:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "23698:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "23653:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "23653:53:2" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "23643:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22782:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "22793:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22805:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "22813:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "22821:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "22829:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "22837:6:2", + "type": "" + } + ], + "src": "22704:1019:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23794:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23811:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "23834:5:2" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "23816:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "23816:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23804:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "23804:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23804:37:2" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "23782:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23789:3:2", + "type": "" + } + ], + "src": "23729:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23951:124:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23961:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23973:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23984:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23969:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "23969:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23961:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24041:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24054:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24065:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24050:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24050:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "23997:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "23997:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "23997:71:2" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23923:9:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23935:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23946:4:2", + "type": "" + } + ], + "src": "23853:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24199:697:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24245:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "24247:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "24247:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "24247:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24220:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24229:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24216:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24216:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24241:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "24212:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24212:32:2" + }, + "nodeType": "YulIf", + "src": "24209:119:2" + }, + { + "nodeType": "YulBlock", + "src": "24338:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24353:15:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24367:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24357:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24382:63:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24417:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24428:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24413:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24413:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24437:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "24392:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "24392:53:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24382:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24465:117:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24480:16:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24494:2:2", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24484:6:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24510:62:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24544:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24555:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24540:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24540:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24564:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_uint64", + "nodeType": "YulIdentifier", + "src": "24520:19:2" + }, + "nodeType": "YulFunctionCall", + "src": "24520:52:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "24510:6:2" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "24592:297:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "24607:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24638:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24649:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24634:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24634:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "24621:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "24621:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "24611:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24700:83:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "24702:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "24702:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "24702:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24672:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24680:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24669:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "24669:30:2" + }, + "nodeType": "YulIf", + "src": "24666:117:2" + }, + { + "nodeType": "YulAssignment", + "src": "24797:82:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24851:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "24862:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24847:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "24847:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "24871:7:2" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "24815:31:2" + }, + "nodeType": "YulFunctionCall", + "src": "24815:64:2" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "24797:6:2" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "24805:6:2" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint64t_bytes_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24145:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "24156:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "24168:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "24176:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "24184:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "24192:6:2", + "type": "" + } + ], + "src": "24081:815:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24998:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25015:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25020:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25008:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "25008:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "25008:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "25036:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25055:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25060:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25051:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25051:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "25036:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24970:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24975:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24986:11:2", + "type": "" + } + ], + "src": "24902:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25183:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25205:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25213:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25201:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25201:14:2" + }, + { + "hexValue": "4d7573742063616c6c656420627920746865207461736b206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25217:31:2", + "type": "", + "value": "Must called by the task owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25194:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "25194:55:2" + }, + "nodeType": "YulExpressionStatement", + "src": "25194:55:2" + } + ] + }, + "name": "store_literal_in_memory_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25175:6:2", + "type": "" + } + ], + "src": "25077:179:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25408:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25418:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25484:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25489:2:2", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25425:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "25425:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25418:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25590:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "nodeType": "YulIdentifier", + "src": "25501:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "25501:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "25501:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "25603:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25614:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25619:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25610:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25610:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25603:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25396:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25404:3:2", + "type": "" + } + ], + "src": "25262:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25805:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25815:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25827:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25838:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25823:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25823:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25815:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25862:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25873:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25858:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25858:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25881:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25887:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25877:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "25877:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25851:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "25851:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "25851:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "25907:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26041:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25915:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "25915:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25907:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25785:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25800:4:2", + "type": "" + } + ], + "src": "25634:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26165:69:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26187:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26195:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26183:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26183:14:2" + }, + { + "hexValue": "7468697320726f756e6420646f6573206e6f74206578697374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26199:27:2", + "type": "", + "value": "this round does not exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26176:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "26176:51:2" + }, + "nodeType": "YulExpressionStatement", + "src": "26176:51:2" + } + ] + }, + "name": "store_literal_in_memory_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26157:6:2", + "type": "" + } + ], + "src": "26059:175:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26386:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26396:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26462:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26467:2:2", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26403:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "26403:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26396:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26568:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "nodeType": "YulIdentifier", + "src": "26479:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "26479:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "26479:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "26581:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26592:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26597:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26588:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26588:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26581:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26374:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26382:3:2", + "type": "" + } + ], + "src": "26240:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26783:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26793:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26805:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26816:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26801:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26801:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26793:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26840:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26851:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26836:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26836:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26859:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26865:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26855:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "26855:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26829:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "26829:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "26829:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "26885:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27019:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26893:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "26893:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26885:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26763:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26778:4:2", + "type": "" + } + ], + "src": "26612:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27065:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27082:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27085:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27075:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27075:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27075:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27179:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27182:4:2", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27172:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27172:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27172:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27203:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27206:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27196:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27196:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27196:15:2" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "27037:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27251:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27268:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27271:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27261:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27261:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27261:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27365:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27368:4:2", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27358:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27358:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27358:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27389:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27392:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27382:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27382:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27382:15:2" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "27223:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27533:204:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27543:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27555:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27566:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27551:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27551:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27543:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27623:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27636:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27647:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27632:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27632:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "27579:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "27579:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27579:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "27702:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27715:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27726:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27711:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27711:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "27660:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "27660:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27660:70:2" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64__to_t_bytes32_t_uint64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27497:9:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "27509:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "27517:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27528:4:2", + "type": "" + } + ], + "src": "27409:328:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27849:59:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27871:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27879:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27867:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "27867:14:2" + }, + { + "hexValue": "5461736b206e6f7420657869737473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27883:17:2", + "type": "", + "value": "Task not exists" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27860:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "27860:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "27860:41:2" + } + ] + }, + "name": "store_literal_in_memory_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27841:6:2", + "type": "" + } + ], + "src": "27743:165:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28060:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28070:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28136:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28141:2:2", + "type": "", + "value": "15" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28077:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "28077:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28070:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28242:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "nodeType": "YulIdentifier", + "src": "28153:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "28153:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28153:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "28255:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28266:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28271:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28262:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28262:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28255:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28048:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28056:3:2", + "type": "" + } + ], + "src": "27914:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28457:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28467:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28479:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28490:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28475:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28475:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28467:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28514:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28525:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28510:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28510:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28533:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28539:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28529:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28529:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28503:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "28503:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28503:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "28559:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28693:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28567:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "28567:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28559:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28437:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28452:4:2", + "type": "" + } + ], + "src": "28286:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28817:184:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28839:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28847:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28835:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28835:14:2" + }, + { + "hexValue": "74686520726f756e6420686173206265656e20616c7265616479207374617274", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28851:34:2", + "type": "", + "value": "the round has been already start" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28828:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "28828:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28828:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28907:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28915:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28903:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28903:15:2" + }, + { + "hexValue": "6564206f72207468652070726520726f756e6420646f6573206e6f7420657869", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28920:34:2", + "type": "", + "value": "ed or the pre round does not exi" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28896:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "28896:59:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28896:59:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28976:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28984:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28972:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "28972:15:2" + }, + { + "hexValue": "7374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28989:4:2", + "type": "", + "value": "st" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28965:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "28965:29:2" + }, + "nodeType": "YulExpressionStatement", + "src": "28965:29:2" + } + ] + }, + "name": "store_literal_in_memory_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28809:6:2", + "type": "" + } + ], + "src": "28711:290:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29153:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29163:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29229:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29234:2:2", + "type": "", + "value": "66" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29170:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "29170:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29163:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29335:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "nodeType": "YulIdentifier", + "src": "29246:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "29246:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29246:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "29348:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29359:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29364:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29355:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29355:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29348:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29141:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29149:3:2", + "type": "" + } + ], + "src": "29007:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29550:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29560:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29572:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29583:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29568:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29568:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29560:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29607:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29618:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29603:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29603:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29626:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29632:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29622:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "29622:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29596:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "29596:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29596:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "29652:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29786:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29660:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "29660:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29652:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29530:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29545:4:2", + "type": "" + } + ], + "src": "29379:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29849:32:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29859:16:2", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29870:5:2" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "29859:7:2" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "29831:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "29841:7:2", + "type": "" + } + ], + "src": "29804:77:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29915:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29932:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29935:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29925:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "29925:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "29925:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30029:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30032:4:2", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30022:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "30022:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30022:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30053:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30056:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "30046:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "30046:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30046:15:2" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "29887:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30118:146:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30128:25:2", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30151:1:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "30133:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "30133:20:2" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30128:1:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30162:25:2", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30185:1:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "30167:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "30167:20:2" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30162:1:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30209:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "30211:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "30211:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30211:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30203:1:2" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30206:1:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "30200:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "30200:8:2" + }, + "nodeType": "YulIf", + "src": "30197:34:2" + }, + { + "nodeType": "YulAssignment", + "src": "30241:17:2", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "30253:1:2" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "30256:1:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30249:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30249:9:2" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "30241:4:2" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "30104:1:2", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "30107:1:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "30113:4:2", + "type": "" + } + ], + "src": "30073:191:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30376:66:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30398:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30406:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30394:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30394:14:2" + }, + { + "hexValue": "4d7573742070726f7669646520616464726573736573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30410:24:2", + "type": "", + "value": "Must provide addresses" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30387:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "30387:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30387:48:2" + } + ] + }, + "name": "store_literal_in_memory_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30368:6:2", + "type": "" + } + ], + "src": "30270:172:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30594:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30604:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30670:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30675:2:2", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30611:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "30611:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30604:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30776:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "nodeType": "YulIdentifier", + "src": "30687:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "30687:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "30687:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "30789:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30800:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30805:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30796:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "30796:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30789:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30582:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30590:3:2", + "type": "" + } + ], + "src": "30448:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30991:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31001:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31013:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31024:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31009:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31009:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31001:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31048:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31059:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31044:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31044:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31067:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31073:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31063:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31063:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31037:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "31037:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31037:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "31093:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31227:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31101:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "31101:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31093:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30971:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30986:4:2", + "type": "" + } + ], + "src": "30820:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31351:64:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31373:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31381:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31369:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31369:14:2" + }, + { + "hexValue": "43616e646964617465206d757374206578697374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31385:22:2", + "type": "", + "value": "Candidate must exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31362:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "31362:46:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31362:46:2" + } + ] + }, + "name": "store_literal_in_memory_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31343:6:2", + "type": "" + } + ], + "src": "31245:170:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31567:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31577:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31643:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31648:2:2", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31584:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "31584:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31577:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31749:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "nodeType": "YulIdentifier", + "src": "31660:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "31660:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "31660:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "31762:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31773:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31778:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31769:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31769:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31762:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31555:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31563:3:2", + "type": "" + } + ], + "src": "31421:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31964:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31974:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31986:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31997:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31982:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "31982:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31974:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32021:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32032:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32017:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32017:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32040:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32046:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32036:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32036:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32010:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "32010:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "32010:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "32066:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32200:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32074:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "32074:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32066:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31944:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31959:4:2", + "type": "" + } + ], + "src": "31793:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32261:190:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32271:33:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32298:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "32280:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "32280:24:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32271:5:2" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32394:22:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "32396:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "32396:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "32396:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32319:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32326:66:2", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32316:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "32316:77:2" + }, + "nodeType": "YulIf", + "src": "32313:103:2" + }, + { + "nodeType": "YulAssignment", + "src": "32425:20:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32436:5:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32443:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32432:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32432:13:2" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "32425:3:2" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32247:5:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "32257:3:2", + "type": "" + } + ], + "src": "32218:233:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32568:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32585:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32590:6:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32578:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "32578:19:2" + }, + "nodeType": "YulExpressionStatement", + "src": "32578:19:2" + }, + { + "nodeType": "YulAssignment", + "src": "32606:29:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32625:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32630:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32621:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32621:14:2" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "32606:11:2" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32540:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32545:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "32556:11:2", + "type": "" + } + ], + "src": "32457:184:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32721:28:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32731:11:2", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32739:3:2" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "32731:4:2" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "32708:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "32716:4:2", + "type": "" + } + ], + "src": "32647:102:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32813:64:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32823:48:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32853:3:2" + }, + { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32862:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32867:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32858:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32858:12:2" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "32832:20:2" + }, + "nodeType": "YulFunctionCall", + "src": "32832:39:2" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32823:5:2" + } + ] + } + ] + }, + "name": "calldata_access_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "32790:7:2", + "type": "" + }, + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "32799:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32807:5:2", + "type": "" + } + ], + "src": "32755:122:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32960:38:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32970:22:2", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "32982:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32987:4:2", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32978:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "32978:14:2" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "32970:4:2" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "32947:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "32955:4:2", + "type": "" + } + ], + "src": "32883:115:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33168:565:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33179:93:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33260:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33265:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33186:73:2" + }, + "nodeType": "YulFunctionCall", + "src": "33186:86:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33179:3:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "33281:73:2", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33348:5:2" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "33296:51:2" + }, + "nodeType": "YulFunctionCall", + "src": "33296:58:2" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "33285:7:2", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "33363:21:2", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "33377:7:2" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "33367:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33453:255:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "33467:63:2", + "value": { + "arguments": [ + { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "33514:7:2" + }, + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "33523:6:2" + } + ], + "functionName": { + "name": "calldata_access_t_address", + "nodeType": "YulIdentifier", + "src": "33488:25:2" + }, + "nodeType": "YulFunctionCall", + "src": "33488:42:2" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "33471:13:2", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33543:70:2", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "33594:13:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33609:3:2" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "33550:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "33550:63:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33543:3:2" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33626:72:2", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "33691:6:2" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_address_$dyn_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "33636:54:2" + }, + "nodeType": "YulFunctionCall", + "src": "33636:62:2" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "33626:6:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "33415:1:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33418:6:2" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "33412:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "33412:13:2" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "33426:18:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33428:14:2", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "33437:1:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33440:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33433:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33433:9:2" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "33428:1:2" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "33397:14:2", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "33399:10:2", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33408:1:2", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "33403:1:2", + "type": "" + } + ] + } + ] + }, + "src": "33393:315:2" + }, + { + "nodeType": "YulAssignment", + "src": "33717:10:2", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33724:3:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33717:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "33139:5:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "33146:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33154:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33163:3:2", + "type": "" + } + ], + "src": "33034:699:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33951:397:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33961:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33973:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33984:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33969:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "33969:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33961:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34041:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34054:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34065:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34050:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34050:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "33997:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "33997:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "33997:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "34120:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34133:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34144:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34129:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34129:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "34078:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "34078:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "34078:70:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34169:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34180:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34165:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34165:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34189:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34195:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34185:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34185:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34158:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "34158:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "34158:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "34215:126:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "34319:6:2" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "34327:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34336:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34223:95:2" + }, + "nodeType": "YulFunctionCall", + "src": "34223:118:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34215:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_array$_t_address_$dyn_calldata_ptr__to_t_bytes32_t_uint64_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33899:9:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "33911:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "33919:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "33927:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33935:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33946:4:2", + "type": "" + } + ], + "src": "33739:609:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34460:71:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34482:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34490:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34478:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34478:14:2" + }, + { + "hexValue": "43616c63756c6174696e6720686173206e6f742073746172746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34494:29:2", + "type": "", + "value": "Calculating has not started" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34471:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "34471:53:2" + }, + "nodeType": "YulExpressionStatement", + "src": "34471:53:2" + } + ] + }, + "name": "store_literal_in_memory_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34452:6:2", + "type": "" + } + ], + "src": "34354:177:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34683:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34693:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34759:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34764:2:2", + "type": "", + "value": "27" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34700:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "34700:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34693:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34865:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "nodeType": "YulIdentifier", + "src": "34776:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "34776:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "34776:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "34878:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34889:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34894:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34885:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "34885:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34878:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34671:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34679:3:2", + "type": "" + } + ], + "src": "34537:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35080:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35090:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35102:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35113:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35098:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35098:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35090:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35137:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35148:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35133:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35133:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35156:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35162:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35152:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35152:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35126:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "35126:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "35126:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "35182:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35316:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35190:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "35190:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35182:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35060:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35075:4:2", + "type": "" + } + ], + "src": "34909:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35440:70:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35462:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35470:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35458:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35458:14:2" + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35474:28:2", + "type": "", + "value": "The Task Round Must exists" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35451:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "35451:52:2" + }, + "nodeType": "YulExpressionStatement", + "src": "35451:52:2" + } + ] + }, + "name": "store_literal_in_memory_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35432:6:2", + "type": "" + } + ], + "src": "35334:176:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35662:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35672:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35738:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35743:2:2", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35679:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "35679:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35672:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35844:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "nodeType": "YulIdentifier", + "src": "35755:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "35755:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "35755:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "35857:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35868:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35873:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35864:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "35864:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35857:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35650:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35658:3:2", + "type": "" + } + ], + "src": "35516:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36059:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36069:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36081:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36092:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36077:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36077:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36069:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36116:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36127:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36112:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36112:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36135:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36141:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36131:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36131:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36105:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36105:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36105:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "36161:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36295:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36169:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "36169:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36161:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36039:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36054:4:2", + "type": "" + } + ], + "src": "35888:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36341:152:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36358:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36361:77:2", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36351:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36351:88:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36351:88:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36455:1:2", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36458:4:2", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36448:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36448:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36448:15:2" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36479:1:2", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36482:4:2", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "36472:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36472:15:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36472:15:2" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "36313:180:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36550:269:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36560:22:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "36574:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36580:1:2", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "36570:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36570:12:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36560:6:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "36591:38:2", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "36621:4:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36627:1:2", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "36617:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36617:12:2" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "36595:18:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36668:51:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36682:27:2", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36696:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36704:4:2", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "36692:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36692:17:2" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36682:6:2" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "36648:18:2" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "36641:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36641:26:2" + }, + "nodeType": "YulIf", + "src": "36638:81:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36771:42:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "36785:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "36785:18:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36785:18:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "36735:18:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "36758:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36766:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "36755:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "36755:14:2" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "36732:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "36732:38:2" + }, + "nodeType": "YulIf", + "src": "36729:84:2" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "36534:4:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "36543:6:2", + "type": "" + } + ], + "src": "36499:320:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36931:127:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36953:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36961:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36949:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "36949:14:2" + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d697420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36965:34:2", + "type": "", + "value": "commitment length exceeds limit " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36942:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "36942:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "36942:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37021:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37029:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37017:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37017:15:2" + }, + { + "hexValue": "6f7220697420697320656d707479", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37034:16:2", + "type": "", + "value": "or it is empty" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37010:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "37010:41:2" + }, + "nodeType": "YulExpressionStatement", + "src": "37010:41:2" + } + ] + }, + "name": "store_literal_in_memory_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "36923:6:2", + "type": "" + } + ], + "src": "36825:233:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37210:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37220:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37286:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37291:2:2", + "type": "", + "value": "46" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37227:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "37227:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37220:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37392:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "nodeType": "YulIdentifier", + "src": "37303:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "37303:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "37303:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "37405:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37416:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37421:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37412:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37412:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37405:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37198:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37206:3:2", + "type": "" + } + ], + "src": "37064:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37607:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37617:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37629:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37640:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37625:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37625:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37617:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37664:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37675:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37660:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37660:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37683:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37689:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37679:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37679:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37653:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "37653:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "37653:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "37709:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37843:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37717:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "37717:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37709:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37587:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37602:4:2", + "type": "" + } + ], + "src": "37436:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37967:66:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37989:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37997:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37985:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "37985:14:2" + }, + { + "hexValue": "6e6f7420696e2075706c6f6164207373207068617365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38001:24:2", + "type": "", + "value": "not in upload ss phase" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37978:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "37978:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "37978:48:2" + } + ] + }, + "name": "store_literal_in_memory_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37959:6:2", + "type": "" + } + ], + "src": "37861:172:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38185:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38195:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38261:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38266:2:2", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38202:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "38202:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38195:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38367:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "nodeType": "YulIdentifier", + "src": "38278:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "38278:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "38278:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "38380:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38391:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38396:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38387:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38387:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38380:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38173:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38181:3:2", + "type": "" + } + ], + "src": "38039:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38582:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38592:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38604:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38615:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38600:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38600:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38592:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38639:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38650:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38635:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38635:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38658:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38664:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38654:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38654:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38628:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "38628:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "38628:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "38684:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38818:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38692:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "38692:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38684:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "38562:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "38577:4:2", + "type": "" + } + ], + "src": "38411:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38942:72:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38964:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38972:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38960:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "38960:14:2" + }, + { + "hexValue": "6d7573742075706c6f616420636f6d6d69746d656e74206669727374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38976:30:2", + "type": "", + "value": "must upload commitment first" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38953:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "38953:54:2" + }, + "nodeType": "YulExpressionStatement", + "src": "38953:54:2" + } + ] + }, + "name": "store_literal_in_memory_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38934:6:2", + "type": "" + } + ], + "src": "38836:178:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39166:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39176:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39242:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39247:2:2", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39183:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "39183:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39176:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39348:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "nodeType": "YulIdentifier", + "src": "39259:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "39259:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39259:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "39361:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39372:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39377:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39368:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39368:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39361:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39154:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39162:3:2", + "type": "" + } + ], + "src": "39020:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39563:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39573:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39585:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39596:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39581:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39581:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39573:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39620:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39631:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39616:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39616:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39639:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39645:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39635:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39635:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39609:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39609:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39609:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "39665:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39799:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39673:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "39673:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39665:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "39543:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "39558:4:2", + "type": "" + } + ], + "src": "39392:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39923:114:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39945:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39953:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39941:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "39941:14:2" + }, + { + "hexValue": "63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39957:34:2", + "type": "", + "value": "cannot upload seed multiple time" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39934:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "39934:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "39934:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40013:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40021:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40009:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40009:15:2" + }, + { + "hexValue": "73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40026:3:2", + "type": "", + "value": "s" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40002:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40002:28:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40002:28:2" + } + ] + }, + "name": "store_literal_in_memory_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "39915:6:2", + "type": "" + } + ], + "src": "39817:220:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40189:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40199:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40265:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40270:2:2", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40206:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "40206:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40199:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40371:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "nodeType": "YulIdentifier", + "src": "40282:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "40282:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40282:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "40384:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40395:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40400:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40391:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40391:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40384:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40177:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40185:3:2", + "type": "" + } + ], + "src": "40043:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40586:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40596:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40608:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40619:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40604:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40604:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40596:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40643:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40654:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40639:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40639:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40662:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40668:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40658:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40658:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40632:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40632:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40632:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "40688:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40822:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40696:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "40696:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40688:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40566:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40581:4:2", + "type": "" + } + ], + "src": "40415:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40946:48:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40968:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40976:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40964:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "40964:14:2" + }, + { + "hexValue": "53454544", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40980:6:2", + "type": "", + "value": "SEED" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40957:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "40957:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "40957:30:2" + } + ] + }, + "name": "store_literal_in_memory_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40938:6:2", + "type": "" + } + ], + "src": "40840:154:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41146:219:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41156:73:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41222:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41227:1:2", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41163:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "41163:66:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41156:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41327:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "nodeType": "YulIdentifier", + "src": "41238:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "41238:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41238:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "41340:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41351:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41356:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41347:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41347:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41340:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41134:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41142:3:2", + "type": "" + } + ], + "src": "41000:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41422:103:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "41445:3:2" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "41450:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41455:6:2" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "41432:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "41432:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41432:30:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "41503:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41508:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41499:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41499:16:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41517:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41492:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "41492:27:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41492:27:2" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "41404:3:2", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "41409:3:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41414:6:2", + "type": "" + } + ], + "src": "41371:154:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41653:201:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41663:77:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41728:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41733:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41670:57:2" + }, + "nodeType": "YulFunctionCall", + "src": "41670:70:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41663:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "41774:5:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41781:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41786:6:2" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "41750:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "41750:43:2" + }, + "nodeType": "YulExpressionStatement", + "src": "41750:43:2" + }, + { + "nodeType": "YulAssignment", + "src": "41802:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41813:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41840:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "41818:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "41818:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41809:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "41809:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41802:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "41626:5:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "41633:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41641:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41649:3:2", + "type": "" + } + ], + "src": "41553:301:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42197:738:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42207:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42219:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42230:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42215:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42215:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42207:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42288:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42301:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42312:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42297:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42297:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "42244:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "42244:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42244:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "42367:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42380:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42391:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42376:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42376:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "42325:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "42325:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42325:70:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "42449:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42462:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42473:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42458:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42458:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "42405:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "42405:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42405:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "42531:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42544:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42555:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42540:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42540:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "42487:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "42487:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42487:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42580:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42591:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42576:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42576:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42601:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42607:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42597:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42597:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42569:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "42569:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42569:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "42627:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42761:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42635:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "42635:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42627:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42787:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42798:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42783:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42783:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42808:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42814:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42804:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "42804:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42776:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "42776:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "42776:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "42834:94:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "42906:6:2" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "42914:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42923:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42842:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "42842:86:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42834:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42129:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "42141:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "42149:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "42157:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "42165:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "42173:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42181:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42192:4:2", + "type": "" + } + ], + "src": "41860:1075:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43047:63:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43069:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43077:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43065:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43065:14:2" + }, + { + "hexValue": "43616c6c6572206973206e6f74206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43081:21:2", + "type": "", + "value": "Caller is not owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43058:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "43058:45:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43058:45:2" + } + ] + }, + "name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43039:6:2", + "type": "" + } + ], + "src": "42941:169:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43262:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43272:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43338:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43343:2:2", + "type": "", + "value": "19" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43279:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "43279:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43272:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43444:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "nodeType": "YulIdentifier", + "src": "43355:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "43355:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43355:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "43457:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43468:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43473:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43464:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43464:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43457:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43250:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "43258:3:2", + "type": "" + } + ], + "src": "43116:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43659:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43669:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43681:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43692:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43677:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43677:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43669:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43716:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43727:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43712:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43712:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43735:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43741:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43731:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "43731:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43705:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "43705:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "43705:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "43761:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43895:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43769:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "43769:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43761:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43639:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43654:4:2", + "type": "" + } + ], + "src": "43488:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44019:73:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "44041:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44049:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44037:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44037:14:2" + }, + { + "hexValue": "5468697320726f756e64206973206e6f742072756e6e696e67206e6f77", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44053:31:2", + "type": "", + "value": "This round is not running now" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44030:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "44030:55:2" + }, + "nodeType": "YulExpressionStatement", + "src": "44030:55:2" + } + ] + }, + "name": "store_literal_in_memory_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44011:6:2", + "type": "" + } + ], + "src": "43913:179:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44244:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44254:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44320:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44325:2:2", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44261:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "44261:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44254:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44426:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "nodeType": "YulIdentifier", + "src": "44337:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "44337:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "44337:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "44439:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44450:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44455:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44446:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44446:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44439:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44232:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44240:3:2", + "type": "" + } + ], + "src": "44098:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44641:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44651:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44663:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44674:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44659:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44659:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44651:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44698:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44709:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44694:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44694:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44717:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44723:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44713:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "44713:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44687:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "44687:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "44687:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "44743:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44877:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44751:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "44751:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44743:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44621:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44636:4:2", + "type": "" + } + ], + "src": "44470:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45001:65:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "45023:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45031:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45019:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45019:14:2" + }, + { + "hexValue": "6a6f696e2070686173652068617320706173736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45035:23:2", + "type": "", + "value": "join phase has passed" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45012:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45012:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45012:47:2" + } + ] + }, + "name": "store_literal_in_memory_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44993:6:2", + "type": "" + } + ], + "src": "44895:171:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45218:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45228:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45294:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45299:2:2", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45235:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "45235:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45228:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45400:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "nodeType": "YulIdentifier", + "src": "45311:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "45311:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45311:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "45413:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45424:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45429:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45420:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45420:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "45413:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45206:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45214:3:2", + "type": "" + } + ], + "src": "45072:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45615:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45625:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45637:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45648:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45633:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45633:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45625:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45672:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45683:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45668:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45668:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45691:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45697:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45687:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45687:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45661:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45661:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45661:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "45717:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45851:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45725:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "45725:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45717:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45595:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45610:4:2", + "type": "" + } + ], + "src": "45444:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45975:122:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "45997:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46005:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45993:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "45993:14:2" + }, + { + "hexValue": "43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c7469", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46009:34:2", + "type": "", + "value": "Cannot join the same round multi" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45986:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "45986:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "45986:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "46065:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46073:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46061:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46061:15:2" + }, + { + "hexValue": "706c652074696d6573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46078:11:2", + "type": "", + "value": "ple times" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46054:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "46054:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46054:36:2" + } + ] + }, + "name": "store_literal_in_memory_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "45967:6:2", + "type": "" + } + ], + "src": "45869:228:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46249:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46259:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46325:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46330:2:2", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46266:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "46266:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46259:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46431:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "nodeType": "YulIdentifier", + "src": "46342:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "46342:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46342:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "46444:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46455:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46460:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46451:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46451:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "46444:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46237:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46245:3:2", + "type": "" + } + ], + "src": "46103:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46646:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46656:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46668:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46679:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46664:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46664:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46656:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46703:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46714:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46699:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46699:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46722:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46728:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46718:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "46718:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46692:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "46692:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "46692:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "46748:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46882:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46756:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "46756:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46748:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46626:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46641:4:2", + "type": "" + } + ], + "src": "46475:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47006:71:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "47028:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47036:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47024:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47024:14:2" + }, + { + "hexValue": "6e6f7420696e207365637265742073686172696e67207068617365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "47040:29:2", + "type": "", + "value": "not in secret sharing phase" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47017:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47017:53:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47017:53:2" + } + ] + }, + "name": "store_literal_in_memory_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "46998:6:2", + "type": "" + } + ], + "src": "46900:177:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47229:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "47239:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47305:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47310:2:2", + "type": "", + "value": "27" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "47246:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "47246:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47239:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47411:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "nodeType": "YulIdentifier", + "src": "47322:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "47322:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47322:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "47424:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47435:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47440:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47431:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47431:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "47424:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "47217:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "47225:3:2", + "type": "" + } + ], + "src": "47083:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47626:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "47636:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47648:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47659:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47644:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47644:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47636:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47683:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47694:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47679:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47679:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47702:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47708:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47698:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "47698:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47672:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47672:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47672:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "47728:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47862:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "47736:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "47736:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47728:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "47606:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "47621:4:2", + "type": "" + } + ], + "src": "47455:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47986:119:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "48008:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48016:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48004:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48004:14:2" + }, + { + "hexValue": "63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48020:34:2", + "type": "", + "value": "cannot upload seed cmmt multiple" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47997:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "47997:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "47997:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "48076:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48084:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48072:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48072:15:2" + }, + { + "hexValue": "2074696d6573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48089:8:2", + "type": "", + "value": " times" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48065:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "48065:33:2" + }, + "nodeType": "YulExpressionStatement", + "src": "48065:33:2" + } + ] + }, + "name": "store_literal_in_memory_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "47978:6:2", + "type": "" + } + ], + "src": "47880:225:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48257:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48267:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48333:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48338:2:2", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "48274:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "48274:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48267:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48439:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "nodeType": "YulIdentifier", + "src": "48350:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "48350:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "48350:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "48452:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48463:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48468:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48459:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48459:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "48452:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "48245:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "48253:3:2", + "type": "" + } + ], + "src": "48111:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48654:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48664:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48676:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48687:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48672:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48672:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48664:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48711:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48722:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48707:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48707:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48730:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "48736:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "48726:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "48726:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48700:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "48700:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "48700:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "48756:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48890:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "48764:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "48764:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "48756:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "48634:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "48649:4:2", + "type": "" + } + ], + "src": "48483:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49014:52:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "49036:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49044:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49032:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49032:14:2" + }, + { + "hexValue": "53454544434d4d54", + "kind": "string", + "nodeType": "YulLiteral", + "src": "49048:10:2", + "type": "", + "value": "SEEDCMMT" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49025:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "49025:34:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49025:34:2" + } + ] + }, + "name": "store_literal_in_memory_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "49006:6:2", + "type": "" + } + ], + "src": "48908:158:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49218:219:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49228:73:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49294:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49299:1:2", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "49235:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "49235:66:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49228:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49399:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "nodeType": "YulIdentifier", + "src": "49310:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "49310:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49310:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "49412:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49423:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49428:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49419:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49419:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "49412:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "49206:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "49214:3:2", + "type": "" + } + ], + "src": "49072:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49780:738:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49790:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49802:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49813:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49798:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49798:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49790:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "49871:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49884:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49895:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49880:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49880:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "49827:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "49827:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49827:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "49950:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49963:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49974:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49959:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "49959:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "49908:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "49908:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49908:70:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "50032:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50045:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50056:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50041:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50041:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "49988:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "49988:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "49988:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "50114:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50127:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50138:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50123:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50123:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "50070:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "50070:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50070:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50163:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50174:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50159:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50159:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50184:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50190:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50180:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50180:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50152:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "50152:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50152:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "50210:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50344:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "50218:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "50218:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50210:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50370:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50381:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50366:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50366:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50391:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50397:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50387:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50387:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50359:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "50359:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50359:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "50417:94:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "50489:6:2" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "50497:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50506:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "50425:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "50425:86:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50417:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49712:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "49724:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "49732:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "49740:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "49748:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "49756:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "49764:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49775:4:2", + "type": "" + } + ], + "src": "49443:1075:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50589:53:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50606:3:2" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "50629:5:2" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "50611:17:2" + }, + "nodeType": "YulFunctionCall", + "src": "50611:24:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50599:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "50599:37:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50599:37:2" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "50577:5:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "50584:3:2", + "type": "" + } + ], + "src": "50524:118:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50774:202:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "50784:78:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50850:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "50855:6:2" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "50791:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "50791:71:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50784:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "50896:5:2" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50903:3:2" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "50908:6:2" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "50872:23:2" + }, + "nodeType": "YulFunctionCall", + "src": "50872:43:2" + }, + "nodeType": "YulExpressionStatement", + "src": "50872:43:2" + }, + { + "nodeType": "YulAssignment", + "src": "50924:46:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "50935:3:2" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "50962:6:2" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "50940:21:2" + }, + "nodeType": "YulFunctionCall", + "src": "50940:29:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50931:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "50931:39:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "50924:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "50747:5:2", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "50754:6:2", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "50762:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "50770:3:2", + "type": "" + } + ], + "src": "50672:304:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51194:452:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "51204:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51216:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51227:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51212:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51212:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51204:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "51285:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51298:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51309:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51294:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51294:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "51241:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "51241:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51241:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "51366:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51379:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51390:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51375:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51375:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "51322:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "51322:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51322:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51415:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51426:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51411:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51411:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51435:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51441:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "51431:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51431:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "51404:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "51404:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51404:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "51461:96:2", + "value": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "51535:6:2" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "51543:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51552:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "51469:65:2" + }, + "nodeType": "YulFunctionCall", + "src": "51469:88:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51461:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "51611:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51624:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51635:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51620:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51620:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "51567:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "51567:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51567:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_address_t_string_calldata_ptr_t_bytes32__to_t_uint256_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "51134:9:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "51146:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "51154:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "51162:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "51170:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "51178:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "51189:4:2", + "type": "" + } + ], + "src": "50982:664:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "51894:533:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "51904:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51916:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "51927:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51912:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51912:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "51904:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "51985:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "51998:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52009:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "51994:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "51994:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "51941:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "51941:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "51941:71:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52033:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52044:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52029:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52029:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52053:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52059:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "52049:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52049:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52022:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52022:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52022:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "52079:96:2", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "52153:6:2" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "52161:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52170:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "52087:65:2" + }, + "nodeType": "YulFunctionCall", + "src": "52087:88:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52079:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52196:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52207:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52192:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52192:18:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52216:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52222:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "52212:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52212:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52185:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52185:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52185:48:2" + }, + { + "nodeType": "YulAssignment", + "src": "52242:96:2", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "52316:6:2" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "52324:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52333:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "52250:65:2" + }, + "nodeType": "YulFunctionCall", + "src": "52250:88:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "52242:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "52392:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "52405:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52416:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52401:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52401:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "52348:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "52348:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52348:72:2" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "51826:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "51838:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "51846:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "51854:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "51862:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "51870:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "51878:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "51889:4:2", + "type": "" + } + ], + "src": "51652:775:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52539:66:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "52561:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52569:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52557:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52557:14:2" + }, + { + "hexValue": "6e6f7420696e2075706c6f6164696e67207068617365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "52573:24:2", + "type": "", + "value": "not in uploading phase" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "52550:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "52550:48:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52550:48:2" + } + ] + }, + "name": "store_literal_in_memory_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "52531:6:2", + "type": "" + } + ], + "src": "52433:172:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "52757:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "52767:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52833:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52838:2:2", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "52774:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "52774:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52767:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52939:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "nodeType": "YulIdentifier", + "src": "52850:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "52850:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "52850:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "52952:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "52963:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "52968:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "52959:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "52959:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "52952:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "52745:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "52753:3:2", + "type": "" + } + ], + "src": "52611:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53154:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "53164:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53176:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53187:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53172:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53172:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53164:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53211:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53222:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53207:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53207:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53230:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "53236:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "53226:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53226:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53200:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "53200:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53200:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "53256:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53390:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "53264:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "53264:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "53256:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "53134:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "53149:4:2", + "type": "" + } + ], + "src": "52983:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53514:126:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "53536:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53544:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53532:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53532:14:2" + }, + { + "hexValue": "63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53548:34:2", + "type": "", + "value": "cannot upload weightCommitment m" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53525:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "53525:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53525:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "53604:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53612:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53600:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53600:15:2" + }, + { + "hexValue": "756c7469706c652074696d6573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "53617:15:2", + "type": "", + "value": "ultiple times" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "53593:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "53593:40:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53593:40:2" + } + ] + }, + "name": "store_literal_in_memory_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "53506:6:2", + "type": "" + } + ], + "src": "53408:232:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "53792:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "53802:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "53868:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "53873:2:2", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "53809:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "53809:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "53802:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "53974:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "nodeType": "YulIdentifier", + "src": "53885:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "53885:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "53885:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "53987:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "53998:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54003:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "53994:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "53994:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "53987:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "53780:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "53788:3:2", + "type": "" + } + ], + "src": "53646:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54189:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "54199:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54211:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54222:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54207:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54207:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54199:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54246:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54257:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54242:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54242:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54265:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "54271:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "54261:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54261:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54235:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "54235:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54235:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "54291:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54425:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "54299:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "54299:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "54291:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "54169:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "54184:4:2", + "type": "" + } + ], + "src": "54018:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54549:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "54571:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54579:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54567:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54567:14:2" + }, + { + "hexValue": "574549474854", + "kind": "string", + "nodeType": "YulLiteral", + "src": "54583:8:2", + "type": "", + "value": "WEIGHT" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "54560:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "54560:32:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54560:32:2" + } + ] + }, + "name": "store_literal_in_memory_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "54541:6:2", + "type": "" + } + ], + "src": "54443:156:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "54751:219:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "54761:73:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54827:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54832:1:2", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "54768:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "54768:66:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54761:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54932:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "nodeType": "YulIdentifier", + "src": "54843:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "54843:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "54843:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "54945:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "54956:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "54961:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "54952:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "54952:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "54945:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "54739:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "54747:3:2", + "type": "" + } + ], + "src": "54605:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "55313:738:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "55323:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55335:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55346:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55331:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55331:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55323:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "55404:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55417:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55428:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55413:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55413:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "55360:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "55360:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55360:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "55483:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55496:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55507:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55492:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55492:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "55441:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "55441:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55441:70:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "55565:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55578:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55589:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55574:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55574:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "55521:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "55521:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55521:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "55647:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55660:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55671:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55656:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55656:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "55603:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "55603:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55603:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55696:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55707:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55692:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55692:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55717:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55723:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "55713:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55713:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55685:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55685:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55685:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "55743:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55877:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "55751:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "55751:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55743:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55903:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "55914:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "55899:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55899:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55924:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "55930:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "55920:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "55920:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "55892:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "55892:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "55892:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "55950:94:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "56022:6:2" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "56030:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "56039:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "55958:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "55958:86:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "55950:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "55245:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "55257:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "55265:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "55273:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "55281:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "55289:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "55297:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "55308:4:2", + "type": "" + } + ], + "src": "54976:1075:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56163:54:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "56185:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56193:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56181:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56181:14:2" + }, + { + "hexValue": "534b4d41534b434d4d54", + "kind": "string", + "nodeType": "YulLiteral", + "src": "56197:12:2", + "type": "", + "value": "SKMASKCMMT" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "56174:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "56174:36:2" + }, + "nodeType": "YulExpressionStatement", + "src": "56174:36:2" + } + ] + }, + "name": "store_literal_in_memory_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "56155:6:2", + "type": "" + } + ], + "src": "56057:160:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56369:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56379:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56445:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56450:2:2", + "type": "", + "value": "10" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "56386:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "56386:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56379:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56551:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "nodeType": "YulIdentifier", + "src": "56462:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "56462:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "56462:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "56564:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "56575:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56580:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56571:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56571:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "56564:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "56357:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "56365:3:2", + "type": "" + } + ], + "src": "56223:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "56932:738:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "56942:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "56954:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "56965:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "56950:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "56950:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "56942:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "57023:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57036:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57047:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57032:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57032:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "56979:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "56979:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "56979:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "57102:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57115:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57126:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57111:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57111:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "57060:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "57060:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57060:70:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "57184:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57197:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57208:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57193:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57193:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "57140:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "57140:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57140:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "57266:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57279:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57290:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57275:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57275:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "57222:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "57222:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57222:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57315:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57326:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57311:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57311:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57336:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57342:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "57332:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57332:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57304:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "57304:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57304:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "57362:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57496:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "57370:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "57370:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57362:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57522:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57533:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57518:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57518:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57543:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "57549:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "57539:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57539:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57511:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "57511:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57511:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "57569:94:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "57641:6:2" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "57649:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57658:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "57577:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "57577:86:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "57569:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "56864:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "56876:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "56884:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "56892:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "56900:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "56908:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "56916:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "56927:4:2", + "type": "" + } + ], + "src": "56595:1075:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "57782:116:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57804:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57812:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57800:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57800:14:2" + }, + { + "hexValue": "63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c65207469", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57816:34:2", + "type": "", + "value": "cannot upload skmask multiple ti" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57793:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "57793:58:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57793:58:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57872:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "57880:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "57868:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "57868:15:2" + }, + { + "hexValue": "6d6573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "57885:5:2", + "type": "", + "value": "mes" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "57861:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "57861:30:2" + }, + "nodeType": "YulExpressionStatement", + "src": "57861:30:2" + } + ] + }, + "name": "store_literal_in_memory_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "57774:6:2", + "type": "" + } + ], + "src": "57676:222:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58050:220:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "58060:74:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "58126:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58131:2:2", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "58067:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "58067:67:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "58060:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "58232:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "nodeType": "YulIdentifier", + "src": "58143:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "58143:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "58143:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "58245:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "58256:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58261:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58252:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58252:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "58245:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "58038:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "58046:3:2", + "type": "" + } + ], + "src": "57904:366:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58447:248:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "58457:26:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58469:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58480:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58465:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58465:18:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58457:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58504:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58515:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58500:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58500:17:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58523:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "58529:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "58519:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58519:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58493:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "58493:47:2" + }, + "nodeType": "YulExpressionStatement", + "src": "58493:47:2" + }, + { + "nodeType": "YulAssignment", + "src": "58549:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58683:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "58557:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "58557:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "58549:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "58427:9:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "58442:4:2", + "type": "" + } + ], + "src": "58276:419:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "58807:50:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "58829:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "58837:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "58825:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "58825:14:2" + }, + { + "hexValue": "534b4d41534b", + "kind": "string", + "nodeType": "YulLiteral", + "src": "58841:8:2", + "type": "", + "value": "SKMASK" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "58818:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "58818:32:2" + }, + "nodeType": "YulExpressionStatement", + "src": "58818:32:2" + } + ] + }, + "name": "store_literal_in_memory_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "58799:6:2", + "type": "" + } + ], + "src": "58701:156:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59009:219:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "59019:73:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "59085:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59090:1:2", + "type": "", + "value": "6" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "59026:58:2" + }, + "nodeType": "YulFunctionCall", + "src": "59026:66:2" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "59019:3:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "59190:3:2" + } + ], + "functionName": { + "name": "store_literal_in_memory_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "nodeType": "YulIdentifier", + "src": "59101:88:2" + }, + "nodeType": "YulFunctionCall", + "src": "59101:93:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59101:93:2" + }, + { + "nodeType": "YulAssignment", + "src": "59203:19:2", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "59214:3:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59219:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59210:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59210:12:2" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "59203:3:2" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "58997:3:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "59005:3:2", + "type": "" + } + ], + "src": "58863:365:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "59571:738:2", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "59581:27:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59593:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59604:3:2", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59589:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59589:19:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "59581:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "59662:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59675:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59686:1:2", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59671:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59671:17:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "59618:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "59618:71:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59618:71:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "59741:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59754:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59765:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59750:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59750:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_uint64_to_t_uint64_fromStack", + "nodeType": "YulIdentifier", + "src": "59699:41:2" + }, + "nodeType": "YulFunctionCall", + "src": "59699:70:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59699:70:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "59823:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59836:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59847:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59832:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59832:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "59779:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "59779:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59779:72:2" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "59905:6:2" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59918:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59929:2:2", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59914:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59914:18:2" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "59861:43:2" + }, + "nodeType": "YulFunctionCall", + "src": "59861:72:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59861:72:2" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59954:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "59965:3:2", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "59950:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59950:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "59975:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "59981:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "59971:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "59971:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "59943:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "59943:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "59943:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "60001:139:2", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60135:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "60009:124:2" + }, + "nodeType": "YulFunctionCall", + "src": "60009:131:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60001:4:2" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60161:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "60172:3:2", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "60157:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60157:19:2" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60182:4:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "60188:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "60178:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "60178:20:2" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "60150:6:2" + }, + "nodeType": "YulFunctionCall", + "src": "60150:49:2" + }, + "nodeType": "YulExpressionStatement", + "src": "60150:49:2" + }, + { + "nodeType": "YulAssignment", + "src": "60208:94:2", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "60280:6:2" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "60288:6:2" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60297:4:2" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "60216:63:2" + }, + "nodeType": "YulFunctionCall", + "src": "60216:86:2" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "60208:4:2" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "59503:9:2", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "59515:6:2", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "59523:6:2", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "59531:6:2", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "59539:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "59547:6:2", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "59555:6:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "59566:4:2", + "type": "" + } + ], + "src": "59234:1075:2" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function cleanup_t_uint64(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffff)\n }\n\n function validator_revert_t_uint64(value) {\n if iszero(eq(value, cleanup_t_uint64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint64(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint32(value) -> cleaned {\n cleaned := and(value, 0xffffffff)\n }\n\n function validator_revert_t_uint32(value) {\n if iszero(eq(value, cleanup_t_uint32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint32(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_uint32t_uint32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // address[]\n function abi_decode_t_array$_t_address_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_array$_t_address_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_array$_t_address_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint64_to_t_uint64(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_t_uint32_to_t_uint32(value, pos) {\n mstore(pos, cleanup_t_uint32(value))\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n // struct DeltaContract.ExtCallTaskRoundStruct -> struct DeltaContract.ExtCallTaskRoundStruct\n function abi_encode_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // currentRound\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x00))\n }\n\n {\n // maxSample\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint32_to_t_uint32(memberValue0, add(pos, 0x20))\n }\n\n {\n // minSample\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint32_to_t_uint32(memberValue0, add(pos, 0x40))\n }\n\n {\n // status\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0x60))\n }\n\n {\n // joinedAddrs\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr__to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_to_t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n // struct DeltaContract.SSData -> struct DeltaContract.SSData\n function abi_encode_t_struct$_SSData_$100_memory_ptr_to_t_struct$_SSData_$100_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x80)\n\n {\n // seedPiece\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // seedCommitment\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // secretKeyPiece\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // secretKeyMaskCommitment\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_SSData_$100_memory_ptr__to_t_struct$_SSData_$100_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_SSData_$100_memory_ptr_to_t_struct$_SSData_$100_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n // struct DeltaContract.Task -> struct DeltaContract.Task\n function abi_encode_t_struct$_Task_$56_memory_ptr_to_t_struct$_Task_$56_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // creator\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // creatorUrl\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // dataSet\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // commitment\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x60))\n }\n\n {\n // currentRound\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_uint64_to_t_uint64(memberValue0, add(pos, 0x80))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_Task_$56_memory_ptr__to_t_struct$_Task_$56_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Task_$56_memory_ptr_to_t_struct$_Task_$56_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_t_uint64_to_t_uint64_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint64(value))\n }\n\n function abi_encode_tuple_t_uint64_t_uint64__to_t_uint64_t_uint64__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_address(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n // struct DeltaContract.Candidate -> struct DeltaContract.Candidate\n function abi_encode_t_struct$_Candidate_$61_memory_ptr_to_t_struct$_Candidate_$61_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // pk1\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x00))\n }\n\n {\n // pk2\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_bytes32_to_t_bytes32(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_tuple_t_struct$_Candidate_$61_memory_ptr__to_t_struct$_Candidate_$61_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_Candidate_$61_memory_ptr_to_t_struct$_Candidate_$61_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_addresst_uint64(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value4 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_uint64t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2, value3 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063(memPtr) {\n\n mstore(add(memPtr, 0), \"Must called by the task owner\")\n\n }\n\n function abi_encode_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf(memPtr) {\n\n mstore(add(memPtr, 0), \"this round does not exist\")\n\n }\n\n function abi_encode_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64__to_t_bytes32_t_uint64__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n }\n\n function store_literal_in_memory_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210(memPtr) {\n\n mstore(add(memPtr, 0), \"Task not exists\")\n\n }\n\n function abi_encode_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n store_literal_in_memory_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7(memPtr) {\n\n mstore(add(memPtr, 0), \"the round has been already start\")\n\n mstore(add(memPtr, 32), \"ed or the pre round does not exi\")\n\n mstore(add(memPtr, 64), \"st\")\n\n }\n\n function abi_encode_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 66)\n store_literal_in_memory_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_tuple_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function store_literal_in_memory_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171(memPtr) {\n\n mstore(add(memPtr, 0), \"Must provide addresses\")\n\n }\n\n function abi_encode_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640(memPtr) {\n\n mstore(add(memPtr, 0), \"Candidate must exist\")\n\n }\n\n function abi_encode_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_calldata_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function calldata_access_t_address(baseRef, ptr) -> value {\n value := abi_decode_t_address(ptr, add(ptr, 32))\n }\n\n function array_nextElement_t_array$_t_address_$dyn_calldata_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, length, pos) -> end {\n\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_calldata_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := calldata_access_t_address(baseRef, srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_calldata_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_array$_t_address_$dyn_calldata_ptr__to_t_bytes32_t_uint64_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_$dyn_calldata_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value2, value3, tail)\n\n }\n\n function store_literal_in_memory_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850(memPtr) {\n\n mstore(add(memPtr, 0), \"Calculating has not started\")\n\n }\n\n function abi_encode_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293(memPtr) {\n\n mstore(add(memPtr, 0), \"The Task Round Must exists\")\n\n }\n\n function abi_encode_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324(memPtr) {\n\n mstore(add(memPtr, 0), \"commitment length exceeds limit \")\n\n mstore(add(memPtr, 32), \"or it is empty\")\n\n }\n\n function abi_encode_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d(memPtr) {\n\n mstore(add(memPtr, 0), \"not in upload ss phase\")\n\n }\n\n function abi_encode_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0(memPtr) {\n\n mstore(add(memPtr, 0), \"must upload commitment first\")\n\n }\n\n function abi_encode_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7(memPtr) {\n\n mstore(add(memPtr, 0), \"cannot upload seed multiple time\")\n\n mstore(add(memPtr, 32), \"s\")\n\n }\n\n function abi_encode_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce(memPtr) {\n\n mstore(add(memPtr, 0), \"SEED\")\n\n }\n\n function abi_encode_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 4)\n store_literal_in_memory_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce(pos)\n end := add(pos, 32)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n // bytes -> bytes\n function abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value4, value5, tail)\n\n }\n\n function store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner\")\n\n }\n\n function abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2(memPtr) {\n\n mstore(add(memPtr, 0), \"This round is not running now\")\n\n }\n\n function abi_encode_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2(memPtr) {\n\n mstore(add(memPtr, 0), \"join phase has passed\")\n\n }\n\n function abi_encode_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot join the same round multi\")\n\n mstore(add(memPtr, 32), \"ple times\")\n\n }\n\n function abi_encode_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc(memPtr) {\n\n mstore(add(memPtr, 0), \"not in secret sharing phase\")\n\n }\n\n function abi_encode_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea(memPtr) {\n\n mstore(add(memPtr, 0), \"cannot upload seed cmmt multiple\")\n\n mstore(add(memPtr, 32), \" times\")\n\n }\n\n function abi_encode_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb(memPtr) {\n\n mstore(add(memPtr, 0), \"SEEDCMMT\")\n\n }\n\n function abi_encode_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 8)\n store_literal_in_memory_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value4, value5, tail)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n // string -> string\n function abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_string_calldata_ptr_t_bytes32__to_t_uint256_t_address_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(value2, value3, tail)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value4, add(headStart, 96))\n\n }\n\n function abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_string_calldata_ptr_to_t_string_memory_ptr_fromStack(value3, value4, tail)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value5, add(headStart, 96))\n\n }\n\n function store_literal_in_memory_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835(memPtr) {\n\n mstore(add(memPtr, 0), \"not in uploading phase\")\n\n }\n\n function abi_encode_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086(memPtr) {\n\n mstore(add(memPtr, 0), \"cannot upload weightCommitment m\")\n\n mstore(add(memPtr, 32), \"ultiple times\")\n\n }\n\n function abi_encode_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58(memPtr) {\n\n mstore(add(memPtr, 0), \"WEIGHT\")\n\n }\n\n function abi_encode_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 6)\n store_literal_in_memory_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value4, value5, tail)\n\n }\n\n function store_literal_in_memory_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f(memPtr) {\n\n mstore(add(memPtr, 0), \"SKMASKCMMT\")\n\n }\n\n function abi_encode_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 10)\n store_literal_in_memory_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value4, value5, tail)\n\n }\n\n function store_literal_in_memory_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9(memPtr) {\n\n mstore(add(memPtr, 0), \"cannot upload skmask multiple ti\")\n\n mstore(add(memPtr, 32), \"mes\")\n\n }\n\n function abi_encode_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86(memPtr) {\n\n mstore(add(memPtr, 0), \"SKMASK\")\n\n }\n\n function abi_encode_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 6)\n store_literal_in_memory_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_bytes32_t_uint64_t_address_t_address_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_t_bytes_calldata_ptr__to_t_bytes32_t_uint64_t_address_t_address_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint64_to_t_uint64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86_to_t_string_memory_ptr_fromStack( tail)\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_bytes_calldata_ptr_to_t_bytes_memory_ptr_fromStack(value4, value5, tail)\n\n }\n\n}\n", + "id": 2, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "134:19220:0:-:0;;;468:8;425:51;;;;;;;;;;;;;;;;;;;;520:3;482:41;;;;;;;;;;;;;;;;;;;;3976:170;;;;;;;;;;4008:10;4000:5;;:18;;;;;;;;;;;;;;;;;;4133:5;;;;;;;;;;4112:27;;4129:1;4112:27;;;;;;;;;;;;134:19220;;;;;;", + "deployedSourceMap": "134:19220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12131:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5451:897;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8413:506;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7776:412;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10767:572;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9891:445;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4234:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18765:191;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;19271:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14850:918;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19056:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11585:407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18504:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6624:626;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13730:884;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18639:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7360:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9370:454;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4683:556;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12596:869;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16031:1079;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17355:1139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12131:254;12188:6;3846:10;3813:43;;:12;:21;3826:7;3813:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;3805:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;12208:6:::1;12215:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12239:26:::2;12268:10;:18;12279:6;12268:18;;;;;;;;;;;12287:5;12268:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;12239:54;;12321:20;12303:8;:15;;;:38;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;12356:22;12365:6;12372:5;12356:22;;;;;;;:::i;:::-;;;;;;;;12229:156;3357:165:::1;3899:1;;12131:254:::0;;;:::o;5451:897::-;5545:6;3256:1;3215:43;;:12;:21;3228:7;3215:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;;3206:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5563:6:::1;3846:10;3813:43;;:12;:21;3826:7;3813:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;3805:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;5588:26:::2;5617:10;:18;5628:6;5617:18;;;;;;;;;;;5588:47;;5670:5;5653:22;;:6;:13;;;;:22;5645:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;5755:17;5775:12;:20;5788:6;5775:20;;;;;;;;;;;5755:40;;5825:5;5805:4;:17;;;:25;;;;;;;;;;;;;;;;;;5840:96;5863:1;5846:6;:13;;;;:18;:47;;;;5888:5;5868:25;;5884:1;5868:6;:13;;;;:17;;;;:::i;:::-;:25;5846:47;5840:96;;;5909:6;:13;;;;;;;;;;;;;;;;;;;;;::::0;;5840:96:::2;;;5974:5;5945:6;5952:5;5945:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:26;;;:34;;;;;;;;;;;;;;;;;;6015:9;5989:6;5996:5;5989:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;:35;;;;;;;;;;;;;;;;;;6060:9;6034:6;6041:5;6034:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;:35;;;;;;;;;;;;;;;;;;6102:19;6079:6;6086:5;6079:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:20;;;:42;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;6131:37;6171:21;:29;6193:6;6171:29;;;;;;;;;;;6131:69;;6210:93;6232:1;6216:5;:12;;;;:17;:45;;;;6256:5;6237:24;;6252:1;6237:5;:12;;;;:16;;;;:::i;:::-;:24;6216:45;6210:93;;;6277:5;:12;;;;;;;;;;;;;;;;;;;;;::::0;;6210:93:::2;;;6317:24;6328:6;6335:5;6317:24;;;;;;;:::i;:::-;;;;;;;;5578:770;;;3288:1:::1;5451:897:::0;;;;;:::o;8413:506::-;8503:6;3846:10;3813:43;;:12;:21;3826:7;3813:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;3805:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;8523:6:::1;8530:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8577:1:::2;8562:5;;:12;;:16;8554:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8614:26;8643:10;:18;8654:6;8643:18;;;;;;;;;;;8662:5;8643:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;8614:54;;8682:6;8678:138;8698:5;;:12;;8694:1;:16;8678:138;;;8777:4;8740:41:::0;::::2;:8;:19;;:29;8760:5;;8766:1;8760:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8740:29;;;;;;;;;;;;;;;:33;;;:41;;8732:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8712:4;;;;;:::i;:::-;;;;8678:138;;;;8843:19;8825:8;:15;;;:37;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;8877:35;8893:6;8900:5;8906;;8877:35;;;;;;;;;:::i;:::-;;;;;;;;8544:375;3357:165:::1;3899:1;;8413:506:::0;;;;;:::o;7776:412::-;7873:39;;:::i;:::-;7839:6;7846:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7924:22:::1;7949:10;:18;7960:6;7949:18;;;;;;;;;;;7968:5;7949:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;7924:50;;7996:185;;;;;;;;8033:4;:17;;;;;;;;;;;;7996:185;;;;;;8061:4;:14;;;;;;;;;;;;7996:185;;;;;;8086:4;:14;;;;;;;;;;;;7996:185;;;;;;8116:4;:11;;;;;;;;;;;;8108:20;;;;;;;;:::i;:::-;;7996:185;;;;;;8154:4;:16;;7996:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;7984:197:::1;;7914:274;3357:165:::0;7776:412;;;;;;:::o;10767:572::-;10863:6;3846:10;3813:43;;:12;:21;3826:7;3813:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;3805:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;10883:6:::1;10890:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10914:26:::2;10943:10;:18;10954:6;10943:18;;;;;;;;;;;10962:5;10943:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10914:54;;11005:23;10986:42;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:42;;;;;;;;:::i;:::-;;;10978:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11087:23;11069:8;:15;;;:41;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;11124:6;11120:154;11140:13;;:20;;11136:1;:24;11120:154;;;11235:4;11190:49:::0;::::2;:8;:19;;:37;11210:13;;11224:1;11210:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11190:37;;;;;;;;;;;;;;;:41;;;:49;;11182:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11162:4;;;;;:::i;:::-;;;;11120:154;;;;11288:44;11305:6;11312:5;11318:13;;11288:44;;;;;;;;;:::i;:::-;;;;;;;;10904:435;3357:165:::1;3899:1;;10767:572:::0;;;;;:::o;9891:445::-;10055:20;;:::i;:::-;9991:6;9998:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10021:6:::1;10028:5;3593:37;3633:21;:30;3655:7;3633:30;;;;;;;;;;;3593:70;;3696:5;3681:20;;:5;:12;;;;:20;3673:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10087:37:::2;10127:21;:29;10149:6;10127:29;;;;;;;;;;;10087:69;;10190:5;10174:21;;:5;:12;;;;:21;;10166:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10235:34;10272:5;10278;10272:12;;;;;;;;;;:::i;:::-;;;;;;;;;;;;10235:49;;10303:4;:11;;:18;10315:5;10303:18;;;;;;;;;;;;;;;:26;10322:6;10303:26;;;;;;;;;;;;;;;10294:35;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;10077:259;;3583:166:::1;3514:1;;3357:165:::0;9891:445;;;;;;;;:::o;4234:139::-;4311:16;;:::i;:::-;4282:6;3256:1;3215:43;;:12;:21;3228:7;3215:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;;3206:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4346:12:::1;:20;4359:6;4346:20;;;;;;;;;;;4339:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;4234:139:::0;;;;:::o;18765:191::-;18821:15;18837:19;18879:20;;;;;;;;;;;18868:31;;18924:25;;;;;;;;;;;18909:40;;18765:191;;:::o;19271:81::-;19314:7;19340:5;;;;;;;;;;;19333:12;;19271:81;:::o;14850:918::-;14946:6;14953:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;14999:1:::1;14985:4;;:11;;:15;:54;;;;;15019:20;;;;;;;;;;;15004:35;;:4;;:11;;:35;;14985:54;14977:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;15100:26;15129:10;:18;15140:6;15129:18;;;;;;;;;;;15148:5;15129:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;15100:54;;15191:23;15172:42;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:42;;;;;;;;:::i;:::-;;;15164:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;15250:43;15296:21;:29;15318:6;15296:29;;;;;;;;;;;15250:75;;15335:40;15378:11;15390:5;15378:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;15335:61;;15476:1;15414:10;:17;;:29;15432:10;15414:29;;;;;;;;;;;;;;;:37;15444:6;15414:37;;;;;;;;;;;;;;;:52;;:59;;;;;:::i;:::-;;;:63;15406:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;15585:1;15527:10;:17;;:29;15545:10;15527:29;;;;;;;;;;;;;;;:37;15557:6;15527:37;;;;;;;;;;;;;;;:47;;:54;;;;;:::i;:::-;;;:59;15519:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;15683:4;;15633:10;:17;;:29;15651:10;15633:29;;;;;;;;;;;;;;;:37;15663:6;15633:37;;;;;;;;;;;;;;;:47;;:54;;;;;;;:::i;:::-;;15702:59;15718:6;15725:5;15731:10;15742:6;15756:4;;15702:59;;;;;;;;;;;:::i;:::-;;;;;;;;14967:801;;;3357:165:::0;14850:918;;;;;;;:::o;19056:127::-;3102:5;;;;;;;;;;3088:19;;:10;:19;;;3080:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;19141:8:::1;19125:25;;19134:5;::::0;::::1;;;;;;;;19125:25;;;;;;;;;;;;19168:8;19160:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;19056:127:::0;:::o;11585:407::-;11681:6;3846:10;3813:43;;:12;:21;3826:7;3813:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;3805:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;11701:6:::1;11708:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11732:26:::2;11761:10;:18;11772:6;11761:18;;;;;;;;;;;11780:5;11761:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;11732:54;;11823:19;11804:38;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:38;;;;;;;;:::i;:::-;;;11796:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11903:23;11885:8;:15;;;:41;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;11941:44;11958:6;11965:5;11971:13;;11941:44;;;;;;;;;:::i;:::-;;;;;;;;11722:270;3357:165:::1;3899:1;;11585:407:::0;;;;;:::o;18504:125::-;3102:5;;;;;;;;;;3088:19;;:10;:19;;;3080:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;18613:9:::1;18585:25;;:37;;;;;;;;;;;;;;;;;;18504:125:::0;:::o;6624:626::-;6756:4;6707:6;3256:1;3215:43;;:12;:21;3228:7;3215:21;;;;;;;;;;;:29;;;;;;;;;;;;:43;;;;3206:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6727:6:::1;6734:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;6771:26:::2;6800:10;:18;6811:6;6800:18;;;;;;;;;;;6771:47;;6828:27;6858:6;6881:1;6865:6;:13;;;;:17;;;;:::i;:::-;6858:25;;;;;;;;:::i;:::-;;;;;;;;;;;;6828:55;;6922:5;6901:26;;6917:1;6901:6;:13;;;;:17;;;;:::i;:::-;:26;:69;;;;;6951:19;6931:39;;;;;;;;:::i;:::-;;:9;:16;;;;;;;;;;;;:39;;;;;;;;:::i;:::-;;;6901:69;6893:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;7053:3;7013:43:::0;::::2;:9;:20;;:32;7034:10;7013:32;;;;;;;;;;;;;;;:36;;;:43;7005:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;7146:28;;;;;;;;7161:3;7146:28;;;;7169:3;7146:28;;::::0;7111:9:::2;:20;;:32;7132:10;7111:32;;;;;;;;;;;;;;;:63;;;;;;;;;;;;;;;;;;;7184:9;:21;;7211:10;7184:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7239:4;7232:11;;;;3357:165:::1;3288:1;;6624:626:::0;;;;;;;:::o;13730:884::-;13846:6;13853:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;13909:1:::1;13885:14;;:21;;:25;:74;;;;;13939:20;;;;;;;;;;;13914:45;;:14;;:21;;:45;;13885:74;13877:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;14019:26;14048:10;:18;14059:6;14048:18;;;;;;;;;;;14067:5;14048:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;14019:54;;14110:19;14091:38;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:38;;;;;;;;:::i;:::-;;;14083:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;14170:43;14216:21;:29;14238:6;14216:29;;;;;;;;;;;14170:75;;14255:40;14298:11;14310:5;14298:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;14255:61;;14397:1;14334:10;:17;;:29;14352:10;14334:29;;;;;;;;;;;;;;;:37;14364:6;14334:37;;;;;;;;;;;;;;;:52;;:59;;;;;:::i;:::-;;;:64;14326:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;14505:14;;14450:10;:17;;:29;14468:10;14450:29;;;;;;;;;;;;;;;:37;14480:6;14450:37;;;;;;;;;;;;;;;:52;;:69;;;;;;;:::i;:::-;;14534:73;14550:6;14557:5;14563:10;14574:6;14592:14;;14534:73;;;;;;;;;;;:::i;:::-;;;;;;;;13867:747;;;3357:165:::0;13730:884;;;;;;;:::o;18639:116::-;3102:5;;;;;;;;;;3088:19;;:10;:19;;;3080:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;18739:9:::1;18716:20;;:32;;;;;;;;;;;;;;;;;;18639:116:::0;:::o;7360:235::-;7487:26;;:::i;:::-;7452:6;7459:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7537:10:::1;:18;7548:6;7537:18;;;;;;;;;;;7556:5;7537:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:36;;:51;7574:13;7537:51;;;;;;;;;;;;;;;7525:63;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;3357:165:::0;7360:235;;;;;;;:::o;9370:454::-;9526:23;9462:6;9469:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9492:6:::1;9499:5;3593:37;3633:21;:30;3655:7;3633:30;;;;;;;;;;;3593:70;;3696:5;3681:20;;:5;:12;;;;:20;3673:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9561:37:::2;9601:21;:29;9623:6;9601:29;;;;;;;;;;;9561:69;;9664:5;9648:21;;:5;:12;;;;:21;;9640:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9709:34;9746:5;9752;9746:12;;;;;;;;;;:::i;:::-;;;;;;;;;;;;9709:49;;9781:4;:21;;:36;9803:13;9781:36;;;;;;;;;;;;;;;9768:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9551:273;;3583:166:::1;3514:1;;3357:165:::0;9370:454;;;;;;;:::o;4683:556::-;4798:14;4824:15;4863;4879:10;4890:7;;4898:10;4852:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4842:68;;;;;;4824:86;;4945:101;;;;;;;;4981:10;4945:101;;;;;;4962:10;;4945:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5000:7;;4945:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5019:10;4945:101;;;;5043:1;4945:101;;;;;4921:12;:21;4934:7;4921:21;;;;;;;;;;;:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5066:7;5057:16;;5084:26;5113:10;:18;5124:6;5113:18;;;;;;;;;;;5084:47;;5142:6;:13;;;;;;;;;;;;;;;;;;;;;;;5183:10;5171:61;;;5194:7;5202;;5210:10;;5221;5171:61;;;;;;;;;;;:::i;:::-;;;;;;;;4813:426;;4683:556;;;;;;;:::o;12596:869::-;12701:6;12708:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12766:1:::1;12740:16;;:23;;:27;:83;;;;;12798:25;;;;;;;;;;;12771:52;;:16;;:23;;:52;;12740:83;12732:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;12883:26;12912:10;:18;12923:6;12912:18;;;;;;;;;;;12931:5;12912:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;12883:54;;12974:23;12955:42;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:42;;;;;;;;:::i;:::-;;;12947:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;13034:43;13080:21;:29;13102:6;13080:29;;;;;;;;;;;13034:75;;13119:40;13162:11;13174:5;13162:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;13119:61;;13248:1;13198:10;:27;;:39;13226:10;13198:39;;;;;;;;;;;;;;;:46;;;;;:::i;:::-;;;:51;13190:108;;;;;;;;;;;;:::i;:::-;;;;;;;;;13350:16;;13308:10;:27;;:39;13336:10;13308:39;;;;;;;;;;;;;;;:58;;;;;;;:::i;:::-;;13381:77;13397:6;13404:5;13410:10;13429:1;13441:16;;13381:77;;;;;;;;;;;:::i;:::-;;;;;;;;12722:743;;;3357:165:::0;12596:869;;;;;;:::o;16031:1079::-;16157:6;16164:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;16225:1:::1;16196:19;;:26;;:30;:84;;;;;16260:20;;;;;;;;;;;16230:50;;:19;;:26;;:50;;16196:84;16188:142;;;;;;;;;;;;:::i;:::-;;;;;;;;;16340:26;16369:10;:18;16380:6;16369:18;;;;;;;;;;;16388:5;16369:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;16340:54;;16431:19;16412:38;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:38;;;;;;;;:::i;:::-;;;16404:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;16491:43;16537:21;:29;16559:6;16537:29;;;;;;;;;;;16491:75;;16601:5;16579:27;;:11;:18;;;;:27;16576:75;;;16622:11;:18;;;;;;;;;;;;;;;;;;;;;::::0;;16576:75:::1;16660:40;16703:11;16715:5;16703:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;16660:61;;16811:1;16739:10;:17;;:29;16757:10;16739:29;;;;;;;;;;;;;;;:37;16769:6;16739:37;;;;;;;;;;;;;;;:61;;:68;;;;;:::i;:::-;;;:73;16731:118;;;;;;;;;;;;:::i;:::-;;;;;;;;;16923:19;;16859:10;:17;;:29;16877:10;16859:29;;;;;;;;;;;;;;;:37;16889:6;16859:37;;;;;;;;;;;;;;;:61;;:83;;;;;;;:::i;:::-;;16957:80;16973:6;16980:5;16986:10;16997:6;17017:19;;16957:80;;;;;;;;;;;:::i;:::-;;;;;;;;16178:932;;;3357:165:::0;16031:1079;;;;;;;:::o;17355:1139::-;17468:6;17475:5;3367:26;3396:10;:19;3407:7;3396:19;;;;;;;;;;;3367:48;;3449:1;3433:6;:13;;;;:17;:42;;;;;3470:5;3454:21;;:6;:13;;;;:21;3433:42;3425:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;17530:1:::1;17507:13;;:20;;:24;:72;;;;;17559:20;;;;;;;;;;;17535:44;;:13;;:20;;:44;;17507:72;17499:130;;;;;;;;;;;;:::i;:::-;;;;;;;;;17639:26;17668:10;:18;17679:6;17668:18;;;;;;;;;;;17687:5;17668:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;17639:54;;17730:23;17711:42;;;;;;;;:::i;:::-;;:8;:15;;;;;;;;;;;;:42;;;;;;;;:::i;:::-;;;17703:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;17789:43;17835:21;:29;17857:6;17835:29;;;;;;;;;;;17789:75;;17899:5;17877:27;;:11;:18;;;;:27;17874:75;;;17920:11;:18;;;;;;;;;;;;;;;;;;;;;::::0;;17874:75:::1;17958:40;18001:11;18013:5;18001:18;;;;;;;;;;:::i;:::-;;;;;;;;;;;;17958:61;;18107:1;18037:10;:17;;:24;18055:5;18037:24;;;;;;;;;;;;;;;:36;18062:10;18037:36;;;;;;;;;;;;;;;:60;;:67;;;;;:::i;:::-;;;:71;18029:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;18220:1;18158:10;:17;;:24;18176:5;18158:24;;;;;;;;;;;;;;;:36;18183:10;18158:36;;;;;;;;;;;;;;;:51;;:58;;;;;:::i;:::-;;;:63;18150:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;18324:13;;18270:10;:17;;:24;18288:5;18270:24;;;;;;;;;;;;;;;:36;18295:10;18270:36;;;;;;;;;;;;;;;:51;;:67;;;;;;;:::i;:::-;;18352:69;18368:6;18375:5;18381;18387:10;18407:13;;18352:69;;;;;;;;;;;:::i;:::-;;;;;;;;17489:1005;;;3357:165:::0;17355:1139;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;88:117:2:-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:101::-;726:7;766:18;759:5;755:30;744:41;;690:101;;;:::o;797:120::-;869:23;886:5;869:23;:::i;:::-;862:5;859:34;849:62;;907:1;904;897:12;849:62;797:120;:::o;923:137::-;968:5;1006:6;993:20;984:29;;1022:32;1048:5;1022:32;:::i;:::-;923:137;;;;:::o;1066:472::-;1133:6;1141;1190:2;1178:9;1169:7;1165:23;1161:32;1158:119;;;1196:79;;:::i;:::-;1158:119;1316:1;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1287:117;1443:2;1469:52;1513:7;1504:6;1493:9;1489:22;1469:52;:::i;:::-;1459:62;;1414:117;1066:472;;;;;:::o;1544:93::-;1580:7;1620:10;1613:5;1609:22;1598:33;;1544:93;;;:::o;1643:120::-;1715:23;1732:5;1715:23;:::i;:::-;1708:5;1705:34;1695:62;;1753:1;1750;1743:12;1695:62;1643:120;:::o;1769:137::-;1814:5;1852:6;1839:20;1830:29;;1868:32;1894:5;1868:32;:::i;:::-;1769:137;;;;:::o;1912:759::-;1995:6;2003;2011;2019;2068:3;2056:9;2047:7;2043:23;2039:33;2036:120;;;2075:79;;:::i;:::-;2036:120;2195:1;2220:53;2265:7;2256:6;2245:9;2241:22;2220:53;:::i;:::-;2210:63;;2166:117;2322:2;2348:52;2392:7;2383:6;2372:9;2368:22;2348:52;:::i;:::-;2338:62;;2293:117;2449:2;2475:52;2519:7;2510:6;2499:9;2495:22;2475:52;:::i;:::-;2465:62;;2420:117;2576:2;2602:52;2646:7;2637:6;2626:9;2622:22;2602:52;:::i;:::-;2592:62;;2547:117;1912:759;;;;;;;:::o;2677:117::-;2786:1;2783;2776:12;2800:117;2909:1;2906;2899:12;2923:117;3032:1;3029;3022:12;3063:568;3136:8;3146:6;3196:3;3189:4;3181:6;3177:17;3173:27;3163:122;;3204:79;;:::i;:::-;3163:122;3317:6;3304:20;3294:30;;3347:18;3339:6;3336:30;3333:117;;;3369:79;;:::i;:::-;3333:117;3483:4;3475:6;3471:17;3459:29;;3537:3;3529:4;3521:6;3517:17;3507:8;3503:32;3500:41;3497:128;;;3544:79;;:::i;:::-;3497:128;3063:568;;;;;:::o;3637:847::-;3740:6;3748;3756;3764;3813:2;3801:9;3792:7;3788:23;3784:32;3781:119;;;3819:79;;:::i;:::-;3781:119;3939:1;3964:53;4009:7;4000:6;3989:9;3985:22;3964:53;:::i;:::-;3954:63;;3910:117;4066:2;4092:52;4136:7;4127:6;4116:9;4112:22;4092:52;:::i;:::-;4082:62;;4037:117;4221:2;4210:9;4206:18;4193:32;4252:18;4244:6;4241:30;4238:117;;;4274:79;;:::i;:::-;4238:117;4387:80;4459:7;4450:6;4439:9;4435:22;4387:80;:::i;:::-;4369:98;;;;4164:313;3637:847;;;;;;;:::o;4490:105::-;4565:23;4582:5;4565:23;:::i;:::-;4560:3;4553:36;4490:105;;:::o;4601:::-;4676:23;4693:5;4676:23;:::i;:::-;4671:3;4664:36;4601:105;;:::o;4712:86::-;4747:7;4787:4;4780:5;4776:16;4765:27;;4712:86;;;:::o;4804:102::-;4877:22;4893:5;4877:22;:::i;:::-;4872:3;4865:35;4804:102;;:::o;4912:114::-;4979:6;5013:5;5007:12;4997:22;;4912:114;;;:::o;5032:174::-;5121:11;5155:6;5150:3;5143:19;5195:4;5190:3;5186:14;5171:29;;5032:174;;;;:::o;5212:132::-;5279:4;5302:3;5294:11;;5332:4;5327:3;5323:14;5315:22;;5212:132;;;:::o;5350:126::-;5387:7;5427:42;5420:5;5416:54;5405:65;;5350:126;;;:::o;5482:96::-;5519:7;5548:24;5566:5;5548:24;:::i;:::-;5537:35;;5482:96;;;:::o;5584:108::-;5661:24;5679:5;5661:24;:::i;:::-;5656:3;5649:37;5584:108;;:::o;5698:179::-;5767:10;5788:46;5830:3;5822:6;5788:46;:::i;:::-;5866:4;5861:3;5857:14;5843:28;;5698:179;;;;:::o;5883:113::-;5953:4;5985;5980:3;5976:14;5968:22;;5883:113;;;:::o;6032:712::-;6141:3;6170:54;6218:5;6170:54;:::i;:::-;6240:76;6309:6;6304:3;6240:76;:::i;:::-;6233:83;;6340:56;6390:5;6340:56;:::i;:::-;6419:7;6450:1;6435:284;6460:6;6457:1;6454:13;6435:284;;;6536:6;6530:13;6563:63;6622:3;6607:13;6563:63;:::i;:::-;6556:70;;6649:60;6702:6;6649:60;:::i;:::-;6639:70;;6495:224;6482:1;6479;6475:9;6470:14;;6435:284;;;6439:14;6735:3;6728:10;;6146:598;;;6032:712;;;;:::o;6848:1201::-;6993:3;7029:4;7024:3;7020:14;7124:4;7117:5;7113:16;7107:23;7143:61;7198:4;7193:3;7189:14;7175:12;7143:61;:::i;:::-;7044:170;7301:4;7294:5;7290:16;7284:23;7320:61;7375:4;7370:3;7366:14;7352:12;7320:61;:::i;:::-;7224:167;7478:4;7471:5;7467:16;7461:23;7497:61;7552:4;7547:3;7543:14;7529:12;7497:61;:::i;:::-;7401:167;7652:4;7645:5;7641:16;7635:23;7671:59;7724:4;7719:3;7715:14;7701:12;7671:59;:::i;:::-;7578:162;7829:4;7822:5;7818:16;7812:23;7882:3;7876:4;7872:14;7865:4;7860:3;7856:14;7849:38;7908:103;8006:4;7992:12;7908:103;:::i;:::-;7900:111;;7750:272;8039:4;8032:11;;6998:1051;6848:1201;;;;:::o;8055:425::-;8224:4;8262:2;8251:9;8247:18;8239:26;;8311:9;8305:4;8301:20;8297:1;8286:9;8282:17;8275:47;8339:134;8468:4;8459:6;8339:134;:::i;:::-;8331:142;;8055:425;;;;:::o;8486:122::-;8559:24;8577:5;8559:24;:::i;:::-;8552:5;8549:35;8539:63;;8598:1;8595;8588:12;8539:63;8486:122;:::o;8614:139::-;8660:5;8698:6;8685:20;8676:29;;8714:33;8741:5;8714:33;:::i;:::-;8614:139;;;;:::o;8759:763::-;8844:6;8852;8860;8868;8917:3;8905:9;8896:7;8892:23;8888:33;8885:120;;;8924:79;;:::i;:::-;8885:120;9044:1;9069:53;9114:7;9105:6;9094:9;9090:22;9069:53;:::i;:::-;9059:63;;9015:117;9171:2;9197:52;9241:7;9232:6;9221:9;9217:22;9197:52;:::i;:::-;9187:62;;9142:117;9298:2;9324:53;9369:7;9360:6;9349:9;9345:22;9324:53;:::i;:::-;9314:63;;9269:118;9426:2;9452:53;9497:7;9488:6;9477:9;9473:22;9452:53;:::i;:::-;9442:63;;9397:118;8759:763;;;;;;;:::o;9528:98::-;9579:6;9613:5;9607:12;9597:22;;9528:98;;;:::o;9632:158::-;9705:11;9739:6;9734:3;9727:19;9779:4;9774:3;9770:14;9755:29;;9632:158;;;;:::o;9796:307::-;9864:1;9874:113;9888:6;9885:1;9882:13;9874:113;;;9973:1;9968:3;9964:11;9958:18;9954:1;9949:3;9945:11;9938:39;9910:2;9907:1;9903:10;9898:15;;9874:113;;;10005:6;10002:1;9999:13;9996:101;;;10085:1;10076:6;10071:3;10067:16;10060:27;9996:101;9845:258;9796:307;;;:::o;10109:102::-;10150:6;10201:2;10197:7;10192:2;10185:5;10181:14;10177:28;10167:38;;10109:102;;;:::o;10217:340::-;10293:3;10321:38;10353:5;10321:38;:::i;:::-;10375:60;10428:6;10423:3;10375:60;:::i;:::-;10368:67;;10444:52;10489:6;10484:3;10477:4;10470:5;10466:16;10444:52;:::i;:::-;10521:29;10543:6;10521:29;:::i;:::-;10516:3;10512:39;10505:46;;10297:260;10217:340;;;;:::o;10629:1199::-;10744:3;10780:4;10775:3;10771:14;10872:4;10865:5;10861:16;10855:23;10925:3;10919:4;10915:14;10908:4;10903:3;10899:14;10892:38;10951:71;11017:4;11003:12;10951:71;:::i;:::-;10943:79;;10795:238;11125:4;11118:5;11114:16;11108:23;11178:3;11172:4;11168:14;11161:4;11156:3;11152:14;11145:38;11204:71;11270:4;11256:12;11204:71;:::i;:::-;11196:79;;11043:243;11378:4;11371:5;11367:16;11361:23;11431:3;11425:4;11421:14;11414:4;11409:3;11405:14;11398:38;11457:71;11523:4;11509:12;11457:71;:::i;:::-;11449:79;;11296:243;11640:4;11633:5;11629:16;11623:23;11693:3;11687:4;11683:14;11676:4;11671:3;11667:14;11660:38;11719:71;11785:4;11771:12;11719:71;:::i;:::-;11711:79;;11549:252;11818:4;11811:11;;10749:1079;10629:1199;;;;:::o;11834:365::-;11973:4;12011:2;12000:9;11996:18;11988:26;;12060:9;12054:4;12050:20;12046:1;12035:9;12031:17;12024:47;12088:104;12187:4;12178:6;12088:104;:::i;:::-;12080:112;;11834:365;;;;:::o;12205:329::-;12264:6;12313:2;12301:9;12292:7;12288:23;12284:32;12281:119;;;12319:79;;:::i;:::-;12281:119;12439:1;12464:53;12509:7;12500:6;12489:9;12485:22;12464:53;:::i;:::-;12454:63;;12410:117;12205:329;;;;:::o;12540:99::-;12592:6;12626:5;12620:12;12610:22;;12540:99;;;:::o;12645:159::-;12719:11;12753:6;12748:3;12741:19;12793:4;12788:3;12784:14;12769:29;;12645:159;;;;:::o;12810:344::-;12888:3;12916:39;12949:5;12916:39;:::i;:::-;12971:61;13025:6;13020:3;12971:61;:::i;:::-;12964:68;;13041:52;13086:6;13081:3;13074:4;13067:5;13063:16;13041:52;:::i;:::-;13118:29;13140:6;13118:29;:::i;:::-;13113:3;13109:39;13102:46;;12892:262;12810:344;;;;:::o;13160:108::-;13237:24;13255:5;13237:24;:::i;:::-;13232:3;13225:37;13160:108;;:::o;13336:1213::-;13445:3;13481:4;13476:3;13472:14;13571:4;13564:5;13560:16;13554:23;13590:63;13647:4;13642:3;13638:14;13624:12;13590:63;:::i;:::-;13496:167;13751:4;13744:5;13740:16;13734:23;13804:3;13798:4;13794:14;13787:4;13782:3;13778:14;13771:38;13830:73;13898:4;13884:12;13830:73;:::i;:::-;13822:81;;13673:241;13999:4;13992:5;13988:16;13982:23;14052:3;14046:4;14042:14;14035:4;14030:3;14026:14;14019:38;14078:73;14146:4;14132:12;14078:73;:::i;:::-;14070:81;;13924:238;14250:4;14243:5;14239:16;14233:23;14269:63;14326:4;14321:3;14317:14;14303:12;14269:63;:::i;:::-;14172:170;14432:4;14425:5;14421:16;14415:23;14451:61;14506:4;14501:3;14497:14;14483:12;14451:61;:::i;:::-;14352:170;14539:4;14532:11;;13450:1099;13336:1213;;;;:::o;14555:353::-;14688:4;14726:2;14715:9;14711:18;14703:26;;14775:9;14769:4;14765:20;14761:1;14750:9;14746:17;14739:47;14803:98;14896:4;14887:6;14803:98;:::i;:::-;14795:106;;14555:353;;;;:::o;14914:115::-;14999:23;15016:5;14999:23;:::i;:::-;14994:3;14987:36;14914:115;;:::o;15035:324::-;15152:4;15190:2;15179:9;15175:18;15167:26;;15203:69;15269:1;15258:9;15254:17;15245:6;15203:69;:::i;:::-;15282:70;15348:2;15337:9;15333:18;15324:6;15282:70;:::i;:::-;15035:324;;;;;:::o;15365:118::-;15452:24;15470:5;15452:24;:::i;:::-;15447:3;15440:37;15365:118;;:::o;15489:222::-;15582:4;15620:2;15609:9;15605:18;15597:26;;15633:71;15701:1;15690:9;15686:17;15677:6;15633:71;:::i;:::-;15489:222;;;;:::o;15730:552::-;15787:8;15797:6;15847:3;15840:4;15832:6;15828:17;15824:27;15814:122;;15855:79;;:::i;:::-;15814:122;15968:6;15955:20;15945:30;;15998:18;15990:6;15987:30;15984:117;;;16020:79;;:::i;:::-;15984:117;16134:4;16126:6;16122:17;16110:29;;16188:3;16180:4;16172:6;16168:17;16158:8;16154:32;16151:41;16148:128;;;16195:79;;:::i;:::-;16148:128;15730:552;;;;;:::o;16288:961::-;16384:6;16392;16400;16408;16416;16465:3;16453:9;16444:7;16440:23;16436:33;16433:120;;;16472:79;;:::i;:::-;16433:120;16592:1;16617:53;16662:7;16653:6;16642:9;16638:22;16617:53;:::i;:::-;16607:63;;16563:117;16719:2;16745:52;16789:7;16780:6;16769:9;16765:22;16745:52;:::i;:::-;16735:62;;16690:117;16846:2;16872:53;16917:7;16908:6;16897:9;16893:22;16872:53;:::i;:::-;16862:63;;16817:118;17002:2;16991:9;16987:18;16974:32;17033:18;17025:6;17022:30;17019:117;;;17055:79;;:::i;:::-;17019:117;17168:64;17224:7;17215:6;17204:9;17200:22;17168:64;:::i;:::-;17150:82;;;;16945:297;16288:961;;;;;;;;:::o;17255:329::-;17314:6;17363:2;17351:9;17342:7;17338:23;17334:32;17331:119;;;17369:79;;:::i;:::-;17331:119;17489:1;17514:53;17559:7;17550:6;17539:9;17535:22;17514:53;:::i;:::-;17504:63;;17460:117;17255:329;;;;:::o;17590:327::-;17648:6;17697:2;17685:9;17676:7;17672:23;17668:32;17665:119;;;17703:79;;:::i;:::-;17665:119;17823:1;17848:52;17892:7;17883:6;17872:9;17868:22;17848:52;:::i;:::-;17838:62;;17794:116;17590:327;;;;:::o;17923:763::-;18008:6;18016;18024;18032;18081:3;18069:9;18060:7;18056:23;18052:33;18049:120;;;18088:79;;:::i;:::-;18049:120;18208:1;18233:53;18278:7;18269:6;18258:9;18254:22;18233:53;:::i;:::-;18223:63;;18179:117;18335:2;18361:52;18405:7;18396:6;18385:9;18381:22;18361:52;:::i;:::-;18351:62;;18306:117;18462:2;18488:53;18533:7;18524:6;18513:9;18509:22;18488:53;:::i;:::-;18478:63;;18433:118;18590:2;18616:53;18661:7;18652:6;18641:9;18637:22;18616:53;:::i;:::-;18606:63;;18561:118;17923:763;;;;;;;:::o;18692:90::-;18726:7;18769:5;18762:13;18755:21;18744:32;;18692:90;;;:::o;18788:109::-;18869:21;18884:5;18869:21;:::i;:::-;18864:3;18857:34;18788:109;;:::o;18903:210::-;18990:4;19028:2;19017:9;19013:18;19005:26;;19041:65;19103:1;19092:9;19088:17;19079:6;19041:65;:::i;:::-;18903:210;;;;:::o;19119:617::-;19195:6;19203;19211;19260:2;19248:9;19239:7;19235:23;19231:32;19228:119;;;19266:79;;:::i;:::-;19228:119;19386:1;19411:53;19456:7;19447:6;19436:9;19432:22;19411:53;:::i;:::-;19401:63;;19357:117;19513:2;19539:52;19583:7;19574:6;19563:9;19559:22;19539:52;:::i;:::-;19529:62;;19484:117;19640:2;19666:53;19711:7;19702:6;19691:9;19687:22;19666:53;:::i;:::-;19656:63;;19611:118;19119:617;;;;;:::o;19814:505::-;19961:4;19956:3;19952:14;20047:4;20040:5;20036:16;20030:23;20066:63;20123:4;20118:3;20114:14;20100:12;20066:63;:::i;:::-;19976:163;20220:4;20213:5;20209:16;20203:23;20239:63;20296:4;20291:3;20287:14;20273:12;20239:63;:::i;:::-;20149:163;19930:389;19814:505;;:::o;20325:322::-;20468:4;20506:2;20495:9;20491:18;20483:26;;20519:121;20637:1;20626:9;20622:17;20613:6;20519:121;:::i;:::-;20325:322;;;;:::o;20653:617::-;20729:6;20737;20745;20794:2;20782:9;20773:7;20769:23;20765:32;20762:119;;;20800:79;;:::i;:::-;20762:119;20920:1;20945:53;20990:7;20981:6;20970:9;20966:22;20945:53;:::i;:::-;20935:63;;20891:117;21047:2;21073:53;21118:7;21109:6;21098:9;21094:22;21073:53;:::i;:::-;21063:63;;21018:118;21175:2;21201:52;21245:7;21236:6;21225:9;21221:22;21201:52;:::i;:::-;21191:62;;21146:117;20653:617;;;;;:::o;21276:168::-;21359:11;21393:6;21388:3;21381:19;21433:4;21428:3;21424:14;21409:29;;21276:168;;;;:::o;21450:360::-;21536:3;21564:38;21596:5;21564:38;:::i;:::-;21618:70;21681:6;21676:3;21618:70;:::i;:::-;21611:77;;21697:52;21742:6;21737:3;21730:4;21723:5;21719:16;21697:52;:::i;:::-;21774:29;21796:6;21774:29;:::i;:::-;21769:3;21765:39;21758:46;;21540:270;21450:360;;;;:::o;21816:309::-;21927:4;21965:2;21954:9;21950:18;21942:26;;22014:9;22008:4;22004:20;22000:1;21989:9;21985:17;21978:47;22042:76;22113:4;22104:6;22042:76;:::i;:::-;22034:84;;21816:309;;;;:::o;22145:553::-;22203:8;22213:6;22263:3;22256:4;22248:6;22244:17;22240:27;22230:122;;22271:79;;:::i;:::-;22230:122;22384:6;22371:20;22361:30;;22414:18;22406:6;22403:30;22400:117;;;22436:79;;:::i;:::-;22400:117;22550:4;22542:6;22538:17;22526:29;;22604:3;22596:4;22588:6;22584:17;22574:8;22570:32;22567:41;22564:128;;;22611:79;;:::i;:::-;22564:128;22145:553;;;;;:::o;22704:1019::-;22805:6;22813;22821;22829;22837;22886:2;22874:9;22865:7;22861:23;22857:32;22854:119;;;22892:79;;:::i;:::-;22854:119;23040:1;23029:9;23025:17;23012:31;23070:18;23062:6;23059:30;23056:117;;;23092:79;;:::i;:::-;23056:117;23205:65;23262:7;23253:6;23242:9;23238:22;23205:65;:::i;:::-;23187:83;;;;22983:297;23347:2;23336:9;23332:18;23319:32;23378:18;23370:6;23367:30;23364:117;;;23400:79;;:::i;:::-;23364:117;23513:65;23570:7;23561:6;23550:9;23546:22;23513:65;:::i;:::-;23495:83;;;;23290:298;23627:2;23653:53;23698:7;23689:6;23678:9;23674:22;23653:53;:::i;:::-;23643:63;;23598:118;22704:1019;;;;;;;;:::o;23729:118::-;23816:24;23834:5;23816:24;:::i;:::-;23811:3;23804:37;23729:118;;:::o;23853:222::-;23946:4;23984:2;23973:9;23969:18;23961:26;;23997:71;24065:1;24054:9;24050:17;24041:6;23997:71;:::i;:::-;23853:222;;;;:::o;24081:815::-;24168:6;24176;24184;24192;24241:2;24229:9;24220:7;24216:23;24212:32;24209:119;;;24247:79;;:::i;:::-;24209:119;24367:1;24392:53;24437:7;24428:6;24417:9;24413:22;24392:53;:::i;:::-;24382:63;;24338:117;24494:2;24520:52;24564:7;24555:6;24544:9;24540:22;24520:52;:::i;:::-;24510:62;;24465:117;24649:2;24638:9;24634:18;24621:32;24680:18;24672:6;24669:30;24666:117;;;24702:79;;:::i;:::-;24666:117;24815:64;24871:7;24862:6;24851:9;24847:22;24815:64;:::i;:::-;24797:82;;;;24592:297;24081:815;;;;;;;:::o;24902:169::-;24986:11;25020:6;25015:3;25008:19;25060:4;25055:3;25051:14;25036:29;;24902:169;;;;:::o;25077:179::-;25217:31;25213:1;25205:6;25201:14;25194:55;25077:179;:::o;25262:366::-;25404:3;25425:67;25489:2;25484:3;25425:67;:::i;:::-;25418:74;;25501:93;25590:3;25501:93;:::i;:::-;25619:2;25614:3;25610:12;25603:19;;25262:366;;;:::o;25634:419::-;25800:4;25838:2;25827:9;25823:18;25815:26;;25887:9;25881:4;25877:20;25873:1;25862:9;25858:17;25851:47;25915:131;26041:4;25915:131;:::i;:::-;25907:139;;25634:419;;;:::o;26059:175::-;26199:27;26195:1;26187:6;26183:14;26176:51;26059:175;:::o;26240:366::-;26382:3;26403:67;26467:2;26462:3;26403:67;:::i;:::-;26396:74;;26479:93;26568:3;26479:93;:::i;:::-;26597:2;26592:3;26588:12;26581:19;;26240:366;;;:::o;26612:419::-;26778:4;26816:2;26805:9;26801:18;26793:26;;26865:9;26859:4;26855:20;26851:1;26840:9;26836:17;26829:47;26893:131;27019:4;26893:131;:::i;:::-;26885:139;;26612:419;;;:::o;27037:180::-;27085:77;27082:1;27075:88;27182:4;27179:1;27172:15;27206:4;27203:1;27196:15;27223:180;27271:77;27268:1;27261:88;27368:4;27365:1;27358:15;27392:4;27389:1;27382:15;27409:328;27528:4;27566:2;27555:9;27551:18;27543:26;;27579:71;27647:1;27636:9;27632:17;27623:6;27579:71;:::i;:::-;27660:70;27726:2;27715:9;27711:18;27702:6;27660:70;:::i;:::-;27409:328;;;;;:::o;27743:165::-;27883:17;27879:1;27871:6;27867:14;27860:41;27743:165;:::o;27914:366::-;28056:3;28077:67;28141:2;28136:3;28077:67;:::i;:::-;28070:74;;28153:93;28242:3;28153:93;:::i;:::-;28271:2;28266:3;28262:12;28255:19;;27914:366;;;:::o;28286:419::-;28452:4;28490:2;28479:9;28475:18;28467:26;;28539:9;28533:4;28529:20;28525:1;28514:9;28510:17;28503:47;28567:131;28693:4;28567:131;:::i;:::-;28559:139;;28286:419;;;:::o;28711:290::-;28851:34;28847:1;28839:6;28835:14;28828:58;28920:34;28915:2;28907:6;28903:15;28896:59;28989:4;28984:2;28976:6;28972:15;28965:29;28711:290;:::o;29007:366::-;29149:3;29170:67;29234:2;29229:3;29170:67;:::i;:::-;29163:74;;29246:93;29335:3;29246:93;:::i;:::-;29364:2;29359:3;29355:12;29348:19;;29007:366;;;:::o;29379:419::-;29545:4;29583:2;29572:9;29568:18;29560:26;;29632:9;29626:4;29622:20;29618:1;29607:9;29603:17;29596:47;29660:131;29786:4;29660:131;:::i;:::-;29652:139;;29379:419;;;:::o;29804:77::-;29841:7;29870:5;29859:16;;29804:77;;;:::o;29887:180::-;29935:77;29932:1;29925:88;30032:4;30029:1;30022:15;30056:4;30053:1;30046:15;30073:191;30113:4;30133:20;30151:1;30133:20;:::i;:::-;30128:25;;30167:20;30185:1;30167:20;:::i;:::-;30162:25;;30206:1;30203;30200:8;30197:34;;;30211:18;;:::i;:::-;30197:34;30256:1;30253;30249:9;30241:17;;30073:191;;;;:::o;30270:172::-;30410:24;30406:1;30398:6;30394:14;30387:48;30270:172;:::o;30448:366::-;30590:3;30611:67;30675:2;30670:3;30611:67;:::i;:::-;30604:74;;30687:93;30776:3;30687:93;:::i;:::-;30805:2;30800:3;30796:12;30789:19;;30448:366;;;:::o;30820:419::-;30986:4;31024:2;31013:9;31009:18;31001:26;;31073:9;31067:4;31063:20;31059:1;31048:9;31044:17;31037:47;31101:131;31227:4;31101:131;:::i;:::-;31093:139;;30820:419;;;:::o;31245:170::-;31385:22;31381:1;31373:6;31369:14;31362:46;31245:170;:::o;31421:366::-;31563:3;31584:67;31648:2;31643:3;31584:67;:::i;:::-;31577:74;;31660:93;31749:3;31660:93;:::i;:::-;31778:2;31773:3;31769:12;31762:19;;31421:366;;;:::o;31793:419::-;31959:4;31997:2;31986:9;31982:18;31974:26;;32046:9;32040:4;32036:20;32032:1;32021:9;32017:17;32010:47;32074:131;32200:4;32074:131;:::i;:::-;32066:139;;31793:419;;;:::o;32218:233::-;32257:3;32280:24;32298:5;32280:24;:::i;:::-;32271:33;;32326:66;32319:5;32316:77;32313:103;;;32396:18;;:::i;:::-;32313:103;32443:1;32436:5;32432:13;32425:20;;32218:233;;;:::o;32457:184::-;32556:11;32590:6;32585:3;32578:19;32630:4;32625:3;32621:14;32606:29;;32457:184;;;;:::o;32647:102::-;32716:4;32739:3;32731:11;;32647:102;;;:::o;32755:122::-;32807:5;32832:39;32867:2;32862:3;32858:12;32853:3;32832:39;:::i;:::-;32823:48;;32755:122;;;;:::o;32883:115::-;32955:4;32987;32982:3;32978:14;32970:22;;32883:115;;;:::o;33034:699::-;33163:3;33186:86;33265:6;33260:3;33186:86;:::i;:::-;33179:93;;33296:58;33348:5;33296:58;:::i;:::-;33377:7;33408:1;33393:315;33418:6;33415:1;33412:13;33393:315;;;33488:42;33523:6;33514:7;33488:42;:::i;:::-;33550:63;33609:3;33594:13;33550:63;:::i;:::-;33543:70;;33636:62;33691:6;33636:62;:::i;:::-;33626:72;;33453:255;33440:1;33437;33433:9;33428:14;;33393:315;;;33397:14;33724:3;33717:10;;33168:565;;33034:699;;;;;:::o;33739:609::-;33946:4;33984:2;33973:9;33969:18;33961:26;;33997:71;34065:1;34054:9;34050:17;34041:6;33997:71;:::i;:::-;34078:70;34144:2;34133:9;34129:18;34120:6;34078:70;:::i;:::-;34195:9;34189:4;34185:20;34180:2;34169:9;34165:18;34158:48;34223:118;34336:4;34327:6;34319;34223:118;:::i;:::-;34215:126;;33739:609;;;;;;;:::o;34354:177::-;34494:29;34490:1;34482:6;34478:14;34471:53;34354:177;:::o;34537:366::-;34679:3;34700:67;34764:2;34759:3;34700:67;:::i;:::-;34693:74;;34776:93;34865:3;34776:93;:::i;:::-;34894:2;34889:3;34885:12;34878:19;;34537:366;;;:::o;34909:419::-;35075:4;35113:2;35102:9;35098:18;35090:26;;35162:9;35156:4;35152:20;35148:1;35137:9;35133:17;35126:47;35190:131;35316:4;35190:131;:::i;:::-;35182:139;;34909:419;;;:::o;35334:176::-;35474:28;35470:1;35462:6;35458:14;35451:52;35334:176;:::o;35516:366::-;35658:3;35679:67;35743:2;35738:3;35679:67;:::i;:::-;35672:74;;35755:93;35844:3;35755:93;:::i;:::-;35873:2;35868:3;35864:12;35857:19;;35516:366;;;:::o;35888:419::-;36054:4;36092:2;36081:9;36077:18;36069:26;;36141:9;36135:4;36131:20;36127:1;36116:9;36112:17;36105:47;36169:131;36295:4;36169:131;:::i;:::-;36161:139;;35888:419;;;:::o;36313:180::-;36361:77;36358:1;36351:88;36458:4;36455:1;36448:15;36482:4;36479:1;36472:15;36499:320;36543:6;36580:1;36574:4;36570:12;36560:22;;36627:1;36621:4;36617:12;36648:18;36638:81;;36704:4;36696:6;36692:17;36682:27;;36638:81;36766:2;36758:6;36755:14;36735:18;36732:38;36729:84;;;36785:18;;:::i;:::-;36729:84;36550:269;36499:320;;;:::o;36825:233::-;36965:34;36961:1;36953:6;36949:14;36942:58;37034:16;37029:2;37021:6;37017:15;37010:41;36825:233;:::o;37064:366::-;37206:3;37227:67;37291:2;37286:3;37227:67;:::i;:::-;37220:74;;37303:93;37392:3;37303:93;:::i;:::-;37421:2;37416:3;37412:12;37405:19;;37064:366;;;:::o;37436:419::-;37602:4;37640:2;37629:9;37625:18;37617:26;;37689:9;37683:4;37679:20;37675:1;37664:9;37660:17;37653:47;37717:131;37843:4;37717:131;:::i;:::-;37709:139;;37436:419;;;:::o;37861:172::-;38001:24;37997:1;37989:6;37985:14;37978:48;37861:172;:::o;38039:366::-;38181:3;38202:67;38266:2;38261:3;38202:67;:::i;:::-;38195:74;;38278:93;38367:3;38278:93;:::i;:::-;38396:2;38391:3;38387:12;38380:19;;38039:366;;;:::o;38411:419::-;38577:4;38615:2;38604:9;38600:18;38592:26;;38664:9;38658:4;38654:20;38650:1;38639:9;38635:17;38628:47;38692:131;38818:4;38692:131;:::i;:::-;38684:139;;38411:419;;;:::o;38836:178::-;38976:30;38972:1;38964:6;38960:14;38953:54;38836:178;:::o;39020:366::-;39162:3;39183:67;39247:2;39242:3;39183:67;:::i;:::-;39176:74;;39259:93;39348:3;39259:93;:::i;:::-;39377:2;39372:3;39368:12;39361:19;;39020:366;;;:::o;39392:419::-;39558:4;39596:2;39585:9;39581:18;39573:26;;39645:9;39639:4;39635:20;39631:1;39620:9;39616:17;39609:47;39673:131;39799:4;39673:131;:::i;:::-;39665:139;;39392:419;;;:::o;39817:220::-;39957:34;39953:1;39945:6;39941:14;39934:58;40026:3;40021:2;40013:6;40009:15;40002:28;39817:220;:::o;40043:366::-;40185:3;40206:67;40270:2;40265:3;40206:67;:::i;:::-;40199:74;;40282:93;40371:3;40282:93;:::i;:::-;40400:2;40395:3;40391:12;40384:19;;40043:366;;;:::o;40415:419::-;40581:4;40619:2;40608:9;40604:18;40596:26;;40668:9;40662:4;40658:20;40654:1;40643:9;40639:17;40632:47;40696:131;40822:4;40696:131;:::i;:::-;40688:139;;40415:419;;;:::o;40840:154::-;40980:6;40976:1;40968:6;40964:14;40957:30;40840:154;:::o;41000:365::-;41142:3;41163:66;41227:1;41222:3;41163:66;:::i;:::-;41156:73;;41238:93;41327:3;41238:93;:::i;:::-;41356:2;41351:3;41347:12;41340:19;;41000:365;;;:::o;41371:154::-;41455:6;41450:3;41445;41432:30;41517:1;41508:6;41503:3;41499:16;41492:27;41371:154;;;:::o;41553:301::-;41649:3;41670:70;41733:6;41728:3;41670:70;:::i;:::-;41663:77;;41750:43;41786:6;41781:3;41774:5;41750:43;:::i;:::-;41818:29;41840:6;41818:29;:::i;:::-;41813:3;41809:39;41802:46;;41553:301;;;;;:::o;41860:1075::-;42192:4;42230:3;42219:9;42215:19;42207:27;;42244:71;42312:1;42301:9;42297:17;42288:6;42244:71;:::i;:::-;42325:70;42391:2;42380:9;42376:18;42367:6;42325:70;:::i;:::-;42405:72;42473:2;42462:9;42458:18;42449:6;42405:72;:::i;:::-;42487;42555:2;42544:9;42540:18;42531:6;42487:72;:::i;:::-;42607:9;42601:4;42597:20;42591:3;42580:9;42576:19;42569:49;42635:131;42761:4;42635:131;:::i;:::-;42627:139;;42814:9;42808:4;42804:20;42798:3;42787:9;42783:19;42776:49;42842:86;42923:4;42914:6;42906;42842:86;:::i;:::-;42834:94;;41860:1075;;;;;;;;;:::o;42941:169::-;43081:21;43077:1;43069:6;43065:14;43058:45;42941:169;:::o;43116:366::-;43258:3;43279:67;43343:2;43338:3;43279:67;:::i;:::-;43272:74;;43355:93;43444:3;43355:93;:::i;:::-;43473:2;43468:3;43464:12;43457:19;;43116:366;;;:::o;43488:419::-;43654:4;43692:2;43681:9;43677:18;43669:26;;43741:9;43735:4;43731:20;43727:1;43716:9;43712:17;43705:47;43769:131;43895:4;43769:131;:::i;:::-;43761:139;;43488:419;;;:::o;43913:179::-;44053:31;44049:1;44041:6;44037:14;44030:55;43913:179;:::o;44098:366::-;44240:3;44261:67;44325:2;44320:3;44261:67;:::i;:::-;44254:74;;44337:93;44426:3;44337:93;:::i;:::-;44455:2;44450:3;44446:12;44439:19;;44098:366;;;:::o;44470:419::-;44636:4;44674:2;44663:9;44659:18;44651:26;;44723:9;44717:4;44713:20;44709:1;44698:9;44694:17;44687:47;44751:131;44877:4;44751:131;:::i;:::-;44743:139;;44470:419;;;:::o;44895:171::-;45035:23;45031:1;45023:6;45019:14;45012:47;44895:171;:::o;45072:366::-;45214:3;45235:67;45299:2;45294:3;45235:67;:::i;:::-;45228:74;;45311:93;45400:3;45311:93;:::i;:::-;45429:2;45424:3;45420:12;45413:19;;45072:366;;;:::o;45444:419::-;45610:4;45648:2;45637:9;45633:18;45625:26;;45697:9;45691:4;45687:20;45683:1;45672:9;45668:17;45661:47;45725:131;45851:4;45725:131;:::i;:::-;45717:139;;45444:419;;;:::o;45869:228::-;46009:34;46005:1;45997:6;45993:14;45986:58;46078:11;46073:2;46065:6;46061:15;46054:36;45869:228;:::o;46103:366::-;46245:3;46266:67;46330:2;46325:3;46266:67;:::i;:::-;46259:74;;46342:93;46431:3;46342:93;:::i;:::-;46460:2;46455:3;46451:12;46444:19;;46103:366;;;:::o;46475:419::-;46641:4;46679:2;46668:9;46664:18;46656:26;;46728:9;46722:4;46718:20;46714:1;46703:9;46699:17;46692:47;46756:131;46882:4;46756:131;:::i;:::-;46748:139;;46475:419;;;:::o;46900:177::-;47040:29;47036:1;47028:6;47024:14;47017:53;46900:177;:::o;47083:366::-;47225:3;47246:67;47310:2;47305:3;47246:67;:::i;:::-;47239:74;;47322:93;47411:3;47322:93;:::i;:::-;47440:2;47435:3;47431:12;47424:19;;47083:366;;;:::o;47455:419::-;47621:4;47659:2;47648:9;47644:18;47636:26;;47708:9;47702:4;47698:20;47694:1;47683:9;47679:17;47672:47;47736:131;47862:4;47736:131;:::i;:::-;47728:139;;47455:419;;;:::o;47880:225::-;48020:34;48016:1;48008:6;48004:14;47997:58;48089:8;48084:2;48076:6;48072:15;48065:33;47880:225;:::o;48111:366::-;48253:3;48274:67;48338:2;48333:3;48274:67;:::i;:::-;48267:74;;48350:93;48439:3;48350:93;:::i;:::-;48468:2;48463:3;48459:12;48452:19;;48111:366;;;:::o;48483:419::-;48649:4;48687:2;48676:9;48672:18;48664:26;;48736:9;48730:4;48726:20;48722:1;48711:9;48707:17;48700:47;48764:131;48890:4;48764:131;:::i;:::-;48756:139;;48483:419;;;:::o;48908:158::-;49048:10;49044:1;49036:6;49032:14;49025:34;48908:158;:::o;49072:365::-;49214:3;49235:66;49299:1;49294:3;49235:66;:::i;:::-;49228:73;;49310:93;49399:3;49310:93;:::i;:::-;49428:2;49423:3;49419:12;49412:19;;49072:365;;;:::o;49443:1075::-;49775:4;49813:3;49802:9;49798:19;49790:27;;49827:71;49895:1;49884:9;49880:17;49871:6;49827:71;:::i;:::-;49908:70;49974:2;49963:9;49959:18;49950:6;49908:70;:::i;:::-;49988:72;50056:2;50045:9;50041:18;50032:6;49988:72;:::i;:::-;50070;50138:2;50127:9;50123:18;50114:6;50070:72;:::i;:::-;50190:9;50184:4;50180:20;50174:3;50163:9;50159:19;50152:49;50218:131;50344:4;50218:131;:::i;:::-;50210:139;;50397:9;50391:4;50387:20;50381:3;50370:9;50366:19;50359:49;50425:86;50506:4;50497:6;50489;50425:86;:::i;:::-;50417:94;;49443:1075;;;;;;;;;:::o;50524:118::-;50611:24;50629:5;50611:24;:::i;:::-;50606:3;50599:37;50524:118;;:::o;50672:304::-;50770:3;50791:71;50855:6;50850:3;50791:71;:::i;:::-;50784:78;;50872:43;50908:6;50903:3;50896:5;50872:43;:::i;:::-;50940:29;50962:6;50940:29;:::i;:::-;50935:3;50931:39;50924:46;;50672:304;;;;;:::o;50982:664::-;51189:4;51227:3;51216:9;51212:19;51204:27;;51241:71;51309:1;51298:9;51294:17;51285:6;51241:71;:::i;:::-;51322:72;51390:2;51379:9;51375:18;51366:6;51322:72;:::i;:::-;51441:9;51435:4;51431:20;51426:2;51415:9;51411:18;51404:48;51469:88;51552:4;51543:6;51535;51469:88;:::i;:::-;51461:96;;51567:72;51635:2;51624:9;51620:18;51611:6;51567:72;:::i;:::-;50982:664;;;;;;;;:::o;51652:775::-;51889:4;51927:3;51916:9;51912:19;51904:27;;51941:71;52009:1;51998:9;51994:17;51985:6;51941:71;:::i;:::-;52059:9;52053:4;52049:20;52044:2;52033:9;52029:18;52022:48;52087:88;52170:4;52161:6;52153;52087:88;:::i;:::-;52079:96;;52222:9;52216:4;52212:20;52207:2;52196:9;52192:18;52185:48;52250:88;52333:4;52324:6;52316;52250:88;:::i;:::-;52242:96;;52348:72;52416:2;52405:9;52401:18;52392:6;52348:72;:::i;:::-;51652:775;;;;;;;;;:::o;52433:172::-;52573:24;52569:1;52561:6;52557:14;52550:48;52433:172;:::o;52611:366::-;52753:3;52774:67;52838:2;52833:3;52774:67;:::i;:::-;52767:74;;52850:93;52939:3;52850:93;:::i;:::-;52968:2;52963:3;52959:12;52952:19;;52611:366;;;:::o;52983:419::-;53149:4;53187:2;53176:9;53172:18;53164:26;;53236:9;53230:4;53226:20;53222:1;53211:9;53207:17;53200:47;53264:131;53390:4;53264:131;:::i;:::-;53256:139;;52983:419;;;:::o;53408:232::-;53548:34;53544:1;53536:6;53532:14;53525:58;53617:15;53612:2;53604:6;53600:15;53593:40;53408:232;:::o;53646:366::-;53788:3;53809:67;53873:2;53868:3;53809:67;:::i;:::-;53802:74;;53885:93;53974:3;53885:93;:::i;:::-;54003:2;53998:3;53994:12;53987:19;;53646:366;;;:::o;54018:419::-;54184:4;54222:2;54211:9;54207:18;54199:26;;54271:9;54265:4;54261:20;54257:1;54246:9;54242:17;54235:47;54299:131;54425:4;54299:131;:::i;:::-;54291:139;;54018:419;;;:::o;54443:156::-;54583:8;54579:1;54571:6;54567:14;54560:32;54443:156;:::o;54605:365::-;54747:3;54768:66;54832:1;54827:3;54768:66;:::i;:::-;54761:73;;54843:93;54932:3;54843:93;:::i;:::-;54961:2;54956:3;54952:12;54945:19;;54605:365;;;:::o;54976:1075::-;55308:4;55346:3;55335:9;55331:19;55323:27;;55360:71;55428:1;55417:9;55413:17;55404:6;55360:71;:::i;:::-;55441:70;55507:2;55496:9;55492:18;55483:6;55441:70;:::i;:::-;55521:72;55589:2;55578:9;55574:18;55565:6;55521:72;:::i;:::-;55603;55671:2;55660:9;55656:18;55647:6;55603:72;:::i;:::-;55723:9;55717:4;55713:20;55707:3;55696:9;55692:19;55685:49;55751:131;55877:4;55751:131;:::i;:::-;55743:139;;55930:9;55924:4;55920:20;55914:3;55903:9;55899:19;55892:49;55958:86;56039:4;56030:6;56022;55958:86;:::i;:::-;55950:94;;54976:1075;;;;;;;;;:::o;56057:160::-;56197:12;56193:1;56185:6;56181:14;56174:36;56057:160;:::o;56223:366::-;56365:3;56386:67;56450:2;56445:3;56386:67;:::i;:::-;56379:74;;56462:93;56551:3;56462:93;:::i;:::-;56580:2;56575:3;56571:12;56564:19;;56223:366;;;:::o;56595:1075::-;56927:4;56965:3;56954:9;56950:19;56942:27;;56979:71;57047:1;57036:9;57032:17;57023:6;56979:71;:::i;:::-;57060:70;57126:2;57115:9;57111:18;57102:6;57060:70;:::i;:::-;57140:72;57208:2;57197:9;57193:18;57184:6;57140:72;:::i;:::-;57222;57290:2;57279:9;57275:18;57266:6;57222:72;:::i;:::-;57342:9;57336:4;57332:20;57326:3;57315:9;57311:19;57304:49;57370:131;57496:4;57370:131;:::i;:::-;57362:139;;57549:9;57543:4;57539:20;57533:3;57522:9;57518:19;57511:49;57577:86;57658:4;57649:6;57641;57577:86;:::i;:::-;57569:94;;56595:1075;;;;;;;;;:::o;57676:222::-;57816:34;57812:1;57804:6;57800:14;57793:58;57885:5;57880:2;57872:6;57868:15;57861:30;57676:222;:::o;57904:366::-;58046:3;58067:67;58131:2;58126:3;58067:67;:::i;:::-;58060:74;;58143:93;58232:3;58143:93;:::i;:::-;58261:2;58256:3;58252:12;58245:19;;57904:366;;;:::o;58276:419::-;58442:4;58480:2;58469:9;58465:18;58457:26;;58529:9;58523:4;58519:20;58515:1;58504:9;58500:17;58493:47;58557:131;58683:4;58557:131;:::i;:::-;58549:139;;58276:419;;;:::o;58701:156::-;58841:8;58837:1;58829:6;58825:14;58818:32;58701:156;:::o;58863:365::-;59005:3;59026:66;59090:1;59085:3;59026:66;:::i;:::-;59019:73;;59101:93;59190:3;59101:93;:::i;:::-;59219:2;59214:3;59210:12;59203:19;;58863:365;;;:::o;59234:1075::-;59566:4;59604:3;59593:9;59589:19;59581:27;;59618:71;59686:1;59675:9;59671:17;59662:6;59618:71;:::i;:::-;59699:70;59765:2;59754:9;59750:18;59741:6;59699:70;:::i;:::-;59779:72;59847:2;59836:9;59832:18;59823:6;59779:72;:::i;:::-;59861;59929:2;59918:9;59914:18;59905:6;59861:72;:::i;:::-;59981:9;59975:4;59971:20;59965:3;59954:9;59950:19;59943:49;60009:131;60135:4;60009:131;:::i;:::-;60001:139;;60188:9;60182:4;60178:20;60172:3;60161:9;60157:19;60150:49;60216:86;60297:4;60288:6;60280;60216:86;:::i;:::-;60208:94;;59234:1075;;;;;;;;;:::o", + "source": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.7.0 <0.9.0;\n\n/**\n * @title Delta Contract\n * @dev Delta Contract For Mpc\n */\ncontract DeltaContract {\n\n address private owner;\n enum RoundStatus {Started,Running,Calculating,Aggregating,Finished}\n mapping(bytes32 => Task) createdTasks;\n mapping(bytes32 => TaskRound[]) taskRounds;\n mapping(bytes32 => RoundModelCommitments[]) roundModelCommitments;\n uint64 private maxWeightCommitmentLength = 10485760;\n uint64 private maxSSComitmentLength = 256;\n struct RoundModelCommitments {\n mapping(address=>bytes) weightCommitment;\n mapping(address=>mapping(address=>SSData)) ssdata;\n }\n struct Task {\n address creator;\n string creatorUrl;\n string dataSet;\n bytes32 commitment;\n uint64 currentRound;\n }\n \n struct Candidate {\n bytes32 pk1;\n bytes32 pk2;\n }\n \n struct TaskRound {\n uint64 currentRound;\n uint32 maxSample;\n uint32 minSample;\n RoundStatus status;\n mapping(address=>Candidate) candidates;\n address[] joinedAddrs;\n }\n \n struct ExtCallTaskRoundStruct {\n uint64 currentRound;\n uint32 maxSample;\n uint32 minSample;\n uint8 status;\n address[] joinedAddrs;\n }\n \n struct SSData {\n bytes seedPiece;\n bytes seedCommitment;\n bytes secretKeyPiece;\n bytes secretKeyMaskCommitment;\n }\n \n // event for EVM logging\n event OwnerSet(address indexed oldOwner, address indexed newOwner);\n // triggered when task created \n event TaskCreated(address indexed creator,bytes32 taskId,string dataSet,string creatorUrl,bytes32 commitment);\n // triggered when task developer call startRound\n event RoundStart(bytes32 taskId,uint64 round);\n\n // triggered when task developer call startRound\n event RoundEnd(bytes32 taskId,uint64 round);\n\n // triggered when task developer call selectCandidates\n event PartnerSelected(bytes32 taskId,uint64 round,address[] addrs);\n \n // triggered when task developer call startAggregateUpload\n event AggregateStarted(bytes32 taskId,uint64 round,address[] addrs);\n \n \n // triggered when task developer call startAggregate\n event CalculateStarted(bytes32 taskId,uint64 round,address[] addrs);\n \n // triggered when client call uploadWeightCommitment , uploadSeedCommitment ,uploadSkMaskCommitment\n event ContentUploaded(bytes32 taskId,uint64 round,address owner,address sharer,string contentType,bytes content);\n\n // modifier to check if caller is owner\n modifier isOwner() {\n // If the first argument of 'require' evaluates to 'false', execution terminates and all\n // changes to the state and to Ether balances are reverted.\n // This used to consume all gas in old EVM versions, but not anymore.\n // It is often a good idea to use 'require' to check if functions are called correctly.\n // As a second argument, you can also provide an explanation about what went wrong.\n require(msg.sender == owner, \"Caller is not owner\");\n _;\n }\n \n modifier taskExists(bytes32 task_id) {\n require (createdTasks[task_id].creator != address(0), \"Task not exists\");\n _;\n }\n \n modifier roundExists(bytes32 task_id,uint64 round) {\n TaskRound[] storage rounds = taskRounds[task_id];\n require(rounds.length > 1 && rounds.length > round,\"this round does not exist\");\n _;\n }\n\n modifier roundcmmtExists(bytes32 task_id,uint64 round) {\n RoundModelCommitments[] storage cmmts = roundModelCommitments[task_id];\n require(cmmts.length > round,\"The Task Round Must exists\");\n _;\n }\n \n modifier taskOwner(bytes32 task_id) {\n require(createdTasks[task_id].creator == msg.sender,\"Must called by the task owner\");\n _;\n }\n \n /**\n * @dev Set contract deployer as owner\n */\n constructor() {\n owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor\n emit OwnerSet(address(0), owner);\n }\n \n /**\n * @dev get task info data\n * @param taskId taskId\n */\n function getTaskData(bytes32 taskId) taskExists(taskId) public view returns (Task memory task) {\n task = createdTasks[taskId];\n }\n \n /**\n * @dev called by task developer, notifying all clients that a new learning task has been published \n * @param dataSet data set name (file/folder name of training data)\n * @param commitment training code hash (client validation purpose)\n * @return taskId taskId\n */\n function createTask(string calldata creatorUrl,string calldata dataSet ,bytes32 commitment) payable public returns(bytes32 taskId){\n bytes32 task_id = keccak256(abi.encode(block.timestamp,msg.sender,dataSet,commitment));\n createdTasks[task_id] = Task({creatorUrl:creatorUrl,creator:msg.sender,dataSet:dataSet,commitment:commitment,currentRound:0});\n taskId = task_id;\n TaskRound[] storage rounds = taskRounds[taskId];\n rounds.push();\n emit TaskCreated(msg.sender,task_id,dataSet,creatorUrl,commitment);\n }\n \n /**\n * @dev called by task developer, notifying all clients that a new computing round is started and open for joining\n * @param taskId taskId\n * @param round the round to start\n */\n function startRound(bytes32 taskId,uint64 round,uint32 maxSample,uint32 minSample) taskExists(taskId) taskOwner(taskId) public {\n TaskRound[] storage rounds = taskRounds[taskId];\n require(rounds.length == round,\"the round has been already started or the pre round does not exist\");\n Task storage task = createdTasks[taskId];\n task.currentRound = round;\n while(rounds.length == 0 || rounds.length - 1 < round) {\n rounds.push(); \n }\n rounds[round].currentRound = round;\n rounds[round].maxSample = maxSample;\n rounds[round].minSample = minSample;\n rounds[round].status = RoundStatus.Started;\n RoundModelCommitments[] storage cmmts = roundModelCommitments[taskId];\n while(cmmts.length == 0 || cmmts.length - 1 < round) {\n cmmts.push(); \n }\n emit RoundStart(taskId,round);\n }\n \n /**\n * @dev called by client, join for that round of computation\n * @param taskId taskId\n * @param round the round to join\n * @param pk1 used for secure communication channel establishment\n * @param pk2 used for mask generation\n */\n function joinRound(bytes32 taskId,uint64 round,bytes32 pk1,bytes32 pk2) taskExists(taskId) roundExists(taskId,round) public returns(bool){\n TaskRound[] storage rounds = taskRounds[taskId];\n TaskRound storage thisRound = rounds[rounds.length - 1];\n require(rounds.length - 1 == round && thisRound.status == RoundStatus.Started,\"join phase has passed\");\n require(thisRound.candidates[msg.sender].pk1 == 0x0,\"Cannot join the same round multiple times\");\n thisRound.candidates[msg.sender] = Candidate({pk1:pk1,pk2:pk2});\n thisRound.joinedAddrs.push(msg.sender);\n return true;\n }\n \n /**\n * @dev called by anyone, get Client Pks\n * @return candidate (pk1,pk2)\n */\n function getClientPublickeys(bytes32 taskId,uint64 round,address candidateAddr) roundExists(taskId,round) public view returns (Candidate memory candidate) {\n candidate = taskRounds[taskId][round].candidates[candidateAddr];\n }\n \n /**\n * @dev getting task round infos\n * @param taskId taskId\n * @param round the round to fetch\n * @return taskround the task round infos\n */\n function getTaskRound(bytes32 taskId,uint64 round) roundExists(taskId,round) public view returns(ExtCallTaskRoundStruct memory taskround) {\n TaskRound storage temp = taskRounds[taskId][round];\n taskround = ExtCallTaskRoundStruct({currentRound:temp.currentRound,maxSample:temp.maxSample,minSample:temp.minSample,status:(uint8)(temp.status),\n joinedAddrs:temp.joinedAddrs\n });\n }\n \n /**\n * @dev called by task developer, randomly choose candidates to be computation nodes\n * @dev clients now should start secret sharing phase \n * @param addrs selected client addresses\n */\n function selectCandidates(bytes32 taskId,uint64 round,address[] calldata addrs) taskOwner(taskId) roundExists(taskId,round) public {\n require(addrs.length > 0,\"Must provide addresses\");\n TaskRound storage curRound = taskRounds[taskId][round];\n for(uint i = 0; i < addrs.length; i ++) {\n require(curRound.candidates[addrs[i]].pk1 != 0x00,\"Candidate must exist\");\n }\n curRound.status = RoundStatus.Running;\n emit PartnerSelected(taskId,round,addrs);\n }\n \n /**\n * @dev called by task developer, get commitments from blockchain\n * @dev (Server has to call this method for every clients to get their commiments as the return value couldn't contain mapping type in solidity(damn it))\n * @param taskId taskId\n * @param clientaddress the client that publish the commitments \n * @param round the round of that commitment\n * @return commitment commitment data\n */\n function getResultCommitment(bytes32 taskId,address clientaddress,uint64 round) roundExists(taskId,round) roundcmmtExists(taskId,round) public view returns(bytes memory commitment) {\n RoundModelCommitments[] storage cmmts = roundModelCommitments[taskId];\n require(cmmts.length >= round,\"The Task Round Must exists\");\n RoundModelCommitments storage cmmt = cmmts[round];\n commitment = cmmt.weightCommitment[clientaddress];\n }\n \n /**\n * @dev called by any participants\n */\n function getSecretSharingData(bytes32 taskId,uint64 round,address owner,address sharee) roundExists(taskId,round) roundcmmtExists(taskId,round) public view returns(SSData memory ssdata) {\n RoundModelCommitments[] storage cmmts = roundModelCommitments[taskId];\n require(cmmts.length >= round,\"The Task Round Must exists\");\n RoundModelCommitments storage cmmt = cmmts[round];\n ssdata = cmmt.ssdata[owner][sharee];\n }\n \n /**\n * @dev called by task developer, notifying all participants that the ss and gradient transfer phase has finished\n * @dev client now should send corresponded ss share pieces to task developer according to the online status given by the task developer\n * @param taskId taskId\n * @param round the task round\n * @param onlineClients clients that has transfered gradient to task developer\n */\n function startAggregate(bytes32 taskId,uint64 round,address[] calldata onlineClients) taskOwner(taskId) roundExists(taskId,round) public {\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Calculating,\"Calculating has not started\");\n curRound.status = RoundStatus.Aggregating;\n for(uint i = 0; i < onlineClients.length; i ++) {\n require(curRound.candidates[onlineClients[i]].pk1 != 0x00,\"Candidate must exist\");\n }\n emit AggregateStarted(taskId,round,onlineClients);\n }\n \n \n /**\n * @dev called by task developer, notifying all participants that the secret sharing phase is finished to transfer masked gradient to task server\n * @param taskId taskId\n * @param round the task round\n */\n function startCalculate(bytes32 taskId,uint64 round,address[] calldata onlineClients) taskOwner(taskId) roundExists(taskId,round) public {\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Running,\"This round is not running now\");\n curRound.status = RoundStatus.Calculating;\n emit CalculateStarted(taskId,round,onlineClients);\n }\n \n /**\n * @dev called by task developer, close round\n * @param taskId taskId\n * @param round the task round\n */\n function endRound(bytes32 taskId,uint64 round) taskOwner(taskId) roundExists(taskId,round) public {\n TaskRound storage curRound = taskRounds[taskId][round];\n curRound.status = RoundStatus.Finished;\n emit RoundEnd(taskId,round);\n }\n \n /**\n * @dev called by client, upload weight commitment\n * @param taskId taskId\n * @param round the task round\n * @param resultCommitment masked model incremental commitment\n */\n function uploadResultCommitment(bytes32 taskId,uint64 round,bytes calldata resultCommitment) roundExists(taskId,round) public {\n require(resultCommitment.length > 0 && resultCommitment.length <= maxWeightCommitmentLength,\"commitment length exceeds limit or it is empty\");\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Calculating ,\"not in uploading phase\");\n RoundModelCommitments[] storage commitments = roundModelCommitments[taskId];\n RoundModelCommitments storage commitment = commitments[round];\n require(commitment.weightCommitment[msg.sender].length == 0,\"cannot upload weightCommitment multiple times\");\n commitment.weightCommitment[msg.sender] = resultCommitment;\n emit ContentUploaded(taskId,round,msg.sender,address(0),\"WEIGHT\",resultCommitment);\n }\n \n \n /**\n * @dev called by client, upload secret sharing seed commitment\n * @param taskId taskId\n * @param round the task round\n * @param sharee the sharee address\n * @param seedCommitment secret sharing piece of seed mask\n */\n function uploadSeedCommitment(bytes32 taskId,uint64 round,address sharee,bytes calldata seedCommitment) roundExists(taskId,round) public {\n require(seedCommitment.length > 0 && seedCommitment.length <= maxSSComitmentLength,\"commitment length exceeds limit or it is empty\");\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Running,\"not in secret sharing phase\");\n RoundModelCommitments[] storage commitments = roundModelCommitments[taskId];\n RoundModelCommitments storage commitment = commitments[round];\n require(commitment.ssdata[msg.sender][sharee].seedCommitment.length == 0,\"cannot upload seed cmmt multiple times\");\n commitment.ssdata[msg.sender][sharee].seedCommitment = seedCommitment;\n emit ContentUploaded(taskId,round,msg.sender,sharee,\"SEEDCMMT\",seedCommitment);\n }\n \n \n /**\n * @dev called by client, upload secret sharing seed commitment\n * @param taskId taskId\n * @param round the task round\n * @param sharee the sharee address\n * @param seed the seed piece\n */\n function uploadSeed(bytes32 taskId,uint64 round,address sharee,bytes calldata seed) roundExists(taskId,round) public {\n require(seed.length > 0 && seed.length <= maxSSComitmentLength ,\"commitment length exceeds limit or it is empty\");\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Aggregating,\"not in upload ss phase\");\n RoundModelCommitments[] storage commitments = roundModelCommitments[taskId];\n RoundModelCommitments storage commitment = commitments[round];\n require(commitment.ssdata[msg.sender][sharee].seedCommitment.length > 0,\"must upload commitment first\");\n require(commitment.ssdata[msg.sender][sharee].seedPiece.length == 0,\"cannot upload seed multiple times\");\n commitment.ssdata[msg.sender][sharee].seedPiece = seed;\n emit ContentUploaded(taskId,round,msg.sender,sharee,\"SEED\",seed);\n }\n \n /**\n * @dev called by client, upload secret sharing sk commitment\n * @param taskId taskId\n * @param round the task round\n * @param sharee the sharee address\n * @param secretKeyCommitment secret sharing piece of seed mask\n */\n function uploadSecretKeyCommitment(bytes32 taskId,uint64 round,address sharee,bytes calldata secretKeyCommitment) roundExists(taskId,round) public {\n require(secretKeyCommitment.length > 0 && secretKeyCommitment.length <= maxSSComitmentLength,\"commitment length exceeds limit or it is empty\");\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Running,\"not in secret sharing phase\");\n RoundModelCommitments[] storage commitments = roundModelCommitments[taskId];\n if(commitments.length == round) {\n commitments.push();\n }\n RoundModelCommitments storage commitment = commitments[round];\n require(commitment.ssdata[msg.sender][sharee].secretKeyMaskCommitment.length == 0,\"cannot upload seed multiple times\");\n commitment.ssdata[msg.sender][sharee].secretKeyMaskCommitment = secretKeyCommitment;\n emit ContentUploaded(taskId,round,msg.sender,sharee,\"SKMASKCMMT\",secretKeyCommitment);\n // commitment.data[msg.sender].seedCmmtmnt = seedCmmtmnt;\n }\n \n \n /**\n * @dev called by client, upload secret sharing sk commitment\n * @param taskId taskId\n * @param round the task round\n * @param secretkeyMask the crypted skmask\n * @param owner the owner address\n */\n function uploadSecretkeyMask(bytes32 taskId,uint64 round,address owner,bytes calldata secretkeyMask) roundExists(taskId,round) public {\n require(secretkeyMask.length > 0 && secretkeyMask.length <= maxSSComitmentLength,\"commitment length exceeds limit or it is empty\");\n TaskRound storage curRound = taskRounds[taskId][round];\n require(curRound.status == RoundStatus.Aggregating,\"not in upload ss phase\");\n RoundModelCommitments[] storage commitments = roundModelCommitments[taskId];\n if(commitments.length == round) {\n commitments.push();\n }\n RoundModelCommitments storage commitment = commitments[round];\n require(commitment.ssdata[owner][msg.sender].secretKeyMaskCommitment.length > 0,\"must upload commitment first\");\n require(commitment.ssdata[owner][msg.sender].secretKeyPiece.length == 0,\"cannot upload skmask multiple times\");\n commitment.ssdata[owner][msg.sender].secretKeyPiece = secretkeyMask;\n emit ContentUploaded(taskId,round,owner,msg.sender,\"SKMASK\",secretkeyMask);\n // commitment.data[msg.sender].seedCmmtmnt = seedCmmtmnt;\n }\n \n function setMaxWeightCommitmentLength(uint64 maxLength) isOwner public {\n maxWeightCommitmentLength = maxLength;\n }\n \n function setMaxSSCommitmentLength(uint64 maxLength) isOwner public {\n maxSSComitmentLength = maxLength;\n }\n \n function getMaxCommitmentsLength() public view returns (uint64 sslength,uint64 weightLength) {\n sslength = maxSSComitmentLength;\n weightLength = maxWeightCommitmentLength;\n }\n \n \n /**\n * @dev Change owner\n * @param newOwner address of new owner\n */\n function changeOwner(address newOwner) public isOwner {\n emit OwnerSet(owner, newOwner);\n owner = newOwner;\n }\n\n /**\n * @dev Return owner address \n * @return address of owner\n */\n function getOwner() external view returns (address) {\n return owner;\n }\n}", + "sourcePath": "/home/hmiao/workspace/node/contract/contracts/DeltaContract.sol", + "ast": { + "absolutePath": "project:/contracts/DeltaContract.sol", + "exportedSymbols": { + "DeltaContract": [ + 1638 + ] + }, + "id": 1639, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "37:31:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "DeltaContract", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2, + "nodeType": "StructuredDocumentation", + "src": "70:63:0", + "text": " @title Delta Contract\n @dev Delta Contract For Mpc" + }, + "fullyImplemented": true, + "id": 1638, + "linearizedBaseContracts": [ + 1638 + ], + "name": "DeltaContract", + "nameLocation": "143:13:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 4, + "mutability": "mutable", + "name": "owner", + "nameLocation": "180:5:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "164:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "canonicalName": "DeltaContract.RoundStatus", + "id": 10, + "members": [ + { + "id": 5, + "name": "Started", + "nameLocation": "209:7:0", + "nodeType": "EnumValue", + "src": "209:7:0" + }, + { + "id": 6, + "name": "Running", + "nameLocation": "217:7:0", + "nodeType": "EnumValue", + "src": "217:7:0" + }, + { + "id": 7, + "name": "Calculating", + "nameLocation": "225:11:0", + "nodeType": "EnumValue", + "src": "225:11:0" + }, + { + "id": 8, + "name": "Aggregating", + "nameLocation": "237:11:0", + "nodeType": "EnumValue", + "src": "237:11:0" + }, + { + "id": 9, + "name": "Finished", + "nameLocation": "249:8:0", + "nodeType": "EnumValue", + "src": "249:8:0" + } + ], + "name": "RoundStatus", + "nameLocation": "196:11:0", + "nodeType": "EnumDefinition", + "src": "191:67:0" + }, + { + "constant": false, + "id": 15, + "mutability": "mutable", + "name": "createdTasks", + "nameLocation": "288:12:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "263:37:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task)" + }, + "typeName": { + "id": 14, + "keyType": { + "id": 11, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "271:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "263:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task)" + }, + "valueType": { + "id": 13, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 12, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "282:4:0" + }, + "referencedDeclaration": 56, + "src": "282:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "taskRounds", + "nameLocation": "338:10:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "306:42:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound[])" + }, + "typeName": { + "id": 20, + "keyType": { + "id": 16, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "314:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "306:31:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound[])" + }, + "valueType": { + "baseType": { + "id": 18, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 17, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "325:9:0" + }, + "referencedDeclaration": 79, + "src": "325:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 19, + "nodeType": "ArrayTypeName", + "src": "325:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "roundModelCommitments", + "nameLocation": "398:21:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "354:65:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments[])" + }, + "typeName": { + "id": 26, + "keyType": { + "id": 22, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "362:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "354:43:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments[])" + }, + "valueType": { + "baseType": { + "id": 24, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 23, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "373:21:0" + }, + "referencedDeclaration": 45, + "src": "373:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 25, + "nodeType": "ArrayTypeName", + "src": "373:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "maxWeightCommitmentLength", + "nameLocation": "440:25:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "425:51:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 28, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "425:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "3130343835373630", + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "468:8:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10485760_by_1", + "typeString": "int_const 10485760" + }, + "value": "10485760" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 33, + "mutability": "mutable", + "name": "maxSSComitmentLength", + "nameLocation": "497:20:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "482:41:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 31, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "482:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "323536", + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "520:3:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "visibility": "private" + }, + { + "canonicalName": "DeltaContract.RoundModelCommitments", + "id": 45, + "members": [ + { + "constant": false, + "id": 37, + "mutability": "mutable", + "name": "weightCommitment", + "nameLocation": "592:16:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "568:40:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes)" + }, + "typeName": { + "id": 36, + "keyType": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "576:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "568:23:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes)" + }, + "valueType": { + "id": 35, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "585:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "ssdata", + "nameLocation": "661:6:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "618:49:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData))" + }, + "typeName": { + "id": 43, + "keyType": { + "id": 38, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "618:42:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData))" + }, + "valueType": { + "id": 42, + "keyType": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "643:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "635:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData)" + }, + "valueType": { + "id": 41, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40, + "name": "SSData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "652:6:0" + }, + "referencedDeclaration": 100, + "src": "652:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage_ptr", + "typeString": "struct DeltaContract.SSData" + } + } + } + }, + "visibility": "internal" + } + ], + "name": "RoundModelCommitments", + "nameLocation": "536:21:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "529:145:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.Task", + "id": 56, + "members": [ + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "creator", + "nameLocation": "709:7:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "701:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 46, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "701:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 49, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "733:10:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "726:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 48, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "726:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "760:7:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "753:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 50, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "753:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "785:10:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "777:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 52, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "777:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "812:12:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "805:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 54, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "805:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Task", + "nameLocation": "686:4:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "679:152:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.Candidate", + "id": 61, + "members": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "pk1", + "nameLocation": "876:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "868:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 57, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "868:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "mutability": "mutable", + "name": "pk2", + "nameLocation": "897:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "889:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 59, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "889:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Candidate", + "nameLocation": "848:9:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "841:66:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.TaskRound", + "id": 79, + "members": [ + { + "constant": false, + "id": 63, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "951:12:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "944:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 62, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "944:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "980:9:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "973:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 64, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "973:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 67, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "1006:9:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "999:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 66, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "999:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "status", + "nameLocation": "1037:6:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1025:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "typeName": { + "id": 69, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 68, + "name": "RoundStatus", + "nodeType": "IdentifierPath", + "referencedDeclaration": 10, + "src": "1025:11:0" + }, + "referencedDeclaration": 10, + "src": "1025:11:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "mutability": "mutable", + "name": "candidates", + "nameLocation": "1081:10:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1053:38:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate)" + }, + "typeName": { + "id": 74, + "keyType": { + "id": 71, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1061:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1053:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate)" + }, + "valueType": { + "id": 73, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 72, + "name": "Candidate", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "1070:9:0" + }, + "referencedDeclaration": 61, + "src": "1070:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage_ptr", + "typeString": "struct DeltaContract.Candidate" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 78, + "mutability": "mutable", + "name": "joinedAddrs", + "nameLocation": "1111:11:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1101:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 76, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1101:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 77, + "nodeType": "ArrayTypeName", + "src": "1101:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "name": "TaskRound", + "nameLocation": "924:9:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "917:212:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.ExtCallTaskRoundStruct", + "id": 91, + "members": [ + { + "constant": false, + "id": 81, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "1186:12:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1179:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 80, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1179:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 83, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "1215:9:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1208:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 82, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "1241:9:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1234:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 84, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1234:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "mutability": "mutable", + "name": "status", + "nameLocation": "1266:6:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1260:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 86, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1260:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 90, + "mutability": "mutable", + "name": "joinedAddrs", + "nameLocation": "1292:11:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1282:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1282:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ArrayTypeName", + "src": "1282:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "name": "ExtCallTaskRoundStruct", + "nameLocation": "1146:22:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "1139:171:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.SSData", + "id": 100, + "members": [ + { + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "seedPiece", + "nameLocation": "1350:9:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1344:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 92, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1344:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 95, + "mutability": "mutable", + "name": "seedCommitment", + "nameLocation": "1375:14:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1369:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 94, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1369:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "secretKeyPiece", + "nameLocation": "1405:14:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1399:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 96, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1399:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 99, + "mutability": "mutable", + "name": "secretKeyMaskCommitment", + "nameLocation": "1435:23:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1429:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 98, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1429:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "SSData", + "nameLocation": "1327:6:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "1320:145:0", + "visibility": "public" + }, + { + "anonymous": false, + "id": 106, + "name": "OwnerSet", + "nameLocation": "1510:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 102, + "indexed": true, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "1535:8:0", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "1519:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1519:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 104, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1561:8:0", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "1545:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1545:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1518:52:0" + }, + "src": "1504:67:0" + }, + { + "anonymous": false, + "id": 118, + "name": "TaskCreated", + "nameLocation": "1618:11:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 108, + "indexed": true, + "mutability": "mutable", + "name": "creator", + "nameLocation": "1646:7:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1630:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1630:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 110, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1662:6:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1654:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 109, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 112, + "indexed": false, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "1676:7:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1669:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1669:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114, + "indexed": false, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "1691:10:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1684:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1684:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 116, + "indexed": false, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "1710:10:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1702:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1702:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1629:92:0" + }, + "src": "1612:110:0" + }, + { + "anonymous": false, + "id": 124, + "name": "RoundStart", + "nameLocation": "1786:10:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1805:6:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "1797:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 119, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1797:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 122, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "1819:5:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "1812:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 121, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1812:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1796:29:0" + }, + "src": "1780:46:0" + }, + { + "anonymous": false, + "id": 130, + "name": "RoundEnd", + "nameLocation": "1892:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 126, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1909:6:0", + "nodeType": "VariableDeclaration", + "scope": 130, + "src": "1901:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 125, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1901:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 128, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "1923:5:0", + "nodeType": "VariableDeclaration", + "scope": 130, + "src": "1916:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 127, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1916:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1900:29:0" + }, + "src": "1886:44:0" + }, + { + "anonymous": false, + "id": 139, + "name": "PartnerSelected", + "nameLocation": "2001:15:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 132, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2025:6:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2017:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 131, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2017:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 134, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2039:5:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2032:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 133, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2032:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 137, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2055:5:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2045:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2045:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 136, + "nodeType": "ArrayTypeName", + "src": "2045:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2016:45:0" + }, + "src": "1995:67:0" + }, + { + "anonymous": false, + "id": 148, + "name": "AggregateStarted", + "nameLocation": "2141:16:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 141, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2166:6:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2158:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2158:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 143, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2180:5:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2173:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 142, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2173:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 146, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2196:5:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2186:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2186:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 145, + "nodeType": "ArrayTypeName", + "src": "2186:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2157:45:0" + }, + "src": "2135:68:0" + }, + { + "anonymous": false, + "id": 157, + "name": "CalculateStarted", + "nameLocation": "2281:16:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 150, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2306:6:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2298:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 149, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 152, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2320:5:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2313:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 151, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2313:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 155, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2336:5:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2326:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2326:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 154, + "nodeType": "ArrayTypeName", + "src": "2326:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2297:45:0" + }, + "src": "2275:68:0" + }, + { + "anonymous": false, + "id": 171, + "name": "ContentUploaded", + "nameLocation": "2463:15:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 159, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2487:6:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2479:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 161, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2501:5:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2494:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 160, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2494:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2515:5:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2507:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2507:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 165, + "indexed": false, + "mutability": "mutable", + "name": "sharer", + "nameLocation": "2529:6:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2521:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2521:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 167, + "indexed": false, + "mutability": "mutable", + "name": "contentType", + "nameLocation": "2543:11:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2536:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2536:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 169, + "indexed": false, + "mutability": "mutable", + "name": "content", + "nameLocation": "2561:7:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2555:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 168, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2555:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2478:91:0" + }, + "src": "2457:113:0" + }, + { + "body": { + "id": 182, + "nodeType": "Block", + "src": "2639:510:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 174, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3088:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3088:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 176, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "3102:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3088:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616c6c6572206973206e6f74206f776e6572", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3109:21:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "typeString": "literal_string \"Caller is not owner\"" + }, + "value": "Caller is not owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "typeString": "literal_string \"Caller is not owner\"" + } + ], + "id": 173, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3080:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3080:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 180, + "nodeType": "ExpressionStatement", + "src": "3080:51:0" + }, + { + "id": 181, + "nodeType": "PlaceholderStatement", + "src": "3141:1:0" + } + ] + }, + "id": 183, + "name": "isOwner", + "nameLocation": "2629:7:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [], + "src": "2636:2:0" + }, + "src": "2620:529:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 201, + "nodeType": "Block", + "src": "3196:100:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 188, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "3215:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 190, + "indexExpression": { + "id": 189, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "3228:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3215:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "creator", + "nodeType": "MemberAccess", + "referencedDeclaration": 47, + "src": "3215:29:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3256:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3248:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3248:7:0", + "typeDescriptions": {} + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3248:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3215:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5461736b206e6f7420657869737473", + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3260:17:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "typeString": "literal_string \"Task not exists\"" + }, + "value": "Task not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "typeString": "literal_string \"Task not exists\"" + } + ], + "id": 187, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3206:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3206:72:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "3206:72:0" + }, + { + "id": 200, + "nodeType": "PlaceholderStatement", + "src": "3288:1:0" + } + ] + }, + "id": 202, + "name": "taskExists", + "nameLocation": "3168:10:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 185, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3187:7:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "3179:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 184, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3179:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3178:17:0" + }, + "src": "3159:137:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 231, + "nodeType": "Block", + "src": "3357:165:0", + "statements": [ + { + "assignments": [ + 212 + ], + "declarations": [ + { + "constant": false, + "id": 212, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "3387:6:0", + "nodeType": "VariableDeclaration", + "scope": 231, + "src": "3367:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 210, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 209, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "3367:9:0" + }, + "referencedDeclaration": 79, + "src": "3367:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 211, + "nodeType": "ArrayTypeName", + "src": "3367:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 216, + "initialValue": { + "baseExpression": { + "id": 213, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "3396:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 215, + "indexExpression": { + "id": 214, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "3407:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3396:19:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3367:48:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 218, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "3433:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3433:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3449:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3433:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 222, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "3454:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3454:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 224, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 206, + "src": "3470:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3454:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3433:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "7468697320726f756e6420646f6573206e6f74206578697374", + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3476:27:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "typeString": "literal_string \"this round does not exist\"" + }, + "value": "this round does not exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "typeString": "literal_string \"this round does not exist\"" + } + ], + "id": 217, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3425:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3425:79:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "3425:79:0" + }, + { + "id": 230, + "nodeType": "PlaceholderStatement", + "src": "3514:1:0" + } + ] + }, + "id": 232, + "name": "roundExists", + "nameLocation": "3315:11:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3335:7:0", + "nodeType": "VariableDeclaration", + "scope": 232, + "src": "3327:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3327:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 206, + "mutability": "mutable", + "name": "round", + "nameLocation": "3350:5:0", + "nodeType": "VariableDeclaration", + "scope": 232, + "src": "3343:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 205, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3343:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3326:30:0" + }, + "src": "3306:216:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 256, + "nodeType": "Block", + "src": "3583:166:0", + "statements": [ + { + "assignments": [ + 242 + ], + "declarations": [ + { + "constant": false, + "id": 242, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "3625:5:0", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "3593:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 240, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 239, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "3593:21:0" + }, + "referencedDeclaration": 45, + "src": "3593:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 241, + "nodeType": "ArrayTypeName", + "src": "3593:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 246, + "initialValue": { + "baseExpression": { + "id": 243, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3633:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 245, + "indexExpression": { + "id": 244, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "3655:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3633:30:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3593:70:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 248, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "3681:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3681:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 250, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 236, + "src": "3696:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3681:20:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3702:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 247, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3673:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3673:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "3673:58:0" + }, + { + "id": 255, + "nodeType": "PlaceholderStatement", + "src": "3741:1:0" + } + ] + }, + "id": 257, + "name": "roundcmmtExists", + "nameLocation": "3537:15:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 234, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3561:7:0", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "3553:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 233, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3553:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 236, + "mutability": "mutable", + "name": "round", + "nameLocation": "3576:5:0", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "3569:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 235, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3569:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3552:30:0" + }, + "src": "3528:221:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 273, + "nodeType": "Block", + "src": "3795:112:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 262, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "3813:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 264, + "indexExpression": { + "id": 263, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "3826:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3813:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "creator", + "nodeType": "MemberAccess", + "referencedDeclaration": 47, + "src": "3813:29:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 266, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3846:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3846:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3813:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742063616c6c656420627920746865207461736b206f776e6572", + "id": 269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3857:31:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "typeString": "literal_string \"Must called by the task owner\"" + }, + "value": "Must called by the task owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "typeString": "literal_string \"Must called by the task owner\"" + } + ], + "id": 261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3805:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3805:84:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 271, + "nodeType": "ExpressionStatement", + "src": "3805:84:0" + }, + { + "id": 272, + "nodeType": "PlaceholderStatement", + "src": "3899:1:0" + } + ] + }, + "id": 274, + "name": "taskOwner", + "nameLocation": "3768:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3786:7:0", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "3778:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 258, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3778:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3777:17:0" + }, + "src": "3759:148:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 291, + "nodeType": "Block", + "src": "3990:156:0", + "statements": [ + { + "expression": { + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 278, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "4000:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 279, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4008:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4008:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4000:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 282, + "nodeType": "ExpressionStatement", + "src": "4000:18:0" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4129:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4121:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4121:7:0", + "typeDescriptions": {} + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4121:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 288, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "4133:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 283, + "name": "OwnerSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "4112:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4112:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 290, + "nodeType": "EmitStatement", + "src": "4107:32:0" + } + ] + }, + "documentation": { + "id": 275, + "nodeType": "StructuredDocumentation", + "src": "3917:54:0", + "text": " @dev Set contract deployer as owner" + }, + "id": 292, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "3987:2:0" + }, + "returnParameters": { + "id": 277, + "nodeType": "ParameterList", + "parameters": [], + "src": "3990:0:0" + }, + "scope": 1638, + "src": "3976:170:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 310, + "nodeType": "Block", + "src": "4329:44:0", + "statements": [ + { + "expression": { + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 304, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "4339:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 305, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "4346:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 307, + "indexExpression": { + "id": 306, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "4359:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4346:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "src": "4339:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "4339:27:0" + } + ] + }, + "documentation": { + "id": 293, + "nodeType": "StructuredDocumentation", + "src": "4156:73:0", + "text": " @dev get task info data\n @param taskId taskId" + }, + "functionSelector": "58af9f73", + "id": 311, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 298, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "4282:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 299, + "kind": "modifierInvocation", + "modifierName": { + "id": 297, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "4271:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "4271:18:0" + } + ], + "name": "getTaskData", + "nameLocation": "4243:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "4263:6:0", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "4255:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 294, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4255:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4254:16:0" + }, + "returnParameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "mutability": "mutable", + "name": "task", + "nameLocation": "4323:4:0", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "4311:16:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task" + }, + "typeName": { + "id": 301, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 300, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "4311:4:0" + }, + "referencedDeclaration": 56, + "src": "4311:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + }, + "visibility": "internal" + } + ], + "src": "4310:18:0" + }, + "scope": 1638, + "src": "4234:139:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 377, + "nodeType": "Block", + "src": "4813:426:0", + "statements": [ + { + "assignments": [ + 324 + ], + "declarations": [ + { + "constant": false, + "id": 324, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "4832:7:0", + "nodeType": "VariableDeclaration", + "scope": 377, + "src": "4824:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4824:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 336, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 328, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "4863:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4863:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 330, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4879:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4879:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 332, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "4890:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 333, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "4898:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "4852:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4852:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4852:57:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 325, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "4842:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4842:68:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4824:86:0" + }, + { + "expression": { + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 337, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "4921:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 339, + "indexExpression": { + "id": 338, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "4934:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4921:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 341, + "name": "creatorUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "4962:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "expression": { + "id": 342, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4981:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4981:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 344, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "5000:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 345, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "5019:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "30", + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5043:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 340, + "name": "Task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "4945:4:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Task_$56_storage_ptr_$", + "typeString": "type(struct DeltaContract.Task storage pointer)" + } + }, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "creatorUrl", + "creator", + "dataSet", + "commitment", + "currentRound" + ], + "nodeType": "FunctionCall", + "src": "4945:101:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "src": "4921:125:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 349, + "nodeType": "ExpressionStatement", + "src": "4921:125:0" + }, + { + "expression": { + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 350, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "5057:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 351, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "5066:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5057:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "5057:16:0" + }, + { + "assignments": [ + 358 + ], + "declarations": [ + { + "constant": false, + "id": 358, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "5104:6:0", + "nodeType": "VariableDeclaration", + "scope": 377, + "src": "5084:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 356, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 355, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "5084:9:0" + }, + "referencedDeclaration": 79, + "src": "5084:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 357, + "nodeType": "ArrayTypeName", + "src": "5084:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 362, + "initialValue": { + "baseExpression": { + "id": 359, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "5113:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 361, + "indexExpression": { + "id": 360, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "5124:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5113:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5084:47:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 363, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 358, + "src": "5142:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5142:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$returns$_t_struct$_TaskRound_$79_storage_$bound_to$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.TaskRound storage ref[] storage pointer) returns (struct DeltaContract.TaskRound storage ref)" + } + }, + "id": 366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5142:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "5142:13:0" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 369, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5183:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 371, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "5194:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 372, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "5202:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 373, + "name": "creatorUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "5210:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 374, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "5221:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 368, + "name": "TaskCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "5171:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,string memory,string memory,bytes32)" + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5171:61:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 376, + "nodeType": "EmitStatement", + "src": "5166:66:0" + } + ] + }, + "documentation": { + "id": 312, + "nodeType": "StructuredDocumentation", + "src": "4384:294:0", + "text": " @dev called by task developer, notifying all clients that a new learning task has been published \n @param dataSet data set name (file/folder name of training data)\n @param commitment training code hash (client validation purpose)\n @return taskId taskId" + }, + "functionSelector": "e8ac10f3", + "id": 378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createTask", + "nameLocation": "4692:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "4719:10:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4703:26:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 313, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4703:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "4746:7:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4730:23:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 315, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4730:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 318, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "4763:10:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4755:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4755:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4702:72:0" + }, + "returnParameters": { + "id": 322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 321, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "4806:6:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4798:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 320, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4798:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4797:16:0" + }, + "scope": 1638, + "src": "4683:556:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 505, + "nodeType": "Block", + "src": "5578:770:0", + "statements": [ + { + "assignments": [ + 400 + ], + "declarations": [ + { + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "5608:6:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5588:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 398, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 397, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "5588:9:0" + }, + "referencedDeclaration": 79, + "src": "5588:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 399, + "nodeType": "ArrayTypeName", + "src": "5588:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 404, + "initialValue": { + "baseExpression": { + "id": 401, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "5617:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 403, + "indexExpression": { + "id": 402, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5628:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5617:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5588:47:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 406, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5653:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5653:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 408, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5670:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5653:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "74686520726f756e6420686173206265656e20616c72656164792073746172746564206f72207468652070726520726f756e6420646f6573206e6f74206578697374", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5676:68:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "typeString": "literal_string \"the round has been already started or the pre round does not exist\"" + }, + "value": "the round has been already started or the pre round does not exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "typeString": "literal_string \"the round has been already started or the pre round does not exist\"" + } + ], + "id": 405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5645:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5645:100:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 412, + "nodeType": "ExpressionStatement", + "src": "5645:100:0" + }, + { + "assignments": [ + 415 + ], + "declarations": [ + { + "constant": false, + "id": 415, + "mutability": "mutable", + "name": "task", + "nameLocation": "5768:4:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5755:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + }, + "typeName": { + "id": 414, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 413, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "5755:4:0" + }, + "referencedDeclaration": 56, + "src": "5755:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + }, + "visibility": "internal" + } + ], + "id": 419, + "initialValue": { + "baseExpression": { + "id": 416, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "5775:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 418, + "indexExpression": { + "id": 417, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5788:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5775:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5755:40:0" + }, + { + "expression": { + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 420, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "5805:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task storage pointer" + } + }, + "id": 422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 55, + "src": "5805:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 423, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5825:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5805:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 425, + "nodeType": "ExpressionStatement", + "src": "5805:25:0" + }, + { + "body": { + "id": 442, + "nodeType": "Block", + "src": "5895:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 437, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5909:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5909:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$returns$_t_struct$_TaskRound_$79_storage_$bound_to$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.TaskRound storage ref[] storage pointer) returns (struct DeltaContract.TaskRound storage ref)" + } + }, + "id": 440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 441, + "nodeType": "ExpressionStatement", + "src": "5909:13:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 426, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5846:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5846:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5863:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5846:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 430, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5868:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5868:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5884:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5868:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 434, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5888:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5868:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5846:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 443, + "nodeType": "WhileStatement", + "src": "5840:96:0" + }, + { + "expression": { + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 444, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5945:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 446, + "indexExpression": { + "id": 445, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5952:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5945:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5945:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 448, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5974:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5945:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 450, + "nodeType": "ExpressionStatement", + "src": "5945:34:0" + }, + { + "expression": { + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 451, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5989:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 453, + "indexExpression": { + "id": 452, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5996:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5989:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "maxSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 65, + "src": "5989:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 455, + "name": "maxSample", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "6015:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5989:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 457, + "nodeType": "ExpressionStatement", + "src": "5989:35:0" + }, + { + "expression": { + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 458, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "6034:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 460, + "indexExpression": { + "id": 459, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6041:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6034:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 67, + "src": "6034:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 462, + "name": "minSample", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "6060:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "6034:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 464, + "nodeType": "ExpressionStatement", + "src": "6034:35:0" + }, + { + "expression": { + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 465, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "6079:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 467, + "indexExpression": { + "id": 466, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6086:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6079:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "6079:20:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 469, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "6102:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Started", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "6102:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "6079:42:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "6079:42:0" + }, + { + "assignments": [ + 477 + ], + "declarations": [ + { + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "6163:5:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "6131:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 475, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 474, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "6131:21:0" + }, + "referencedDeclaration": 45, + "src": "6131:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 476, + "nodeType": "ArrayTypeName", + "src": "6131:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 481, + "initialValue": { + "baseExpression": { + "id": 478, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "6171:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 480, + "indexExpression": { + "id": 479, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "6193:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6171:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6131:69:0" + }, + { + "body": { + "id": 498, + "nodeType": "Block", + "src": "6263:40:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 493, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6277:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "6277:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6277:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 497, + "nodeType": "ExpressionStatement", + "src": "6277:12:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 482, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6216:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6216:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6232:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6216:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 486, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6237:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6237:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6252:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6237:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 490, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6256:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6237:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6216:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 499, + "nodeType": "WhileStatement", + "src": "6210:93:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 501, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "6328:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 502, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6335:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 500, + "name": "RoundStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "6317:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:24:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 504, + "nodeType": "EmitStatement", + "src": "6312:29:0" + } + ] + }, + "documentation": { + "id": 379, + "nodeType": "StructuredDocumentation", + "src": "5249:197:0", + "text": " @dev called by task developer, notifying all clients that a new computing round is started and open for joining\n @param taskId taskId\n @param round the round to start" + }, + "functionSelector": "07dcfa8e", + "id": 506, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 390, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5545:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 391, + "kind": "modifierInvocation", + "modifierName": { + "id": 389, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "5534:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "5534:18:0" + }, + { + "arguments": [ + { + "id": 393, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5563:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 394, + "kind": "modifierInvocation", + "modifierName": { + "id": 392, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "5553:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5553:17:0" + } + ], + "name": "startRound", + "nameLocation": "5460:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 381, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "5479:6:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5471:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5471:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 383, + "mutability": "mutable", + "name": "round", + "nameLocation": "5493:5:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5486:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 382, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5486:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 385, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "5506:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5499:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 384, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5499:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 387, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "5523:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5516:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 386, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5516:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "5470:63:0" + }, + "returnParameters": { + "id": 395, + "nodeType": "ParameterList", + "parameters": [], + "src": "5578:0:0" + }, + "scope": 1638, + "src": "5451:897:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 597, + "nodeType": "Block", + "src": "6761:489:0", + "statements": [ + { + "assignments": [ + 531 + ], + "declarations": [ + { + "constant": false, + "id": 531, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "6791:6:0", + "nodeType": "VariableDeclaration", + "scope": 597, + "src": "6771:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 529, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 528, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "6771:9:0" + }, + "referencedDeclaration": 79, + "src": "6771:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 530, + "nodeType": "ArrayTypeName", + "src": "6771:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 535, + "initialValue": { + "baseExpression": { + "id": 532, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "6800:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 534, + "indexExpression": { + "id": 533, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6811:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6800:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6771:47:0" + }, + { + "assignments": [ + 538 + ], + "declarations": [ + { + "constant": false, + "id": 538, + "mutability": "mutable", + "name": "thisRound", + "nameLocation": "6846:9:0", + "nodeType": "VariableDeclaration", + "scope": 597, + "src": "6828:27:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 537, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 536, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "6828:9:0" + }, + "referencedDeclaration": 79, + "src": "6828:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 545, + "initialValue": { + "baseExpression": { + "id": 539, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6858:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 544, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 540, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6865:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6865:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6881:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6865:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6858:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6828:55:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 547, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6901:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6901:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6917:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6901:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 551, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "6922:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6901:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 553, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "6931:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "6931:16:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 555, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "6951:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Started", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "6951:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "6931:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6901:69:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6a6f696e2070686173652068617320706173736564", + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6971:23:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "typeString": "literal_string \"join phase has passed\"" + }, + "value": "join phase has passed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "typeString": "literal_string \"join phase has passed\"" + } + ], + "id": 546, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6893:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6893:102:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "6893:102:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 563, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7013:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7013:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 567, + "indexExpression": { + "expression": { + "id": 565, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7034:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7034:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7013:32:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "7013:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "307830", + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7053:3:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "7013:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c7469706c652074696d6573", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7057:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "typeString": "literal_string \"Cannot join the same round multiple times\"" + }, + "value": "Cannot join the same round multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "typeString": "literal_string \"Cannot join the same round multiple times\"" + } + ], + "id": 562, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7005:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7005:96:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 573, + "nodeType": "ExpressionStatement", + "src": "7005:96:0" + }, + { + "expression": { + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 574, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7111:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7111:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 579, + "indexExpression": { + "expression": { + "id": 576, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7132:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7132:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7111:32:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 581, + "name": "pk1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "7161:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 582, + "name": "pk2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "7169:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 580, + "name": "Candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "7146:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Candidate_$61_storage_ptr_$", + "typeString": "type(struct DeltaContract.Candidate storage pointer)" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "pk1", + "pk2" + ], + "nodeType": "FunctionCall", + "src": "7146:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "src": "7111:63:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 585, + "nodeType": "ExpressionStatement", + "src": "7111:63:0" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 591, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7211:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7211:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "expression": { + "id": 586, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7184:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "joinedAddrs", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "7184:21:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7184:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer,address)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7184:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 594, + "nodeType": "ExpressionStatement", + "src": "7184:38:0" + }, + { + "expression": { + "hexValue": "74727565", + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7239:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 526, + "id": 596, + "nodeType": "Return", + "src": "7232:11:0" + } + ] + }, + "documentation": { + "id": 507, + "nodeType": "StructuredDocumentation", + "src": "6358:261:0", + "text": " @dev called by client, join for that round of computation\n @param taskId taskId\n @param round the round to join\n @param pk1 used for secure communication channel establishment\n @param pk2 used for mask generation" + }, + "functionSelector": "bdf666a4", + "id": 598, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 518, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6707:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 519, + "kind": "modifierInvocation", + "modifierName": { + "id": 517, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "6696:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "6696:18:0" + }, + { + "arguments": [ + { + "id": 521, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6727:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 522, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "6734:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 523, + "kind": "modifierInvocation", + "modifierName": { + "id": 520, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "6715:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "6715:25:0" + } + ], + "name": "joinRound", + "nameLocation": "6633:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 509, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "6651:6:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6643:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6643:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 511, + "mutability": "mutable", + "name": "round", + "nameLocation": "6665:5:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6658:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 510, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "6658:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 513, + "mutability": "mutable", + "name": "pk1", + "nameLocation": "6679:3:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6671:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6671:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 515, + "mutability": "mutable", + "name": "pk2", + "nameLocation": "6691:3:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6683:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6683:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6642:53:0" + }, + "returnParameters": { + "id": 526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6756:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6755:6:0" + }, + "scope": 1638, + "src": "6624:626:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 626, + "nodeType": "Block", + "src": "7515:80:0", + "statements": [ + { + "expression": { + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 615, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 613, + "src": "7525:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 616, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "7537:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 618, + "indexExpression": { + "id": 617, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7548:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 620, + "indexExpression": { + "id": 619, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "7556:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 621, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7537:36:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 623, + "indexExpression": { + "id": 622, + "name": "candidateAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 605, + "src": "7574:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:51:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "src": "7525:63:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "id": 625, + "nodeType": "ExpressionStatement", + "src": "7525:63:0" + } + ] + }, + "documentation": { + "id": 599, + "nodeType": "StructuredDocumentation", + "src": "7260:95:0", + "text": " @dev called by anyone, get Client Pks\n @return candidate (pk1,pk2)" + }, + "functionSelector": "da0fe898", + "id": 627, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 608, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7452:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 609, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "7459:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 610, + "kind": "modifierInvocation", + "modifierName": { + "id": 607, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "7440:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "7440:25:0" + } + ], + "name": "getClientPublickeys", + "nameLocation": "7369:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "7397:6:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7389:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7389:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "round", + "nameLocation": "7411:5:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7404:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 602, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "7404:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 605, + "mutability": "mutable", + "name": "candidateAddr", + "nameLocation": "7425:13:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7417:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7417:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7388:51:0" + }, + "returnParameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "mutability": "mutable", + "name": "candidate", + "nameLocation": "7504:9:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7487:26:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate" + }, + "typeName": { + "id": 612, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 611, + "name": "Candidate", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "7487:9:0" + }, + "referencedDeclaration": 61, + "src": "7487:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage_ptr", + "typeString": "struct DeltaContract.Candidate" + } + }, + "visibility": "internal" + } + ], + "src": "7486:28:0" + }, + "scope": 1638, + "src": "7360:235:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 670, + "nodeType": "Block", + "src": "7914:274:0", + "statements": [ + { + "assignments": [ + 644 + ], + "declarations": [ + { + "constant": false, + "id": 644, + "mutability": "mutable", + "name": "temp", + "nameLocation": "7942:4:0", + "nodeType": "VariableDeclaration", + "scope": 670, + "src": "7924:22:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 643, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 642, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "7924:9:0" + }, + "referencedDeclaration": 79, + "src": "7924:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 650, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 645, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "7949:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 647, + "indexExpression": { + "id": 646, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "7960:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7949:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 649, + "indexExpression": { + "id": 648, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "7968:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7949:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7924:50:0" + }, + { + "expression": { + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 651, + "name": "taskround", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "7984:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 653, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8033:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "8033:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 655, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8061:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "maxSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 65, + "src": "8061:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 657, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8086:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 67, + "src": "8086:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "arguments": [ + { + "expression": { + "id": 662, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8116:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 663, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "8116:11:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + ], + "components": [ + { + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8109:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 659, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "8109:5:0", + "typeDescriptions": {} + } + } + ], + "id": 661, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8108:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + }, + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8108:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "id": 665, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8154:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "joinedAddrs", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "8154:16:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + ], + "id": 652, + "name": "ExtCallTaskRoundStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "7996:22:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ExtCallTaskRoundStruct_$91_storage_ptr_$", + "typeString": "type(struct DeltaContract.ExtCallTaskRoundStruct storage pointer)" + } + }, + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "currentRound", + "maxSample", + "minSample", + "status", + "joinedAddrs" + ], + "nodeType": "FunctionCall", + "src": "7996:185:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "src": "7984:197:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "id": 669, + "nodeType": "ExpressionStatement", + "src": "7984:197:0" + } + ] + }, + "documentation": { + "id": 628, + "nodeType": "StructuredDocumentation", + "src": "7605:166:0", + "text": " @dev getting task round infos\n @param taskId taskId\n @param round the round to fetch\n @return taskround the task round infos" + }, + "functionSelector": "4893b362", + "id": 671, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 635, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "7839:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 636, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "7846:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 637, + "kind": "modifierInvocation", + "modifierName": { + "id": 634, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "7827:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "7827:25:0" + } + ], + "name": "getTaskRound", + "nameLocation": "7785:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "7806:6:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7798:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7798:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 632, + "mutability": "mutable", + "name": "round", + "nameLocation": "7820:5:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7813:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 631, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "7813:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "7797:29:0" + }, + "returnParameters": { + "id": 641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "taskround", + "nameLocation": "7903:9:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7873:39:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct" + }, + "typeName": { + "id": 639, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 638, + "name": "ExtCallTaskRoundStruct", + "nodeType": "IdentifierPath", + "referencedDeclaration": 91, + "src": "7873:22:0" + }, + "referencedDeclaration": 91, + "src": "7873:22:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_storage_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct" + } + }, + "visibility": "internal" + } + ], + "src": "7872:41:0" + }, + "scope": 1638, + "src": "7776:412:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 745, + "nodeType": "Block", + "src": "8544:375:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 690, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8562:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8562:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8577:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8562:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742070726f7669646520616464726573736573", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8579:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "typeString": "literal_string \"Must provide addresses\"" + }, + "value": "Must provide addresses" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "typeString": "literal_string \"Must provide addresses\"" + } + ], + "id": 689, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8554:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8554:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 696, + "nodeType": "ExpressionStatement", + "src": "8554:50:0" + }, + { + "assignments": [ + 699 + ], + "declarations": [ + { + "constant": false, + "id": 699, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "8632:8:0", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "8614:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 698, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 697, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "8614:9:0" + }, + "referencedDeclaration": 79, + "src": "8614:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 705, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 700, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "8643:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 702, + "indexExpression": { + "id": 701, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8654:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8643:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 704, + "indexExpression": { + "id": 703, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8662:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8643:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8614:54:0" + }, + { + "body": { + "id": 730, + "nodeType": "Block", + "src": "8718:98:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 718, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "8740:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 719, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "8740:19:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 723, + "indexExpression": { + "baseExpression": { + "id": 720, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8760:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 722, + "indexExpression": { + "id": 721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8766:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8760:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8740:29:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "8740:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30783030", + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8777:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "8740:41:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e646964617465206d757374206578697374", + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8782:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + }, + "value": "Candidate must exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + } + ], + "id": 717, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8732:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8732:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 729, + "nodeType": "ExpressionStatement", + "src": "8732:73:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 710, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8694:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 711, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8698:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8698:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8694:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 731, + "initializationExpression": { + "assignments": [ + 707 + ], + "declarations": [ + { + "constant": false, + "id": 707, + "mutability": "mutable", + "name": "i", + "nameLocation": "8687:1:0", + "nodeType": "VariableDeclaration", + "scope": 731, + "src": "8682:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 706, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8682:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 709, + "initialValue": { + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8691:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8682:10:0" + }, + "loopExpression": { + "expression": { + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8712:4:0", + "subExpression": { + "id": 714, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8712:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 716, + "nodeType": "ExpressionStatement", + "src": "8712:4:0" + }, + "nodeType": "ForStatement", + "src": "8678:138:0" + }, + { + "expression": { + "id": 737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 732, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "8825:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "8825:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 735, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "8843:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "8843:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "8825:37:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 738, + "nodeType": "ExpressionStatement", + "src": "8825:37:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 740, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8893:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 741, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8900:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 742, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8906:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 739, + "name": "PartnerSelected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "8877:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8877:35:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 744, + "nodeType": "EmitStatement", + "src": "8872:40:0" + } + ] + }, + "documentation": { + "id": 672, + "nodeType": "StructuredDocumentation", + "src": "8199:209:0", + "text": " @dev called by task developer, randomly choose candidates to be computation nodes\n @dev clients now should start secret sharing phase \n @param addrs selected client addresses" + }, + "functionSelector": "41e865cb", + "id": 746, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 682, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8503:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 683, + "kind": "modifierInvocation", + "modifierName": { + "id": 681, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "8493:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "8493:17:0" + }, + { + "arguments": [ + { + "id": 685, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8523:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 686, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8530:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 687, + "kind": "modifierInvocation", + "modifierName": { + "id": 684, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "8511:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "8511:25:0" + } + ], + "name": "selectCandidates", + "nameLocation": "8422:16:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 674, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "8447:6:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8439:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8439:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 676, + "mutability": "mutable", + "name": "round", + "nameLocation": "8461:5:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8454:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 675, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8454:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "8486:5:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8467:24:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8467:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 678, + "nodeType": "ArrayTypeName", + "src": "8467:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "8438:54:0" + }, + "returnParameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [], + "src": "8544:0:0" + }, + "scope": 1638, + "src": "8413:506:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 797, + "nodeType": "Block", + "src": "9551:273:0", + "statements": [ + { + "assignments": [ + 770 + ], + "declarations": [ + { + "constant": false, + "id": 770, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "9593:5:0", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "9561:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 768, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 767, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "9561:21:0" + }, + "referencedDeclaration": 45, + "src": "9561:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 769, + "nodeType": "ArrayTypeName", + "src": "9561:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 774, + "initialValue": { + "baseExpression": { + "id": 771, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "9601:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 773, + "indexExpression": { + "id": 772, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9623:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9601:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9561:69:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 776, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "9648:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9648:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 778, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9664:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "9648:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9670:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 775, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9640:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9640:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 782, + "nodeType": "ExpressionStatement", + "src": "9640:59:0" + }, + { + "assignments": [ + 785 + ], + "declarations": [ + { + "constant": false, + "id": 785, + "mutability": "mutable", + "name": "cmmt", + "nameLocation": "9739:4:0", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "9709:34:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 784, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 783, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "9709:21:0" + }, + "referencedDeclaration": 45, + "src": "9709:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 789, + "initialValue": { + "baseExpression": { + "id": 786, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "9746:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 788, + "indexExpression": { + "id": 787, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9752:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9746:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9709:49:0" + }, + { + "expression": { + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 790, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 764, + "src": "9768:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 791, + "name": "cmmt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 785, + "src": "9781:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "9781:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 794, + "indexExpression": { + "id": 793, + "name": "clientaddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 751, + "src": "9803:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9781:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "src": "9768:49:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 796, + "nodeType": "ExpressionStatement", + "src": "9768:49:0" + } + ] + }, + "documentation": { + "id": 747, + "nodeType": "StructuredDocumentation", + "src": "8930:435:0", + "text": " @dev called by task developer, get commitments from blockchain\n @dev (Server has to call this method for every clients to get their commiments as the return value couldn't contain mapping type in solidity(damn it))\n @param taskId taskId\n @param clientaddress the client that publish the commitments \n @param round the round of that commitment\n @return commitment commitment data" + }, + "functionSelector": "e36bb28c", + "id": 798, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 756, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9462:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 757, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9469:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 758, + "kind": "modifierInvocation", + "modifierName": { + "id": 755, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "9450:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "9450:25:0" + }, + { + "arguments": [ + { + "id": 760, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9492:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 761, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9499:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 762, + "kind": "modifierInvocation", + "modifierName": { + "id": 759, + "name": "roundcmmtExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 257, + "src": "9476:15:0" + }, + "nodeType": "ModifierInvocation", + "src": "9476:29:0" + } + ], + "name": "getResultCommitment", + "nameLocation": "9379:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "9407:6:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9399:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9399:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 751, + "mutability": "mutable", + "name": "clientaddress", + "nameLocation": "9422:13:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9414:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 750, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9414:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 753, + "mutability": "mutable", + "name": "round", + "nameLocation": "9443:5:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9436:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 752, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "9436:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "9398:51:0" + }, + "returnParameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 764, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "9539:10:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9526:23:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 763, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9526:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9525:25:0" + }, + "scope": 1638, + "src": "9370:454:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 854, + "nodeType": "Block", + "src": "10077:259:0", + "statements": [ + { + "assignments": [ + 825 + ], + "declarations": [ + { + "constant": false, + "id": 825, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "10119:5:0", + "nodeType": "VariableDeclaration", + "scope": 854, + "src": "10087:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 823, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 822, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "10087:21:0" + }, + "referencedDeclaration": 45, + "src": "10087:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 824, + "nodeType": "ArrayTypeName", + "src": "10087:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 829, + "initialValue": { + "baseExpression": { + "id": 826, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "10127:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 828, + "indexExpression": { + "id": 827, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "10149:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10127:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10087:69:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 831, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "10174:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10174:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 833, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10190:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "10174:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10196:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10166:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10166:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 837, + "nodeType": "ExpressionStatement", + "src": "10166:59:0" + }, + { + "assignments": [ + 840 + ], + "declarations": [ + { + "constant": false, + "id": 840, + "mutability": "mutable", + "name": "cmmt", + "nameLocation": "10265:4:0", + "nodeType": "VariableDeclaration", + "scope": 854, + "src": "10235:34:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 839, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 838, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "10235:21:0" + }, + "referencedDeclaration": 45, + "src": "10235:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 844, + "initialValue": { + "baseExpression": { + "id": 841, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "10272:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 843, + "indexExpression": { + "id": 842, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10278:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10272:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10235:49:0" + }, + { + "expression": { + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 845, + "name": "ssdata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 819, + "src": "10294:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 846, + "name": "cmmt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "10303:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "10303:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 849, + "indexExpression": { + "id": 848, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 805, + "src": "10315:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10303:18:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 851, + "indexExpression": { + "id": 850, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 807, + "src": "10322:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10303:26:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "src": "10294:35:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData memory" + } + }, + "id": 853, + "nodeType": "ExpressionStatement", + "src": "10294:35:0" + } + ] + }, + "documentation": { + "id": 799, + "nodeType": "StructuredDocumentation", + "src": "9834:52:0", + "text": " @dev called by any participants" + }, + "functionSelector": "589e2338", + "id": 855, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 810, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "9991:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 811, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "9998:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 812, + "kind": "modifierInvocation", + "modifierName": { + "id": 809, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "9979:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "9979:25:0" + }, + { + "arguments": [ + { + "id": 814, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "10021:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 815, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10028:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 816, + "kind": "modifierInvocation", + "modifierName": { + "id": 813, + "name": "roundcmmtExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 257, + "src": "10005:15:0" + }, + "nodeType": "ModifierInvocation", + "src": "10005:29:0" + } + ], + "name": "getSecretSharingData", + "nameLocation": "9900:20:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 801, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "9929:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9921:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9921:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 803, + "mutability": "mutable", + "name": "round", + "nameLocation": "9943:5:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9936:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 802, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "9936:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 805, + "mutability": "mutable", + "name": "owner", + "nameLocation": "9957:5:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9949:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9949:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 807, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "9971:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9963:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9963:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9920:58:0" + }, + "returnParameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "mutability": "mutable", + "name": "ssdata", + "nameLocation": "10069:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "10055:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData" + }, + "typeName": { + "id": 818, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 817, + "name": "SSData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "10055:6:0" + }, + "referencedDeclaration": 100, + "src": "10055:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage_ptr", + "typeString": "struct DeltaContract.SSData" + } + }, + "visibility": "internal" + } + ], + "src": "10054:22:0" + }, + "scope": 1638, + "src": "9891:445:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 930, + "nodeType": "Block", + "src": "10904:435:0", + "statements": [ + { + "assignments": [ + 875 + ], + "declarations": [ + { + "constant": false, + "id": 875, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "10932:8:0", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "10914:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 874, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 873, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "10914:9:0" + }, + "referencedDeclaration": 79, + "src": "10914:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 881, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 876, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "10943:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 878, + "indexExpression": { + "id": 877, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10954:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10943:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 880, + "indexExpression": { + "id": 879, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "10962:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10943:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10914:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 883, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "10986:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 884, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "10986:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 885, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11005:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "11005:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "10986:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616c63756c6174696e6720686173206e6f742073746172746564", + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11029:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "typeString": "literal_string \"Calculating has not started\"" + }, + "value": "Calculating has not started" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "typeString": "literal_string \"Calculating has not started\"" + } + ], + "id": 882, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10978:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10978:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "10978:81:0" + }, + { + "expression": { + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 891, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "11069:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11069:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 894, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11087:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "11087:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11069:41:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 897, + "nodeType": "ExpressionStatement", + "src": "11069:41:0" + }, + { + "body": { + "id": 922, + "nodeType": "Block", + "src": "11168:106:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 910, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "11190:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "11190:19:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 915, + "indexExpression": { + "baseExpression": { + "id": 912, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11210:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 914, + "indexExpression": { + "id": 913, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11224:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11210:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11190:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "11190:41:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30783030", + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11235:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "11190:49:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e646964617465206d757374206578697374", + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11240:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + }, + "value": "Candidate must exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + } + ], + "id": 909, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11182:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11182:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "11182:81:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 902, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11136:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 903, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11140:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11140:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11136:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 923, + "initializationExpression": { + "assignments": [ + 899 + ], + "declarations": [ + { + "constant": false, + "id": 899, + "mutability": "mutable", + "name": "i", + "nameLocation": "11129:1:0", + "nodeType": "VariableDeclaration", + "scope": 923, + "src": "11124:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 898, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11124:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 901, + "initialValue": { + "hexValue": "30", + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11133:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11124:10:0" + }, + "loopExpression": { + "expression": { + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11162:4:0", + "subExpression": { + "id": 906, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11162:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 908, + "nodeType": "ExpressionStatement", + "src": "11162:4:0" + }, + "nodeType": "ForStatement", + "src": "11120:154:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 925, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "11305:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 926, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "11312:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 927, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11318:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 924, + "name": "AggregateStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "11288:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11288:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 929, + "nodeType": "EmitStatement", + "src": "11283:49:0" + } + ] + }, + "documentation": { + "id": 856, + "nodeType": "StructuredDocumentation", + "src": "10346:416:0", + "text": " @dev called by task developer, notifying all participants that the ss and gradient transfer phase has finished\n @dev client now should send corresponded ss share pieces to task developer according to the online status given by the task developer\n @param taskId taskId\n @param round the task round\n @param onlineClients clients that has transfered gradient to task developer" + }, + "functionSelector": "4956219b", + "id": 931, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 866, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10863:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 867, + "kind": "modifierInvocation", + "modifierName": { + "id": 865, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "10853:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "10853:17:0" + }, + { + "arguments": [ + { + "id": 869, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10883:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 870, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "10890:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 871, + "kind": "modifierInvocation", + "modifierName": { + "id": 868, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "10871:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "10871:25:0" + } + ], + "name": "startAggregate", + "nameLocation": "10776:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "10799:6:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10791:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 857, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10791:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 860, + "mutability": "mutable", + "name": "round", + "nameLocation": "10813:5:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10806:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 859, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "10806:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 863, + "mutability": "mutable", + "name": "onlineClients", + "nameLocation": "10838:13:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10819:32:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10819:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 862, + "nodeType": "ArrayTypeName", + "src": "10819:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "10790:62:0" + }, + "returnParameters": { + "id": 872, + "nodeType": "ParameterList", + "parameters": [], + "src": "10904:0:0" + }, + "scope": 1638, + "src": "10767:572:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 980, + "nodeType": "Block", + "src": "11722:270:0", + "statements": [ + { + "assignments": [ + 951 + ], + "declarations": [ + { + "constant": false, + "id": 951, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "11750:8:0", + "nodeType": "VariableDeclaration", + "scope": 980, + "src": "11732:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 950, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 949, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "11732:9:0" + }, + "referencedDeclaration": 79, + "src": "11732:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 957, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 952, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "11761:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 954, + "indexExpression": { + "id": 953, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11772:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11761:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 956, + "indexExpression": { + "id": 955, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11780:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11761:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11732:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 959, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "11804:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11804:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 961, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11823:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "11823:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11804:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5468697320726f756e64206973206e6f742072756e6e696e67206e6f77", + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11843:31:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "typeString": "literal_string \"This round is not running now\"" + }, + "value": "This round is not running now" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "typeString": "literal_string \"This round is not running now\"" + } + ], + "id": 958, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11796:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11796:79:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 966, + "nodeType": "ExpressionStatement", + "src": "11796:79:0" + }, + { + "expression": { + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 967, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "11885:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11885:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 970, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11903:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "11903:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11885:41:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "11885:41:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 975, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11958:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 976, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11965:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 977, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 939, + "src": "11971:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 974, + "name": "CalculateStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "11941:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11941:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 979, + "nodeType": "EmitStatement", + "src": "11936:49:0" + } + ] + }, + "documentation": { + "id": 932, + "nodeType": "StructuredDocumentation", + "src": "11355:225:0", + "text": " @dev called by task developer, notifying all participants that the secret sharing phase is finished to transfer masked gradient to task server\n @param taskId taskId\n @param round the task round" + }, + "functionSelector": "abf2013a", + "id": 981, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 942, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11681:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 943, + "kind": "modifierInvocation", + "modifierName": { + "id": 941, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "11671:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "11671:17:0" + }, + { + "arguments": [ + { + "id": 945, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11701:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 946, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11708:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 947, + "kind": "modifierInvocation", + "modifierName": { + "id": 944, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "11689:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "11689:25:0" + } + ], + "name": "startCalculate", + "nameLocation": "11594:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 934, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "11617:6:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11609:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11609:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 936, + "mutability": "mutable", + "name": "round", + "nameLocation": "11631:5:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11624:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 935, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "11624:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 939, + "mutability": "mutable", + "name": "onlineClients", + "nameLocation": "11656:13:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11637:32:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11637:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 938, + "nodeType": "ArrayTypeName", + "src": "11637:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "11608:62:0" + }, + "returnParameters": { + "id": 948, + "nodeType": "ParameterList", + "parameters": [], + "src": "11722:0:0" + }, + "scope": 1638, + "src": "11585:407:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1017, + "nodeType": "Block", + "src": "12229:156:0", + "statements": [ + { + "assignments": [ + 998 + ], + "declarations": [ + { + "constant": false, + "id": 998, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "12257:8:0", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "12239:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 997, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 996, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "12239:9:0" + }, + "referencedDeclaration": 79, + "src": "12239:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1004, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 999, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "12268:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1001, + "indexExpression": { + "id": 1000, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12279:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12268:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1003, + "indexExpression": { + "id": 1002, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12287:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12268:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12239:54:0" + }, + { + "expression": { + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1005, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 998, + "src": "12303:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1007, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "12303:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1008, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "12321:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Finished", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "12321:20:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "12303:38:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 1011, + "nodeType": "ExpressionStatement", + "src": "12303:38:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1013, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12365:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1014, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12372:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 1012, + "name": "RoundEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "12356:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 1015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12356:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1016, + "nodeType": "EmitStatement", + "src": "12351:27:0" + } + ] + }, + "documentation": { + "id": 982, + "nodeType": "StructuredDocumentation", + "src": "12002:124:0", + "text": " @dev called by task developer, close round\n @param taskId taskId\n @param round the task round" + }, + "functionSelector": "01bd7269", + "id": 1018, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 989, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12188:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 990, + "kind": "modifierInvocation", + "modifierName": { + "id": 988, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "12178:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "12178:17:0" + }, + { + "arguments": [ + { + "id": 992, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 993, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12215:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 994, + "kind": "modifierInvocation", + "modifierName": { + "id": 991, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "12196:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "12196:25:0" + } + ], + "name": "endRound", + "nameLocation": "12140:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 984, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "12157:6:0", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "12149:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 983, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12149:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "mutability": "mutable", + "name": "round", + "nameLocation": "12171:5:0", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "12164:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 985, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "12164:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "12148:29:0" + }, + "returnParameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [], + "src": "12229:0:0" + }, + "scope": 1638, + "src": "12131:254:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1113, + "nodeType": "Block", + "src": "12722:743:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1033, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "12740:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12740:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12766:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12740:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1037, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "12771:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12771:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1039, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "12798:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "12771:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12740:83:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12824:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1032, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12732:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12732:141:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1044, + "nodeType": "ExpressionStatement", + "src": "12732:141:0" + }, + { + "assignments": [ + 1047 + ], + "declarations": [ + { + "constant": false, + "id": 1047, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "12901:8:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "12883:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1046, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1045, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "12883:9:0" + }, + "referencedDeclaration": 79, + "src": "12883:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1053, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1048, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "12912:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1050, + "indexExpression": { + "id": 1049, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "12923:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12912:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1052, + "indexExpression": { + "id": 1051, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "12931:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12912:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12883:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1055, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "12955:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "12955:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1057, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "12974:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "12974:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "12955:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164696e67207068617365", + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12999:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "typeString": "literal_string \"not in uploading phase\"" + }, + "value": "not in uploading phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "typeString": "literal_string \"not in uploading phase\"" + } + ], + "id": 1054, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12947:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1062, + "nodeType": "ExpressionStatement", + "src": "12947:77:0" + }, + { + "assignments": [ + 1067 + ], + "declarations": [ + { + "constant": false, + "id": 1067, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "13066:11:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "13034:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1065, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1064, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "13034:21:0" + }, + "referencedDeclaration": 45, + "src": "13034:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1066, + "nodeType": "ArrayTypeName", + "src": "13034:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1071, + "initialValue": { + "baseExpression": { + "id": 1068, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "13080:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1070, + "indexExpression": { + "id": 1069, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "13102:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13080:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13034:75:0" + }, + { + "assignments": [ + 1074 + ], + "declarations": [ + { + "constant": false, + "id": 1074, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "13149:10:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "13119:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1073, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1072, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "13119:21:0" + }, + "referencedDeclaration": 45, + "src": "13119:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1078, + "initialValue": { + "baseExpression": { + "id": 1075, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "13162:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1077, + "indexExpression": { + "id": 1076, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "13174:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13162:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13119:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 1080, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "13198:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "13198:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 1084, + "indexExpression": { + "expression": { + "id": 1082, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13226:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13226:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13198:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13198:46:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13248:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13198:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d756c7469706c652074696d6573", + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13250:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "typeString": "literal_string \"cannot upload weightCommitment multiple times\"" + }, + "value": "cannot upload weightCommitment multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "typeString": "literal_string \"cannot upload weightCommitment multiple times\"" + } + ], + "id": 1079, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13190:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13190:108:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1090, + "nodeType": "ExpressionStatement", + "src": "13190:108:0" + }, + { + "expression": { + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 1091, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "13308:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "13308:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 1096, + "indexExpression": { + "expression": { + "id": 1093, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13336:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13336:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13308:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1097, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "13350:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "13308:58:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1099, + "nodeType": "ExpressionStatement", + "src": "13308:58:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1101, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "13397:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1102, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "13404:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13410:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13410:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13429:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13421:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13421:7:0", + "typeDescriptions": {} + } + }, + "id": 1108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13421:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "574549474854", + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13432:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "typeString": "literal_string \"WEIGHT\"" + }, + "value": "WEIGHT" + }, + { + "id": 1110, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "13441:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "typeString": "literal_string \"WEIGHT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1100, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "13381:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13381:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1112, + "nodeType": "EmitStatement", + "src": "13376:82:0" + } + ] + }, + "documentation": { + "id": 1019, + "nodeType": "StructuredDocumentation", + "src": "12395:196:0", + "text": " @dev called by client, upload weight commitment\n @param taskId taskId\n @param round the task round\n @param resultCommitment masked model incremental commitment" + }, + "functionSelector": "ebd3e836", + "id": 1114, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1028, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "12701:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1029, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "12708:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1030, + "kind": "modifierInvocation", + "modifierName": { + "id": 1027, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "12689:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "12689:25:0" + } + ], + "name": "uploadResultCommitment", + "nameLocation": "12605:22:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1021, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "12636:6:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12628:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1020, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12628:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1023, + "mutability": "mutable", + "name": "round", + "nameLocation": "12650:5:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12643:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1022, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "12643:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1025, + "mutability": "mutable", + "name": "resultCommitment", + "nameLocation": "12671:16:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12656:31:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1024, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12656:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12627:61:0" + }, + "returnParameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [], + "src": "12722:0:0" + }, + "scope": 1638, + "src": "12596:869:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1214, + "nodeType": "Block", + "src": "13867:747:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1131, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "13885:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13885:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13909:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13885:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1135, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "13914:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13914:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1137, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "13939:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13914:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13885:74:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13960:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1130, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13877:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13877:132:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1142, + "nodeType": "ExpressionStatement", + "src": "13877:132:0" + }, + { + "assignments": [ + 1145 + ], + "declarations": [ + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "14037:8:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14019:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1144, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1143, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "14019:9:0" + }, + "referencedDeclaration": 79, + "src": "14019:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1151, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1146, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "14048:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1148, + "indexExpression": { + "id": 1147, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14059:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14048:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1150, + "indexExpression": { + "id": 1149, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14067:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14048:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14019:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1153, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "14091:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "14091:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1155, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "14110:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "14110:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "14091:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e207365637265742073686172696e67207068617365", + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14130:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + }, + "value": "not in secret sharing phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + } + ], + "id": 1152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14083:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14083:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1160, + "nodeType": "ExpressionStatement", + "src": "14083:77:0" + }, + { + "assignments": [ + 1165 + ], + "declarations": [ + { + "constant": false, + "id": 1165, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "14202:11:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14170:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1163, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1162, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "14170:21:0" + }, + "referencedDeclaration": 45, + "src": "14170:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1164, + "nodeType": "ArrayTypeName", + "src": "14170:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1169, + "initialValue": { + "baseExpression": { + "id": 1166, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "14216:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1168, + "indexExpression": { + "id": 1167, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14238:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14216:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14170:75:0" + }, + { + "assignments": [ + 1172 + ], + "declarations": [ + { + "constant": false, + "id": 1172, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "14285:10:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14255:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1171, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1170, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "14255:21:0" + }, + "referencedDeclaration": 45, + "src": "14255:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1176, + "initialValue": { + "baseExpression": { + "id": 1173, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "14298:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1175, + "indexExpression": { + "id": 1174, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14310:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14298:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14255:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1178, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "14334:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "14334:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1182, + "indexExpression": { + "expression": { + "id": 1180, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14352:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14352:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14334:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1184, + "indexExpression": { + "id": 1183, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14364:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14334:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "14334:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14334:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14397:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14334:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c652074696d6573", + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14399:40:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "typeString": "literal_string \"cannot upload seed cmmt multiple times\"" + }, + "value": "cannot upload seed cmmt multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "typeString": "literal_string \"cannot upload seed cmmt multiple times\"" + } + ], + "id": 1177, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14326:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14326:114:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1191, + "nodeType": "ExpressionStatement", + "src": "14326:114:0" + }, + { + "expression": { + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1192, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "14450:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "14450:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1198, + "indexExpression": { + "expression": { + "id": 1194, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14468:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14468:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14450:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1199, + "indexExpression": { + "id": 1196, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14480:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14450:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1200, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "14450:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1201, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "14505:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "14450:69:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1203, + "nodeType": "ExpressionStatement", + "src": "14450:69:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1205, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14550:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1206, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14557:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1207, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14563:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14563:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1209, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14574:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "53454544434d4d54", + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14581:10:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "typeString": "literal_string \"SEEDCMMT\"" + }, + "value": "SEEDCMMT" + }, + { + "id": 1211, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "14592:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "typeString": "literal_string \"SEEDCMMT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1204, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "14534:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14534:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1213, + "nodeType": "EmitStatement", + "src": "14529:78:0" + } + ] + }, + "documentation": { + "id": 1115, + "nodeType": "StructuredDocumentation", + "src": "13480:245:0", + "text": " @dev called by client, upload secret sharing seed commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param seedCommitment secret sharing piece of seed mask" + }, + "functionSelector": "c99f61d4", + "id": 1215, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1126, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "13846:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1127, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "13853:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1128, + "kind": "modifierInvocation", + "modifierName": { + "id": 1125, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "13834:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "13834:25:0" + } + ], + "name": "uploadSeedCommitment", + "nameLocation": "13739:20:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1117, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "13768:6:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13760:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1116, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13760:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "round", + "nameLocation": "13782:5:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13775:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1118, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13775:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1121, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "13796:6:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13788:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13788:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1123, + "mutability": "mutable", + "name": "seedCommitment", + "nameLocation": "13818:14:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13803:29:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1122, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13803:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13759:74:0" + }, + "returnParameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [], + "src": "13867:0:0" + }, + "scope": 1638, + "src": "13730:884:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1330, + "nodeType": "Block", + "src": "14967:801:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1232, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "14985:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14985:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14999:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14985:15:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1236, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15004:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15004:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1238, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "15019:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "15004:35:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14985:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15041:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1231, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14977:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14977:113:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1243, + "nodeType": "ExpressionStatement", + "src": "14977:113:0" + }, + { + "assignments": [ + 1246 + ], + "declarations": [ + { + "constant": false, + "id": 1246, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "15118:8:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15100:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1245, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1244, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "15100:9:0" + }, + "referencedDeclaration": 79, + "src": "15100:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1252, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1247, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "15129:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1249, + "indexExpression": { + "id": 1248, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15140:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15129:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1251, + "indexExpression": { + "id": 1250, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15148:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15129:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15100:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1254, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "15172:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "15172:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1256, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "15191:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "15191:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "15172:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164207373207068617365", + "id": 1259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15215:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + }, + "value": "not in upload ss phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + } + ], + "id": 1253, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15164:76:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1261, + "nodeType": "ExpressionStatement", + "src": "15164:76:0" + }, + { + "assignments": [ + 1266 + ], + "declarations": [ + { + "constant": false, + "id": 1266, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "15282:11:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15250:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1264, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1263, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "15250:21:0" + }, + "referencedDeclaration": 45, + "src": "15250:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1265, + "nodeType": "ArrayTypeName", + "src": "15250:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1270, + "initialValue": { + "baseExpression": { + "id": 1267, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "15296:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1269, + "indexExpression": { + "id": 1268, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15318:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15296:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15250:75:0" + }, + { + "assignments": [ + 1273 + ], + "declarations": [ + { + "constant": false, + "id": 1273, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "15365:10:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15335:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1272, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1271, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "15335:21:0" + }, + "referencedDeclaration": 45, + "src": "15335:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1277, + "initialValue": { + "baseExpression": { + "id": 1274, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "15378:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1276, + "indexExpression": { + "id": 1275, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15390:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15378:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15335:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1279, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15414:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15414:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1283, + "indexExpression": { + "expression": { + "id": 1281, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15432:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15432:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15414:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1285, + "indexExpression": { + "id": 1284, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15444:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15414:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "15414:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15414:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15476:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15414:63:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d7573742075706c6f616420636f6d6d69746d656e74206669727374", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15478:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + }, + "value": "must upload commitment first" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + } + ], + "id": 1278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15406:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15406:103:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1292, + "nodeType": "ExpressionStatement", + "src": "15406:103:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1294, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15527:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1298, + "indexExpression": { + "expression": { + "id": 1296, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15545:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15545:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15527:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1300, + "indexExpression": { + "id": 1299, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15557:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15527:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 93, + "src": "15527:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15527:54:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15585:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15527:59:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6573", + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15587:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + }, + "value": "cannot upload seed multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + } + ], + "id": 1293, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15519:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15519:104:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1307, + "nodeType": "ExpressionStatement", + "src": "15519:104:0" + }, + { + "expression": { + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1308, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15633:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15633:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1314, + "indexExpression": { + "expression": { + "id": 1310, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15651:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15651:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15633:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1315, + "indexExpression": { + "id": 1312, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15663:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15633:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "seedPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 93, + "src": "15633:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1317, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15683:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "15633:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1319, + "nodeType": "ExpressionStatement", + "src": "15633:54:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1321, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15718:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1322, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15725:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1323, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15731:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15731:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1325, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15742:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "53454544", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15749:6:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "typeString": "literal_string \"SEED\"" + }, + "value": "SEED" + }, + { + "id": 1327, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "typeString": "literal_string \"SEED\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1320, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "15702:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15702:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1329, + "nodeType": "EmitStatement", + "src": "15697:64:0" + } + ] + }, + "documentation": { + "id": 1216, + "nodeType": "StructuredDocumentation", + "src": "14629:216:0", + "text": " @dev called by client, upload secret sharing seed commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param seed the seed piece" + }, + "functionSelector": "90ec5deb", + "id": 1331, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1227, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "14946:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1228, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "14953:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1229, + "kind": "modifierInvocation", + "modifierName": { + "id": 1226, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "14934:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "14934:25:0" + } + ], + "name": "uploadSeed", + "nameLocation": "14859:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1218, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "14878:6:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14870:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1217, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14870:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1220, + "mutability": "mutable", + "name": "round", + "nameLocation": "14892:5:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14885:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1219, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "14885:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1222, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "14906:6:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14898:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14898:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1224, + "mutability": "mutable", + "name": "seed", + "nameLocation": "14928:4:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14913:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1223, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14913:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "14869:64:0" + }, + "returnParameters": { + "id": 1230, + "nodeType": "ParameterList", + "parameters": [], + "src": "14967:0:0" + }, + "scope": 1638, + "src": "14850:918:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1442, + "nodeType": "Block", + "src": "16178:932:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1348, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16196:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16196:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16225:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16196:30:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1352, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16230:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16230:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1354, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "16260:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "16230:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16196:84:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16281:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1347, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16188:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16188:142:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1359, + "nodeType": "ExpressionStatement", + "src": "16188:142:0" + }, + { + "assignments": [ + 1362 + ], + "declarations": [ + { + "constant": false, + "id": 1362, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "16358:8:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16340:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1361, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1360, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "16340:9:0" + }, + "referencedDeclaration": 79, + "src": "16340:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1368, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1363, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "16369:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1365, + "indexExpression": { + "id": 1364, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16380:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16369:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1367, + "indexExpression": { + "id": 1366, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16388:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16369:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16340:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1370, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1362, + "src": "16412:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "16412:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1372, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "16431:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "16431:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "16412:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e207365637265742073686172696e67207068617365", + "id": 1375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16451:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + }, + "value": "not in secret sharing phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + } + ], + "id": 1369, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16404:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16404:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1377, + "nodeType": "ExpressionStatement", + "src": "16404:77:0" + }, + { + "assignments": [ + 1382 + ], + "declarations": [ + { + "constant": false, + "id": 1382, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "16523:11:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16491:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1380, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1379, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "16491:21:0" + }, + "referencedDeclaration": 45, + "src": "16491:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1381, + "nodeType": "ArrayTypeName", + "src": "16491:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1386, + "initialValue": { + "baseExpression": { + "id": 1383, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "16537:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1385, + "indexExpression": { + "id": 1384, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16559:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16537:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16491:75:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1387, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16579:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16579:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1389, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16601:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "16579:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1397, + "nodeType": "IfStatement", + "src": "16576:75:0", + "trueBody": { + "id": 1396, + "nodeType": "Block", + "src": "16608:43:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1391, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16622:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "16622:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16622:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 1395, + "nodeType": "ExpressionStatement", + "src": "16622:18:0" + } + ] + } + }, + { + "assignments": [ + 1400 + ], + "declarations": [ + { + "constant": false, + "id": 1400, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "16690:10:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16660:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1399, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1398, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "16660:21:0" + }, + "referencedDeclaration": 45, + "src": "16660:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1404, + "initialValue": { + "baseExpression": { + "id": 1401, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16703:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1403, + "indexExpression": { + "id": 1402, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16715:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16703:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16660:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1406, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1400, + "src": "16739:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "16739:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1410, + "indexExpression": { + "expression": { + "id": 1408, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16757:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16757:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16739:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1412, + "indexExpression": { + "id": 1411, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16769:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16739:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "16739:61:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16739:68:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16811:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16739:73:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6573", + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16813:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + }, + "value": "cannot upload seed multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + } + ], + "id": 1405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16731:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16731:118:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1419, + "nodeType": "ExpressionStatement", + "src": "16731:118:0" + }, + { + "expression": { + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1420, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1400, + "src": "16859:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "16859:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1426, + "indexExpression": { + "expression": { + "id": 1422, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16877:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16877:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16859:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1427, + "indexExpression": { + "id": 1424, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16889:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16859:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "16859:61:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1429, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16923:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "16859:83:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1431, + "nodeType": "ExpressionStatement", + "src": "16859:83:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1433, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16973:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1434, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16980:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1435, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16986:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16986:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1437, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16997:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "534b4d41534b434d4d54", + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17004:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "typeString": "literal_string \"SKMASKCMMT\"" + }, + "value": "SKMASKCMMT" + }, + { + "id": 1439, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "17017:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "typeString": "literal_string \"SKMASKCMMT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1432, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "16957:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16957:80:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1441, + "nodeType": "EmitStatement", + "src": "16952:85:0" + } + ] + }, + "documentation": { + "id": 1332, + "nodeType": "StructuredDocumentation", + "src": "15778:248:0", + "text": " @dev called by client, upload secret sharing sk commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param secretKeyCommitment secret sharing piece of seed mask" + }, + "functionSelector": "ee9dc1bd", + "id": 1443, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1343, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16157:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1344, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1345, + "kind": "modifierInvocation", + "modifierName": { + "id": 1342, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "16145:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "16145:25:0" + } + ], + "name": "uploadSecretKeyCommitment", + "nameLocation": "16040:25:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1334, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "16074:6:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16066:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1333, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16066:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1336, + "mutability": "mutable", + "name": "round", + "nameLocation": "16088:5:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16081:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1335, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "16081:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "16102:6:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16094:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16094:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "secretKeyCommitment", + "nameLocation": "16124:19:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16109:34:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1339, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16109:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "16065:79:0" + }, + "returnParameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [], + "src": "16178:0:0" + }, + "scope": 1638, + "src": "16031:1079:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1569, + "nodeType": "Block", + "src": "17489:1005:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1460, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "17507:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17507:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17530:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17507:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1464, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "17535:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17535:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1466, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "17559:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "17535:44:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17507:72:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17580:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17499:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17499:130:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1471, + "nodeType": "ExpressionStatement", + "src": "17499:130:0" + }, + { + "assignments": [ + 1474 + ], + "declarations": [ + { + "constant": false, + "id": 1474, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "17657:8:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17639:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1473, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1472, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "17639:9:0" + }, + "referencedDeclaration": 79, + "src": "17639:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1480, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1475, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "17668:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1477, + "indexExpression": { + "id": 1476, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17679:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17668:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1479, + "indexExpression": { + "id": 1478, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17687:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17668:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17639:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1482, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "17711:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "17711:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1484, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "17730:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "17730:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "17711:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164207373207068617365", + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17754:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + }, + "value": "not in upload ss phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + } + ], + "id": 1481, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17703:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17703:76:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1489, + "nodeType": "ExpressionStatement", + "src": "17703:76:0" + }, + { + "assignments": [ + 1494 + ], + "declarations": [ + { + "constant": false, + "id": 1494, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "17821:11:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17789:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1492, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1491, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "17789:21:0" + }, + "referencedDeclaration": 45, + "src": "17789:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1493, + "nodeType": "ArrayTypeName", + "src": "17789:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1498, + "initialValue": { + "baseExpression": { + "id": 1495, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "17835:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1497, + "indexExpression": { + "id": 1496, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17857:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17835:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17789:75:0" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1499, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "17877:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17877:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1501, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17899:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "17877:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1509, + "nodeType": "IfStatement", + "src": "17874:75:0", + "trueBody": { + "id": 1508, + "nodeType": "Block", + "src": "17906:43:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1503, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "17920:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "17920:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17920:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 1507, + "nodeType": "ExpressionStatement", + "src": "17920:18:0" + } + ] + } + }, + { + "assignments": [ + 1512 + ], + "declarations": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "17988:10:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17958:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1510, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "17958:21:0" + }, + "referencedDeclaration": 45, + "src": "17958:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1516, + "initialValue": { + "baseExpression": { + "id": 1513, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "18001:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1515, + "indexExpression": { + "id": 1514, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "18013:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18001:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17958:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1518, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18037:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18037:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1521, + "indexExpression": { + "id": 1520, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18055:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18037:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1524, + "indexExpression": { + "expression": { + "id": 1522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18062:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18062:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18037:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "18037:60:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18037:67:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18107:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18037:71:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d7573742075706c6f616420636f6d6d69746d656e74206669727374", + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18109:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + }, + "value": "must upload commitment first" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + } + ], + "id": 1517, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18029:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18029:111:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1531, + "nodeType": "ExpressionStatement", + "src": "18029:111:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1533, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18158:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18158:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1536, + "indexExpression": { + "id": 1535, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18176:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18158:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1539, + "indexExpression": { + "expression": { + "id": 1537, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18183:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18158:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 97, + "src": "18158:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18158:58:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18220:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18158:63:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c652074696d6573", + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18222:37:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "typeString": "literal_string \"cannot upload skmask multiple times\"" + }, + "value": "cannot upload skmask multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "typeString": "literal_string \"cannot upload skmask multiple times\"" + } + ], + "id": 1532, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18150:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18150:110:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1546, + "nodeType": "ExpressionStatement", + "src": "18150:110:0" + }, + { + "expression": { + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1547, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18270:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18270:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1553, + "indexExpression": { + "id": 1549, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18288:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18270:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1554, + "indexExpression": { + "expression": { + "id": 1550, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18295:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18295:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18270:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1555, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "secretKeyPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 97, + "src": "18270:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1556, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "18324:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "18270:67:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1558, + "nodeType": "ExpressionStatement", + "src": "18270:67:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1560, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "18368:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1561, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "18375:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 1562, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18381:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18387:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18387:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "534b4d41534b", + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18398:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "typeString": "literal_string \"SKMASK\"" + }, + "value": "SKMASK" + }, + { + "id": 1566, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "18407:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "typeString": "literal_string \"SKMASK\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1559, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "18352:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18352:69:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1568, + "nodeType": "EmitStatement", + "src": "18347:74:0" + } + ] + }, + "documentation": { + "id": 1444, + "nodeType": "StructuredDocumentation", + "src": "17125:225:0", + "text": " @dev called by client, upload secret sharing sk commitment\n @param taskId taskId\n @param round the task round\n @param secretkeyMask the crypted skmask\n @param owner the owner address" + }, + "functionSelector": "f9dd18a7", + "id": 1570, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1455, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17468:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1456, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17475:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1457, + "kind": "modifierInvocation", + "modifierName": { + "id": 1454, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "17456:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "17456:25:0" + } + ], + "name": "uploadSecretkeyMask", + "nameLocation": "17364:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1446, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "17392:6:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17384:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17384:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1448, + "mutability": "mutable", + "name": "round", + "nameLocation": "17406:5:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17399:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1447, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "17399:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1450, + "mutability": "mutable", + "name": "owner", + "nameLocation": "17420:5:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17412:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17412:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1452, + "mutability": "mutable", + "name": "secretkeyMask", + "nameLocation": "17441:13:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17426:28:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1451, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17426:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "17383:72:0" + }, + "returnParameters": { + "id": 1458, + "nodeType": "ParameterList", + "parameters": [], + "src": "17489:0:0" + }, + "scope": 1638, + "src": "17355:1139:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1581, + "nodeType": "Block", + "src": "18575:54:0", + "statements": [ + { + "expression": { + "id": 1579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1577, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "18585:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1578, + "name": "maxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1572, + "src": "18613:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18585:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1580, + "nodeType": "ExpressionStatement", + "src": "18585:37:0" + } + ] + }, + "functionSelector": "b71b768d", + "id": 1582, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1575, + "kind": "modifierInvocation", + "modifierName": { + "id": 1574, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "18560:7:0" + }, + "nodeType": "ModifierInvocation", + "src": "18560:7:0" + } + ], + "name": "setMaxWeightCommitmentLength", + "nameLocation": "18513:28:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1572, + "mutability": "mutable", + "name": "maxLength", + "nameLocation": "18549:9:0", + "nodeType": "VariableDeclaration", + "scope": 1582, + "src": "18542:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1571, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18542:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "18541:18:0" + }, + "returnParameters": { + "id": 1576, + "nodeType": "ParameterList", + "parameters": [], + "src": "18575:0:0" + }, + "scope": 1638, + "src": "18504:125:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1593, + "nodeType": "Block", + "src": "18706:49:0", + "statements": [ + { + "expression": { + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1589, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "18716:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1590, + "name": "maxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "18739:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18716:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1592, + "nodeType": "ExpressionStatement", + "src": "18716:32:0" + } + ] + }, + "functionSelector": "d6f02142", + "id": 1594, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1587, + "kind": "modifierInvocation", + "modifierName": { + "id": 1586, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "18691:7:0" + }, + "nodeType": "ModifierInvocation", + "src": "18691:7:0" + } + ], + "name": "setMaxSSCommitmentLength", + "nameLocation": "18648:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1584, + "mutability": "mutable", + "name": "maxLength", + "nameLocation": "18680:9:0", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "18673:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1583, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18673:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "18672:18:0" + }, + "returnParameters": { + "id": 1588, + "nodeType": "ParameterList", + "parameters": [], + "src": "18706:0:0" + }, + "scope": 1638, + "src": "18639:116:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1609, + "nodeType": "Block", + "src": "18858:98:0", + "statements": [ + { + "expression": { + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1601, + "name": "sslength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1597, + "src": "18868:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1602, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "18879:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18868:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1604, + "nodeType": "ExpressionStatement", + "src": "18868:31:0" + }, + { + "expression": { + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1605, + "name": "weightLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1599, + "src": "18909:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1606, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "18924:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18909:40:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1608, + "nodeType": "ExpressionStatement", + "src": "18909:40:0" + } + ] + }, + "functionSelector": "5d3d7e63", + "id": 1610, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMaxCommitmentsLength", + "nameLocation": "18774:23:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1595, + "nodeType": "ParameterList", + "parameters": [], + "src": "18797:2:0" + }, + "returnParameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1597, + "mutability": "mutable", + "name": "sslength", + "nameLocation": "18828:8:0", + "nodeType": "VariableDeclaration", + "scope": 1610, + "src": "18821:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1596, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18821:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1599, + "mutability": "mutable", + "name": "weightLength", + "nameLocation": "18844:12:0", + "nodeType": "VariableDeclaration", + "scope": 1610, + "src": "18837:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1598, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18837:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "18820:37:0" + }, + "scope": 1638, + "src": "18765:191:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1627, + "nodeType": "Block", + "src": "19110:73:0", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 1619, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19134:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1620, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1613, + "src": "19141:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1618, + "name": "OwnerSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "19125:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19125:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1622, + "nodeType": "EmitStatement", + "src": "19120:30:0" + }, + { + "expression": { + "id": 1625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1623, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19160:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1624, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1613, + "src": "19168:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "19160:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1626, + "nodeType": "ExpressionStatement", + "src": "19160:16:0" + } + ] + }, + "documentation": { + "id": 1611, + "nodeType": "StructuredDocumentation", + "src": "18971:80:0", + "text": " @dev Change owner\n @param newOwner address of new owner" + }, + "functionSelector": "a6f9dae1", + "id": 1628, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1616, + "kind": "modifierInvocation", + "modifierName": { + "id": 1615, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "19102:7:0" + }, + "nodeType": "ModifierInvocation", + "src": "19102:7:0" + } + ], + "name": "changeOwner", + "nameLocation": "19065:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1613, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "19085:8:0", + "nodeType": "VariableDeclaration", + "scope": 1628, + "src": "19077:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19077:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19076:18:0" + }, + "returnParameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [], + "src": "19110:0:0" + }, + "scope": 1638, + "src": "19056:127:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1636, + "nodeType": "Block", + "src": "19323:29:0", + "statements": [ + { + "expression": { + "id": 1634, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19340:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1633, + "id": 1635, + "nodeType": "Return", + "src": "19333:12:0" + } + ] + }, + "documentation": { + "id": 1629, + "nodeType": "StructuredDocumentation", + "src": "19189:77:0", + "text": " @dev Return owner address \n @return address of owner" + }, + "functionSelector": "893d20e8", + "id": 1637, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOwner", + "nameLocation": "19280:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [], + "src": "19288:2:0" + }, + "returnParameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1632, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1637, + "src": "19314:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19314:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19313:9:0" + }, + "scope": 1638, + "src": "19271:81:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1639, + "src": "134:19220:0", + "usedErrors": [] + } + ], + "src": "37:19317:0" + }, + "legacyAST": { + "absolutePath": "project:/contracts/DeltaContract.sol", + "exportedSymbols": { + "DeltaContract": [ + 1638 + ] + }, + "id": 1639, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + ">=", + "0.7", + ".0", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "37:31:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "DeltaContract", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2, + "nodeType": "StructuredDocumentation", + "src": "70:63:0", + "text": " @title Delta Contract\n @dev Delta Contract For Mpc" + }, + "fullyImplemented": true, + "id": 1638, + "linearizedBaseContracts": [ + 1638 + ], + "name": "DeltaContract", + "nameLocation": "143:13:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 4, + "mutability": "mutable", + "name": "owner", + "nameLocation": "180:5:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "164:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "canonicalName": "DeltaContract.RoundStatus", + "id": 10, + "members": [ + { + "id": 5, + "name": "Started", + "nameLocation": "209:7:0", + "nodeType": "EnumValue", + "src": "209:7:0" + }, + { + "id": 6, + "name": "Running", + "nameLocation": "217:7:0", + "nodeType": "EnumValue", + "src": "217:7:0" + }, + { + "id": 7, + "name": "Calculating", + "nameLocation": "225:11:0", + "nodeType": "EnumValue", + "src": "225:11:0" + }, + { + "id": 8, + "name": "Aggregating", + "nameLocation": "237:11:0", + "nodeType": "EnumValue", + "src": "237:11:0" + }, + { + "id": 9, + "name": "Finished", + "nameLocation": "249:8:0", + "nodeType": "EnumValue", + "src": "249:8:0" + } + ], + "name": "RoundStatus", + "nameLocation": "196:11:0", + "nodeType": "EnumDefinition", + "src": "191:67:0" + }, + { + "constant": false, + "id": 15, + "mutability": "mutable", + "name": "createdTasks", + "nameLocation": "288:12:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "263:37:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task)" + }, + "typeName": { + "id": 14, + "keyType": { + "id": 11, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "271:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "263:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task)" + }, + "valueType": { + "id": 13, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 12, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "282:4:0" + }, + "referencedDeclaration": 56, + "src": "282:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "taskRounds", + "nameLocation": "338:10:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "306:42:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound[])" + }, + "typeName": { + "id": 20, + "keyType": { + "id": 16, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "314:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "306:31:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound[])" + }, + "valueType": { + "baseType": { + "id": 18, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 17, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "325:9:0" + }, + "referencedDeclaration": 79, + "src": "325:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 19, + "nodeType": "ArrayTypeName", + "src": "325:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 27, + "mutability": "mutable", + "name": "roundModelCommitments", + "nameLocation": "398:21:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "354:65:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments[])" + }, + "typeName": { + "id": 26, + "keyType": { + "id": 22, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "362:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "354:43:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments[])" + }, + "valueType": { + "baseType": { + "id": 24, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 23, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "373:21:0" + }, + "referencedDeclaration": 45, + "src": "373:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 25, + "nodeType": "ArrayTypeName", + "src": "373:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "maxWeightCommitmentLength", + "nameLocation": "440:25:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "425:51:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 28, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "425:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "3130343835373630", + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "468:8:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_10485760_by_1", + "typeString": "int_const 10485760" + }, + "value": "10485760" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 33, + "mutability": "mutable", + "name": "maxSSComitmentLength", + "nameLocation": "497:20:0", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "482:41:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 31, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "482:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "value": { + "hexValue": "323536", + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "520:3:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_256_by_1", + "typeString": "int_const 256" + }, + "value": "256" + }, + "visibility": "private" + }, + { + "canonicalName": "DeltaContract.RoundModelCommitments", + "id": 45, + "members": [ + { + "constant": false, + "id": 37, + "mutability": "mutable", + "name": "weightCommitment", + "nameLocation": "592:16:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "568:40:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes)" + }, + "typeName": { + "id": 36, + "keyType": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "576:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "568:23:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes)" + }, + "valueType": { + "id": 35, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "585:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "ssdata", + "nameLocation": "661:6:0", + "nodeType": "VariableDeclaration", + "scope": 45, + "src": "618:49:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData))" + }, + "typeName": { + "id": 43, + "keyType": { + "id": 38, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "618:42:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData))" + }, + "valueType": { + "id": 42, + "keyType": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "643:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "635:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData)" + }, + "valueType": { + "id": 41, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 40, + "name": "SSData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "652:6:0" + }, + "referencedDeclaration": 100, + "src": "652:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage_ptr", + "typeString": "struct DeltaContract.SSData" + } + } + } + }, + "visibility": "internal" + } + ], + "name": "RoundModelCommitments", + "nameLocation": "536:21:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "529:145:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.Task", + "id": 56, + "members": [ + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "creator", + "nameLocation": "709:7:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "701:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 46, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "701:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 49, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "733:10:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "726:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 48, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "726:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 51, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "760:7:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "753:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 50, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "753:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 53, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "785:10:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "777:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 52, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "777:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 55, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "812:12:0", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "805:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 54, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "805:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "Task", + "nameLocation": "686:4:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "679:152:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.Candidate", + "id": 61, + "members": [ + { + "constant": false, + "id": 58, + "mutability": "mutable", + "name": "pk1", + "nameLocation": "876:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "868:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 57, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "868:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "mutability": "mutable", + "name": "pk2", + "nameLocation": "897:3:0", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "889:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 59, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "889:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Candidate", + "nameLocation": "848:9:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "841:66:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.TaskRound", + "id": 79, + "members": [ + { + "constant": false, + "id": 63, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "951:12:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "944:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 62, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "944:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "980:9:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "973:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 64, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "973:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 67, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "1006:9:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "999:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 66, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "999:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, + "mutability": "mutable", + "name": "status", + "nameLocation": "1037:6:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1025:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "typeName": { + "id": 69, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 68, + "name": "RoundStatus", + "nodeType": "IdentifierPath", + "referencedDeclaration": 10, + "src": "1025:11:0" + }, + "referencedDeclaration": 10, + "src": "1025:11:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "mutability": "mutable", + "name": "candidates", + "nameLocation": "1081:10:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1053:38:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate)" + }, + "typeName": { + "id": 74, + "keyType": { + "id": 71, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1061:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1053:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate)" + }, + "valueType": { + "id": 73, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 72, + "name": "Candidate", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "1070:9:0" + }, + "referencedDeclaration": 61, + "src": "1070:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage_ptr", + "typeString": "struct DeltaContract.Candidate" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 78, + "mutability": "mutable", + "name": "joinedAddrs", + "nameLocation": "1111:11:0", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "1101:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 76, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1101:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 77, + "nodeType": "ArrayTypeName", + "src": "1101:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "name": "TaskRound", + "nameLocation": "924:9:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "917:212:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.ExtCallTaskRoundStruct", + "id": 91, + "members": [ + { + "constant": false, + "id": 81, + "mutability": "mutable", + "name": "currentRound", + "nameLocation": "1186:12:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1179:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 80, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1179:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 83, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "1215:9:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1208:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 82, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 85, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "1241:9:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1234:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 84, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "1234:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 87, + "mutability": "mutable", + "name": "status", + "nameLocation": "1266:6:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1260:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 86, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1260:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 90, + "mutability": "mutable", + "name": "joinedAddrs", + "nameLocation": "1292:11:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "1282:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1282:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 89, + "nodeType": "ArrayTypeName", + "src": "1282:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "name": "ExtCallTaskRoundStruct", + "nameLocation": "1146:22:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "1139:171:0", + "visibility": "public" + }, + { + "canonicalName": "DeltaContract.SSData", + "id": 100, + "members": [ + { + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "seedPiece", + "nameLocation": "1350:9:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1344:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 92, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1344:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 95, + "mutability": "mutable", + "name": "seedCommitment", + "nameLocation": "1375:14:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1369:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 94, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1369:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "secretKeyPiece", + "nameLocation": "1405:14:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1399:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 96, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1399:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 99, + "mutability": "mutable", + "name": "secretKeyMaskCommitment", + "nameLocation": "1435:23:0", + "nodeType": "VariableDeclaration", + "scope": 100, + "src": "1429:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 98, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1429:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "SSData", + "nameLocation": "1327:6:0", + "nodeType": "StructDefinition", + "scope": 1638, + "src": "1320:145:0", + "visibility": "public" + }, + { + "anonymous": false, + "id": 106, + "name": "OwnerSet", + "nameLocation": "1510:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 102, + "indexed": true, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "1535:8:0", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "1519:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1519:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 104, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1561:8:0", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "1545:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1545:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1518:52:0" + }, + "src": "1504:67:0" + }, + { + "anonymous": false, + "id": 118, + "name": "TaskCreated", + "nameLocation": "1618:11:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 108, + "indexed": true, + "mutability": "mutable", + "name": "creator", + "nameLocation": "1646:7:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1630:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1630:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 110, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1662:6:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1654:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 109, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1654:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 112, + "indexed": false, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "1676:7:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1669:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 111, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1669:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114, + "indexed": false, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "1691:10:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1684:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1684:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 116, + "indexed": false, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "1710:10:0", + "nodeType": "VariableDeclaration", + "scope": 118, + "src": "1702:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1702:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1629:92:0" + }, + "src": "1612:110:0" + }, + { + "anonymous": false, + "id": 124, + "name": "RoundStart", + "nameLocation": "1786:10:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1805:6:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "1797:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 119, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1797:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 122, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "1819:5:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "1812:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 121, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1812:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1796:29:0" + }, + "src": "1780:46:0" + }, + { + "anonymous": false, + "id": 130, + "name": "RoundEnd", + "nameLocation": "1892:8:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 126, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1909:6:0", + "nodeType": "VariableDeclaration", + "scope": 130, + "src": "1901:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 125, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1901:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 128, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "1923:5:0", + "nodeType": "VariableDeclaration", + "scope": 130, + "src": "1916:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 127, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1916:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "1900:29:0" + }, + "src": "1886:44:0" + }, + { + "anonymous": false, + "id": 139, + "name": "PartnerSelected", + "nameLocation": "2001:15:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 132, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2025:6:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2017:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 131, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2017:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 134, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2039:5:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2032:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 133, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2032:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 137, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2055:5:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "2045:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2045:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 136, + "nodeType": "ArrayTypeName", + "src": "2045:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2016:45:0" + }, + "src": "1995:67:0" + }, + { + "anonymous": false, + "id": 148, + "name": "AggregateStarted", + "nameLocation": "2141:16:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 141, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2166:6:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2158:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2158:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 143, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2180:5:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2173:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 142, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2173:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 146, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2196:5:0", + "nodeType": "VariableDeclaration", + "scope": 148, + "src": "2186:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2186:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 145, + "nodeType": "ArrayTypeName", + "src": "2186:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2157:45:0" + }, + "src": "2135:68:0" + }, + { + "anonymous": false, + "id": 157, + "name": "CalculateStarted", + "nameLocation": "2281:16:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 150, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2306:6:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2298:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 149, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2298:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 152, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2320:5:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2313:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 151, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2313:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 155, + "indexed": false, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "2336:5:0", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2326:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 153, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2326:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 154, + "nodeType": "ArrayTypeName", + "src": "2326:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "2297:45:0" + }, + "src": "2275:68:0" + }, + { + "anonymous": false, + "id": 171, + "name": "ContentUploaded", + "nameLocation": "2463:15:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 159, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2487:6:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2479:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 161, + "indexed": false, + "mutability": "mutable", + "name": "round", + "nameLocation": "2501:5:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2494:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 160, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2494:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 163, + "indexed": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2515:5:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2507:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2507:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 165, + "indexed": false, + "mutability": "mutable", + "name": "sharer", + "nameLocation": "2529:6:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2521:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2521:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 167, + "indexed": false, + "mutability": "mutable", + "name": "contentType", + "nameLocation": "2543:11:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2536:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 166, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2536:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 169, + "indexed": false, + "mutability": "mutable", + "name": "content", + "nameLocation": "2561:7:0", + "nodeType": "VariableDeclaration", + "scope": 171, + "src": "2555:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 168, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2555:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2478:91:0" + }, + "src": "2457:113:0" + }, + { + "body": { + "id": 182, + "nodeType": "Block", + "src": "2639:510:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 174, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3088:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3088:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 176, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "3102:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3088:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616c6c6572206973206e6f74206f776e6572", + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3109:21:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "typeString": "literal_string \"Caller is not owner\"" + }, + "value": "Caller is not owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2d10247a65709fdb3c0696b0ed760a0c246e12f8c496efb56291dd2fe3b0275d", + "typeString": "literal_string \"Caller is not owner\"" + } + ], + "id": 173, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3080:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3080:51:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 180, + "nodeType": "ExpressionStatement", + "src": "3080:51:0" + }, + { + "id": 181, + "nodeType": "PlaceholderStatement", + "src": "3141:1:0" + } + ] + }, + "id": 183, + "name": "isOwner", + "nameLocation": "2629:7:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [], + "src": "2636:2:0" + }, + "src": "2620:529:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 201, + "nodeType": "Block", + "src": "3196:100:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 188, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "3215:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 190, + "indexExpression": { + "id": 189, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 185, + "src": "3228:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3215:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "creator", + "nodeType": "MemberAccess", + "referencedDeclaration": 47, + "src": "3215:29:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3256:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3248:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3248:7:0", + "typeDescriptions": {} + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3248:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3215:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5461736b206e6f7420657869737473", + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3260:17:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "typeString": "literal_string \"Task not exists\"" + }, + "value": "Task not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dcc2b9962b1a7c1e5daf9c607dc4b934c8f802ad17e4ae9bf6b26ee942a80210", + "typeString": "literal_string \"Task not exists\"" + } + ], + "id": 187, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3206:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3206:72:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 199, + "nodeType": "ExpressionStatement", + "src": "3206:72:0" + }, + { + "id": 200, + "nodeType": "PlaceholderStatement", + "src": "3288:1:0" + } + ] + }, + "id": 202, + "name": "taskExists", + "nameLocation": "3168:10:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 185, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3187:7:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "3179:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 184, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3179:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3178:17:0" + }, + "src": "3159:137:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 231, + "nodeType": "Block", + "src": "3357:165:0", + "statements": [ + { + "assignments": [ + 212 + ], + "declarations": [ + { + "constant": false, + "id": 212, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "3387:6:0", + "nodeType": "VariableDeclaration", + "scope": 231, + "src": "3367:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 210, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 209, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "3367:9:0" + }, + "referencedDeclaration": 79, + "src": "3367:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 211, + "nodeType": "ArrayTypeName", + "src": "3367:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 216, + "initialValue": { + "baseExpression": { + "id": 213, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "3396:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 215, + "indexExpression": { + "id": 214, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 204, + "src": "3407:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3396:19:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3367:48:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 218, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "3433:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3433:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3449:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3433:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 222, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "3454:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3454:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 224, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 206, + "src": "3470:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3454:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3433:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "7468697320726f756e6420646f6573206e6f74206578697374", + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3476:27:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "typeString": "literal_string \"this round does not exist\"" + }, + "value": "this round does not exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fea753808ffb954b5cc66b133b8fecb4e91403ba4e880da2feeeebbe77b680bf", + "typeString": "literal_string \"this round does not exist\"" + } + ], + "id": 217, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3425:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3425:79:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 229, + "nodeType": "ExpressionStatement", + "src": "3425:79:0" + }, + { + "id": 230, + "nodeType": "PlaceholderStatement", + "src": "3514:1:0" + } + ] + }, + "id": 232, + "name": "roundExists", + "nameLocation": "3315:11:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3335:7:0", + "nodeType": "VariableDeclaration", + "scope": 232, + "src": "3327:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 203, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3327:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 206, + "mutability": "mutable", + "name": "round", + "nameLocation": "3350:5:0", + "nodeType": "VariableDeclaration", + "scope": 232, + "src": "3343:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 205, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3343:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3326:30:0" + }, + "src": "3306:216:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 256, + "nodeType": "Block", + "src": "3583:166:0", + "statements": [ + { + "assignments": [ + 242 + ], + "declarations": [ + { + "constant": false, + "id": 242, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "3625:5:0", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "3593:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 240, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 239, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "3593:21:0" + }, + "referencedDeclaration": 45, + "src": "3593:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 241, + "nodeType": "ArrayTypeName", + "src": "3593:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 246, + "initialValue": { + "baseExpression": { + "id": 243, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3633:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 245, + "indexExpression": { + "id": 244, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "3655:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3633:30:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3593:70:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 248, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "3681:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3681:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 250, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 236, + "src": "3696:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "3681:20:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3702:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 247, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3673:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3673:58:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "3673:58:0" + }, + { + "id": 255, + "nodeType": "PlaceholderStatement", + "src": "3741:1:0" + } + ] + }, + "id": 257, + "name": "roundcmmtExists", + "nameLocation": "3537:15:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 234, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3561:7:0", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "3553:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 233, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3553:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 236, + "mutability": "mutable", + "name": "round", + "nameLocation": "3576:5:0", + "nodeType": "VariableDeclaration", + "scope": 257, + "src": "3569:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 235, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3569:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3552:30:0" + }, + "src": "3528:221:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 273, + "nodeType": "Block", + "src": "3795:112:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 262, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "3813:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 264, + "indexExpression": { + "id": 263, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "3826:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3813:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "creator", + "nodeType": "MemberAccess", + "referencedDeclaration": 47, + "src": "3813:29:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 266, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "3846:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3846:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3813:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742063616c6c656420627920746865207461736b206f776e6572", + "id": 269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3857:31:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "typeString": "literal_string \"Must called by the task owner\"" + }, + "value": "Must called by the task owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_87ff0cb3160e62ff3c935e3e5aaf754e75b5becfad8642045a84d9c21de40063", + "typeString": "literal_string \"Must called by the task owner\"" + } + ], + "id": 261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3805:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3805:84:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 271, + "nodeType": "ExpressionStatement", + "src": "3805:84:0" + }, + { + "id": 272, + "nodeType": "PlaceholderStatement", + "src": "3899:1:0" + } + ] + }, + "id": 274, + "name": "taskOwner", + "nameLocation": "3768:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "3786:7:0", + "nodeType": "VariableDeclaration", + "scope": 274, + "src": "3778:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 258, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3778:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3777:17:0" + }, + "src": "3759:148:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 291, + "nodeType": "Block", + "src": "3990:156:0", + "statements": [ + { + "expression": { + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 278, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "4000:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 279, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4008:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4008:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4000:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 282, + "nodeType": "ExpressionStatement", + "src": "4000:18:0" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4129:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4121:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4121:7:0", + "typeDescriptions": {} + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4121:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 288, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "4133:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 283, + "name": "OwnerSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "4112:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4112:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 290, + "nodeType": "EmitStatement", + "src": "4107:32:0" + } + ] + }, + "documentation": { + "id": 275, + "nodeType": "StructuredDocumentation", + "src": "3917:54:0", + "text": " @dev Set contract deployer as owner" + }, + "id": 292, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 276, + "nodeType": "ParameterList", + "parameters": [], + "src": "3987:2:0" + }, + "returnParameters": { + "id": 277, + "nodeType": "ParameterList", + "parameters": [], + "src": "3990:0:0" + }, + "scope": 1638, + "src": "3976:170:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 310, + "nodeType": "Block", + "src": "4329:44:0", + "statements": [ + { + "expression": { + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 304, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "4339:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 305, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "4346:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 307, + "indexExpression": { + "id": 306, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "4359:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4346:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "src": "4339:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "4339:27:0" + } + ] + }, + "documentation": { + "id": 293, + "nodeType": "StructuredDocumentation", + "src": "4156:73:0", + "text": " @dev get task info data\n @param taskId taskId" + }, + "functionSelector": "58af9f73", + "id": 311, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 298, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "4282:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 299, + "kind": "modifierInvocation", + "modifierName": { + "id": 297, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "4271:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "4271:18:0" + } + ], + "name": "getTaskData", + "nameLocation": "4243:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "4263:6:0", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "4255:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 294, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4255:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4254:16:0" + }, + "returnParameters": { + "id": 303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "mutability": "mutable", + "name": "task", + "nameLocation": "4323:4:0", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "4311:16:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task" + }, + "typeName": { + "id": 301, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 300, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "4311:4:0" + }, + "referencedDeclaration": 56, + "src": "4311:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + }, + "visibility": "internal" + } + ], + "src": "4310:18:0" + }, + "scope": 1638, + "src": "4234:139:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 377, + "nodeType": "Block", + "src": "4813:426:0", + "statements": [ + { + "assignments": [ + 324 + ], + "declarations": [ + { + "constant": false, + "id": 324, + "mutability": "mutable", + "name": "task_id", + "nameLocation": "4832:7:0", + "nodeType": "VariableDeclaration", + "scope": 377, + "src": "4824:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4824:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 336, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 328, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "4863:5:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "4863:15:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 330, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4879:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4879:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 332, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "4890:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 333, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "4898:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "4852:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "4852:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4852:57:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 325, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "4842:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4842:68:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4824:86:0" + }, + { + "expression": { + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 337, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "4921:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 339, + "indexExpression": { + "id": 338, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "4934:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4921:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 341, + "name": "creatorUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "4962:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "expression": { + "id": 342, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4981:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4981:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 344, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "5000:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 345, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "5019:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "hexValue": "30", + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5043:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 340, + "name": "Task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "4945:4:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Task_$56_storage_ptr_$", + "typeString": "type(struct DeltaContract.Task storage pointer)" + } + }, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "creatorUrl", + "creator", + "dataSet", + "commitment", + "currentRound" + ], + "nodeType": "FunctionCall", + "src": "4945:101:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_memory_ptr", + "typeString": "struct DeltaContract.Task memory" + } + }, + "src": "4921:125:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "id": 349, + "nodeType": "ExpressionStatement", + "src": "4921:125:0" + }, + { + "expression": { + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 350, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "5057:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 351, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "5066:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5057:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 353, + "nodeType": "ExpressionStatement", + "src": "5057:16:0" + }, + { + "assignments": [ + 358 + ], + "declarations": [ + { + "constant": false, + "id": 358, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "5104:6:0", + "nodeType": "VariableDeclaration", + "scope": 377, + "src": "5084:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 356, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 355, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "5084:9:0" + }, + "referencedDeclaration": 79, + "src": "5084:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 357, + "nodeType": "ArrayTypeName", + "src": "5084:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 362, + "initialValue": { + "baseExpression": { + "id": 359, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "5113:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 361, + "indexExpression": { + "id": 360, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "5124:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5113:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5084:47:0" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 363, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 358, + "src": "5142:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5142:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$returns$_t_struct$_TaskRound_$79_storage_$bound_to$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.TaskRound storage ref[] storage pointer) returns (struct DeltaContract.TaskRound storage ref)" + } + }, + "id": 366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5142:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "5142:13:0" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 369, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5183:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 371, + "name": "task_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 324, + "src": "5194:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 372, + "name": "dataSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "5202:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 373, + "name": "creatorUrl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "5210:10:0", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + { + "id": 374, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 318, + "src": "5221:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 368, + "name": "TaskCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118, + "src": "5171:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32,string memory,string memory,bytes32)" + } + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5171:61:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 376, + "nodeType": "EmitStatement", + "src": "5166:66:0" + } + ] + }, + "documentation": { + "id": 312, + "nodeType": "StructuredDocumentation", + "src": "4384:294:0", + "text": " @dev called by task developer, notifying all clients that a new learning task has been published \n @param dataSet data set name (file/folder name of training data)\n @param commitment training code hash (client validation purpose)\n @return taskId taskId" + }, + "functionSelector": "e8ac10f3", + "id": 378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createTask", + "nameLocation": "4692:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "mutability": "mutable", + "name": "creatorUrl", + "nameLocation": "4719:10:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4703:26:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 313, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4703:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "mutability": "mutable", + "name": "dataSet", + "nameLocation": "4746:7:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4730:23:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 315, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4730:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 318, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "4763:10:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4755:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4755:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4702:72:0" + }, + "returnParameters": { + "id": 322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 321, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "4806:6:0", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "4798:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 320, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4798:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4797:16:0" + }, + "scope": 1638, + "src": "4683:556:0", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 505, + "nodeType": "Block", + "src": "5578:770:0", + "statements": [ + { + "assignments": [ + 400 + ], + "declarations": [ + { + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "5608:6:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5588:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 398, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 397, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "5588:9:0" + }, + "referencedDeclaration": 79, + "src": "5588:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 399, + "nodeType": "ArrayTypeName", + "src": "5588:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 404, + "initialValue": { + "baseExpression": { + "id": 401, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "5617:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 403, + "indexExpression": { + "id": 402, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5628:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5617:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5588:47:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 406, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5653:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5653:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 408, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5670:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5653:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "74686520726f756e6420686173206265656e20616c72656164792073746172746564206f72207468652070726520726f756e6420646f6573206e6f74206578697374", + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5676:68:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "typeString": "literal_string \"the round has been already started or the pre round does not exist\"" + }, + "value": "the round has been already started or the pre round does not exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3ed5c78a9c0f07a8187af513d51be0bd90c83031ccfb66bba52025e73953c1c7", + "typeString": "literal_string \"the round has been already started or the pre round does not exist\"" + } + ], + "id": 405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "5645:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5645:100:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 412, + "nodeType": "ExpressionStatement", + "src": "5645:100:0" + }, + { + "assignments": [ + 415 + ], + "declarations": [ + { + "constant": false, + "id": 415, + "mutability": "mutable", + "name": "task", + "nameLocation": "5768:4:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5755:17:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + }, + "typeName": { + "id": 414, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 413, + "name": "Task", + "nodeType": "IdentifierPath", + "referencedDeclaration": 56, + "src": "5755:4:0" + }, + "referencedDeclaration": 56, + "src": "5755:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task" + } + }, + "visibility": "internal" + } + ], + "id": 419, + "initialValue": { + "baseExpression": { + "id": 416, + "name": "createdTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "5775:12:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$56_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.Task storage ref)" + } + }, + "id": 418, + "indexExpression": { + "id": 417, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5788:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5775:20:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage", + "typeString": "struct DeltaContract.Task storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5755:40:0" + }, + { + "expression": { + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 420, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 415, + "src": "5805:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$56_storage_ptr", + "typeString": "struct DeltaContract.Task storage pointer" + } + }, + "id": 422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 55, + "src": "5805:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 423, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5825:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5805:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 425, + "nodeType": "ExpressionStatement", + "src": "5805:25:0" + }, + { + "body": { + "id": 442, + "nodeType": "Block", + "src": "5895:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 437, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5909:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5909:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$returns$_t_struct$_TaskRound_$79_storage_$bound_to$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.TaskRound storage ref[] storage pointer) returns (struct DeltaContract.TaskRound storage ref)" + } + }, + "id": 440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5909:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 441, + "nodeType": "ExpressionStatement", + "src": "5909:13:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 426, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5846:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5846:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5863:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5846:18:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 430, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5868:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5868:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5884:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5868:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 434, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5888:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5868:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5846:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 443, + "nodeType": "WhileStatement", + "src": "5840:96:0" + }, + { + "expression": { + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 444, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5945:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 446, + "indexExpression": { + "id": 445, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5952:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5945:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "5945:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 448, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5974:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "5945:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 450, + "nodeType": "ExpressionStatement", + "src": "5945:34:0" + }, + { + "expression": { + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 451, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "5989:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 453, + "indexExpression": { + "id": 452, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "5996:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5989:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 454, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "maxSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 65, + "src": "5989:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 455, + "name": "maxSample", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "6015:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "5989:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 457, + "nodeType": "ExpressionStatement", + "src": "5989:35:0" + }, + { + "expression": { + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 458, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "6034:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 460, + "indexExpression": { + "id": 459, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6041:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6034:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 67, + "src": "6034:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 462, + "name": "minSample", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "6060:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "src": "6034:35:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "id": 464, + "nodeType": "ExpressionStatement", + "src": "6034:35:0" + }, + { + "expression": { + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 465, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 400, + "src": "6079:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 467, + "indexExpression": { + "id": 466, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6086:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6079:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "6079:20:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 469, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "6102:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Started", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "6102:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "6079:42:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "6079:42:0" + }, + { + "assignments": [ + 477 + ], + "declarations": [ + { + "constant": false, + "id": 477, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "6163:5:0", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "6131:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 475, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 474, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "6131:21:0" + }, + "referencedDeclaration": 45, + "src": "6131:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 476, + "nodeType": "ArrayTypeName", + "src": "6131:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 481, + "initialValue": { + "baseExpression": { + "id": 478, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "6171:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 480, + "indexExpression": { + "id": 479, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "6193:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6171:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6131:69:0" + }, + { + "body": { + "id": 498, + "nodeType": "Block", + "src": "6263:40:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 493, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6277:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "6277:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6277:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 497, + "nodeType": "ExpressionStatement", + "src": "6277:12:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 482, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6216:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6216:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6232:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6216:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 486, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 477, + "src": "6237:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6237:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6252:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6237:16:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 490, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6256:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6237:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6216:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 499, + "nodeType": "WhileStatement", + "src": "6210:93:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 501, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "6328:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 502, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "6335:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 500, + "name": "RoundStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "6317:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6317:24:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 504, + "nodeType": "EmitStatement", + "src": "6312:29:0" + } + ] + }, + "documentation": { + "id": 379, + "nodeType": "StructuredDocumentation", + "src": "5249:197:0", + "text": " @dev called by task developer, notifying all clients that a new computing round is started and open for joining\n @param taskId taskId\n @param round the round to start" + }, + "functionSelector": "07dcfa8e", + "id": 506, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 390, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5545:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 391, + "kind": "modifierInvocation", + "modifierName": { + "id": 389, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "5534:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "5534:18:0" + }, + { + "arguments": [ + { + "id": 393, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "5563:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 394, + "kind": "modifierInvocation", + "modifierName": { + "id": 392, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "5553:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "5553:17:0" + } + ], + "name": "startRound", + "nameLocation": "5460:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 381, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "5479:6:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5471:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5471:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 383, + "mutability": "mutable", + "name": "round", + "nameLocation": "5493:5:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5486:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 382, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "5486:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 385, + "mutability": "mutable", + "name": "maxSample", + "nameLocation": "5506:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5499:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 384, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5499:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 387, + "mutability": "mutable", + "name": "minSample", + "nameLocation": "5523:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "5516:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + "typeName": { + "id": 386, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "5516:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + "visibility": "internal" + } + ], + "src": "5470:63:0" + }, + "returnParameters": { + "id": 395, + "nodeType": "ParameterList", + "parameters": [], + "src": "5578:0:0" + }, + "scope": 1638, + "src": "5451:897:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 597, + "nodeType": "Block", + "src": "6761:489:0", + "statements": [ + { + "assignments": [ + 531 + ], + "declarations": [ + { + "constant": false, + "id": 531, + "mutability": "mutable", + "name": "rounds", + "nameLocation": "6791:6:0", + "nodeType": "VariableDeclaration", + "scope": 597, + "src": "6771:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + }, + "typeName": { + "baseType": { + "id": 529, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 528, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "6771:9:0" + }, + "referencedDeclaration": 79, + "src": "6771:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "id": 530, + "nodeType": "ArrayTypeName", + "src": "6771:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound[]" + } + }, + "visibility": "internal" + } + ], + "id": 535, + "initialValue": { + "baseExpression": { + "id": 532, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "6800:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 534, + "indexExpression": { + "id": 533, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6811:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6800:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6771:47:0" + }, + { + "assignments": [ + 538 + ], + "declarations": [ + { + "constant": false, + "id": 538, + "mutability": "mutable", + "name": "thisRound", + "nameLocation": "6846:9:0", + "nodeType": "VariableDeclaration", + "scope": 597, + "src": "6828:27:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 537, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 536, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "6828:9:0" + }, + "referencedDeclaration": 79, + "src": "6828:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 545, + "initialValue": { + "baseExpression": { + "id": 539, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6858:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 544, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 540, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6865:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6865:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6881:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6865:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6858:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6828:55:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 547, + "name": "rounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 531, + "src": "6901:6:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage pointer" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6901:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6917:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6901:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 551, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "6922:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6901:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 553, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "6931:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "6931:16:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 555, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "6951:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Started", + "nodeType": "MemberAccess", + "referencedDeclaration": 5, + "src": "6951:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "6931:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6901:69:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6a6f696e2070686173652068617320706173736564", + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6971:23:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "typeString": "literal_string \"join phase has passed\"" + }, + "value": "join phase has passed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c4c3c323e6cd15322ee7a3d2e56838a0e36e9708b0912e80d38bfc21f0f4ec2", + "typeString": "literal_string \"join phase has passed\"" + } + ], + "id": 546, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6893:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6893:102:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 561, + "nodeType": "ExpressionStatement", + "src": "6893:102:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 563, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7013:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7013:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 567, + "indexExpression": { + "expression": { + "id": 565, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7034:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7034:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7013:32:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "7013:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "307830", + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7053:3:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + "src": "7013:43:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c7469706c652074696d6573", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7057:43:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "typeString": "literal_string \"Cannot join the same round multiple times\"" + }, + "value": "Cannot join the same round multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_810c41143cc6f755a9e6551869e73c38250f6994f7ac65554221e2475926a172", + "typeString": "literal_string \"Cannot join the same round multiple times\"" + } + ], + "id": 562, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7005:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7005:96:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 573, + "nodeType": "ExpressionStatement", + "src": "7005:96:0" + }, + { + "expression": { + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 574, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7111:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7111:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 579, + "indexExpression": { + "expression": { + "id": 576, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7132:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7132:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7111:32:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 581, + "name": "pk1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "7161:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 582, + "name": "pk2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "7169:3:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 580, + "name": "Candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "7146:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Candidate_$61_storage_ptr_$", + "typeString": "type(struct DeltaContract.Candidate storage pointer)" + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "pk1", + "pk2" + ], + "nodeType": "FunctionCall", + "src": "7146:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "src": "7111:63:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 585, + "nodeType": "ExpressionStatement", + "src": "7111:63:0" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 591, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "7211:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7211:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "expression": { + "id": 586, + "name": "thisRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "7184:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "joinedAddrs", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "7184:21:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7184:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$", + "typeString": "function (address[] storage pointer,address)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7184:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 594, + "nodeType": "ExpressionStatement", + "src": "7184:38:0" + }, + { + "expression": { + "hexValue": "74727565", + "id": 595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7239:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 526, + "id": 596, + "nodeType": "Return", + "src": "7232:11:0" + } + ] + }, + "documentation": { + "id": 507, + "nodeType": "StructuredDocumentation", + "src": "6358:261:0", + "text": " @dev called by client, join for that round of computation\n @param taskId taskId\n @param round the round to join\n @param pk1 used for secure communication channel establishment\n @param pk2 used for mask generation" + }, + "functionSelector": "bdf666a4", + "id": 598, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 518, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6707:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 519, + "kind": "modifierInvocation", + "modifierName": { + "id": 517, + "name": "taskExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 202, + "src": "6696:10:0" + }, + "nodeType": "ModifierInvocation", + "src": "6696:18:0" + }, + { + "arguments": [ + { + "id": 521, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 509, + "src": "6727:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 522, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 511, + "src": "6734:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 523, + "kind": "modifierInvocation", + "modifierName": { + "id": 520, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "6715:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "6715:25:0" + } + ], + "name": "joinRound", + "nameLocation": "6633:9:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 509, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "6651:6:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6643:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6643:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 511, + "mutability": "mutable", + "name": "round", + "nameLocation": "6665:5:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6658:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 510, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "6658:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 513, + "mutability": "mutable", + "name": "pk1", + "nameLocation": "6679:3:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6671:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6671:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 515, + "mutability": "mutable", + "name": "pk2", + "nameLocation": "6691:3:0", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6683:11:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6683:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6642:53:0" + }, + "returnParameters": { + "id": 526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "6756:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6755:6:0" + }, + "scope": 1638, + "src": "6624:626:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 626, + "nodeType": "Block", + "src": "7515:80:0", + "statements": [ + { + "expression": { + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 615, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 613, + "src": "7525:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 616, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "7537:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 618, + "indexExpression": { + "id": 617, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7548:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 620, + "indexExpression": { + "id": 619, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "7556:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "id": 621, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "7537:36:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 623, + "indexExpression": { + "id": 622, + "name": "candidateAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 605, + "src": "7574:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7537:51:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "src": "7525:63:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate memory" + } + }, + "id": 625, + "nodeType": "ExpressionStatement", + "src": "7525:63:0" + } + ] + }, + "documentation": { + "id": 599, + "nodeType": "StructuredDocumentation", + "src": "7260:95:0", + "text": " @dev called by anyone, get Client Pks\n @return candidate (pk1,pk2)" + }, + "functionSelector": "da0fe898", + "id": 627, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 608, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7452:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 609, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "7459:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 610, + "kind": "modifierInvocation", + "modifierName": { + "id": 607, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "7440:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "7440:25:0" + } + ], + "name": "getClientPublickeys", + "nameLocation": "7369:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "7397:6:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7389:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7389:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "round", + "nameLocation": "7411:5:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7404:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 602, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "7404:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 605, + "mutability": "mutable", + "name": "candidateAddr", + "nameLocation": "7425:13:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7417:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7417:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7388:51:0" + }, + "returnParameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "mutability": "mutable", + "name": "candidate", + "nameLocation": "7504:9:0", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "7487:26:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_memory_ptr", + "typeString": "struct DeltaContract.Candidate" + }, + "typeName": { + "id": 612, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 611, + "name": "Candidate", + "nodeType": "IdentifierPath", + "referencedDeclaration": 61, + "src": "7487:9:0" + }, + "referencedDeclaration": 61, + "src": "7487:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage_ptr", + "typeString": "struct DeltaContract.Candidate" + } + }, + "visibility": "internal" + } + ], + "src": "7486:28:0" + }, + "scope": 1638, + "src": "7360:235:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 670, + "nodeType": "Block", + "src": "7914:274:0", + "statements": [ + { + "assignments": [ + 644 + ], + "declarations": [ + { + "constant": false, + "id": 644, + "mutability": "mutable", + "name": "temp", + "nameLocation": "7942:4:0", + "nodeType": "VariableDeclaration", + "scope": 670, + "src": "7924:22:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 643, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 642, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "7924:9:0" + }, + "referencedDeclaration": 79, + "src": "7924:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 650, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 645, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "7949:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 647, + "indexExpression": { + "id": 646, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "7960:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7949:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 649, + "indexExpression": { + "id": 648, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "7968:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7949:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7924:50:0" + }, + { + "expression": { + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 651, + "name": "taskround", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "7984:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 653, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8033:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentRound", + "nodeType": "MemberAccess", + "referencedDeclaration": 63, + "src": "8033:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 655, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8061:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "maxSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 65, + "src": "8061:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "expression": { + "id": 657, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8086:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minSample", + "nodeType": "MemberAccess", + "referencedDeclaration": 67, + "src": "8086:14:0", + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + }, + { + "arguments": [ + { + "expression": { + "id": 662, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8116:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 663, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "8116:11:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + ], + "components": [ + { + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8109:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 659, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "8109:5:0", + "typeDescriptions": {} + } + } + ], + "id": 661, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8108:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + } + }, + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8108:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "expression": { + "id": 665, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "8154:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "joinedAddrs", + "nodeType": "MemberAccess", + "referencedDeclaration": 78, + "src": "8154:16:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + ], + "id": 652, + "name": "ExtCallTaskRoundStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91, + "src": "7996:22:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ExtCallTaskRoundStruct_$91_storage_ptr_$", + "typeString": "type(struct DeltaContract.ExtCallTaskRoundStruct storage pointer)" + } + }, + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "currentRound", + "maxSample", + "minSample", + "status", + "joinedAddrs" + ], + "nodeType": "FunctionCall", + "src": "7996:185:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "src": "7984:197:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct memory" + } + }, + "id": 669, + "nodeType": "ExpressionStatement", + "src": "7984:197:0" + } + ] + }, + "documentation": { + "id": 628, + "nodeType": "StructuredDocumentation", + "src": "7605:166:0", + "text": " @dev getting task round infos\n @param taskId taskId\n @param round the round to fetch\n @return taskround the task round infos" + }, + "functionSelector": "4893b362", + "id": 671, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 635, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "7839:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 636, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "7846:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 637, + "kind": "modifierInvocation", + "modifierName": { + "id": 634, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "7827:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "7827:25:0" + } + ], + "name": "getTaskRound", + "nameLocation": "7785:12:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "7806:6:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7798:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7798:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 632, + "mutability": "mutable", + "name": "round", + "nameLocation": "7820:5:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7813:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 631, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "7813:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "7797:29:0" + }, + "returnParameters": { + "id": 641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "taskround", + "nameLocation": "7903:9:0", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "7873:39:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_memory_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct" + }, + "typeName": { + "id": 639, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 638, + "name": "ExtCallTaskRoundStruct", + "nodeType": "IdentifierPath", + "referencedDeclaration": 91, + "src": "7873:22:0" + }, + "referencedDeclaration": 91, + "src": "7873:22:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ExtCallTaskRoundStruct_$91_storage_ptr", + "typeString": "struct DeltaContract.ExtCallTaskRoundStruct" + } + }, + "visibility": "internal" + } + ], + "src": "7872:41:0" + }, + "scope": 1638, + "src": "7776:412:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 745, + "nodeType": "Block", + "src": "8544:375:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 690, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8562:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8562:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8577:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8562:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742070726f7669646520616464726573736573", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8579:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "typeString": "literal_string \"Must provide addresses\"" + }, + "value": "Must provide addresses" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e1730c615049fc71b105221f87f44650c124a9e2a262a75c06e886ad5d94b171", + "typeString": "literal_string \"Must provide addresses\"" + } + ], + "id": 689, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8554:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8554:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 696, + "nodeType": "ExpressionStatement", + "src": "8554:50:0" + }, + { + "assignments": [ + 699 + ], + "declarations": [ + { + "constant": false, + "id": 699, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "8632:8:0", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "8614:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 698, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 697, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "8614:9:0" + }, + "referencedDeclaration": 79, + "src": "8614:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 705, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 700, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "8643:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 702, + "indexExpression": { + "id": 701, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8654:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8643:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 704, + "indexExpression": { + "id": 703, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8662:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8643:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8614:54:0" + }, + { + "body": { + "id": 730, + "nodeType": "Block", + "src": "8718:98:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 718, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "8740:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 719, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "8740:19:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 723, + "indexExpression": { + "baseExpression": { + "id": 720, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8760:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 722, + "indexExpression": { + "id": 721, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8766:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8760:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8740:29:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "8740:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30783030", + "id": 725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8777:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "8740:41:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e646964617465206d757374206578697374", + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8782:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + }, + "value": "Candidate must exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + } + ], + "id": 717, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8732:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8732:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 729, + "nodeType": "ExpressionStatement", + "src": "8732:73:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 710, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8694:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 711, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8698:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8698:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8694:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 731, + "initializationExpression": { + "assignments": [ + 707 + ], + "declarations": [ + { + "constant": false, + "id": 707, + "mutability": "mutable", + "name": "i", + "nameLocation": "8687:1:0", + "nodeType": "VariableDeclaration", + "scope": 731, + "src": "8682:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 706, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8682:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 709, + "initialValue": { + "hexValue": "30", + "id": 708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8691:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8682:10:0" + }, + "loopExpression": { + "expression": { + "id": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8712:4:0", + "subExpression": { + "id": 714, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 707, + "src": "8712:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 716, + "nodeType": "ExpressionStatement", + "src": "8712:4:0" + }, + "nodeType": "ForStatement", + "src": "8678:138:0" + }, + { + "expression": { + "id": 737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 732, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 699, + "src": "8825:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "8825:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 735, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "8843:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "8843:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "8825:37:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 738, + "nodeType": "ExpressionStatement", + "src": "8825:37:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 740, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8893:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 741, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8900:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 742, + "name": "addrs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 679, + "src": "8906:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 739, + "name": "PartnerSelected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "8877:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8877:35:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 744, + "nodeType": "EmitStatement", + "src": "8872:40:0" + } + ] + }, + "documentation": { + "id": 672, + "nodeType": "StructuredDocumentation", + "src": "8199:209:0", + "text": " @dev called by task developer, randomly choose candidates to be computation nodes\n @dev clients now should start secret sharing phase \n @param addrs selected client addresses" + }, + "functionSelector": "41e865cb", + "id": 746, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 682, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8503:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 683, + "kind": "modifierInvocation", + "modifierName": { + "id": 681, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "8493:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "8493:17:0" + }, + { + "arguments": [ + { + "id": 685, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "8523:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 686, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "8530:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 687, + "kind": "modifierInvocation", + "modifierName": { + "id": 684, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "8511:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "8511:25:0" + } + ], + "name": "selectCandidates", + "nameLocation": "8422:16:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 674, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "8447:6:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8439:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8439:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 676, + "mutability": "mutable", + "name": "round", + "nameLocation": "8461:5:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8454:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 675, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8454:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "addrs", + "nameLocation": "8486:5:0", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "8467:24:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 677, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8467:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 678, + "nodeType": "ArrayTypeName", + "src": "8467:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "8438:54:0" + }, + "returnParameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [], + "src": "8544:0:0" + }, + "scope": 1638, + "src": "8413:506:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 797, + "nodeType": "Block", + "src": "9551:273:0", + "statements": [ + { + "assignments": [ + 770 + ], + "declarations": [ + { + "constant": false, + "id": 770, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "9593:5:0", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "9561:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 768, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 767, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "9561:21:0" + }, + "referencedDeclaration": 45, + "src": "9561:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 769, + "nodeType": "ArrayTypeName", + "src": "9561:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 774, + "initialValue": { + "baseExpression": { + "id": 771, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "9601:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 773, + "indexExpression": { + "id": 772, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9623:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9601:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9561:69:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 776, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "9648:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "9648:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 778, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9664:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "9648:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9670:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 775, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9640:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9640:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 782, + "nodeType": "ExpressionStatement", + "src": "9640:59:0" + }, + { + "assignments": [ + 785 + ], + "declarations": [ + { + "constant": false, + "id": 785, + "mutability": "mutable", + "name": "cmmt", + "nameLocation": "9739:4:0", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "9709:34:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 784, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 783, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "9709:21:0" + }, + "referencedDeclaration": 45, + "src": "9709:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 789, + "initialValue": { + "baseExpression": { + "id": 786, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "9746:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 788, + "indexExpression": { + "id": 787, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9752:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9746:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9709:49:0" + }, + { + "expression": { + "id": 795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 790, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 764, + "src": "9768:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "expression": { + "id": 791, + "name": "cmmt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 785, + "src": "9781:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "9781:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 794, + "indexExpression": { + "id": 793, + "name": "clientaddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 751, + "src": "9803:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9781:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "src": "9768:49:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 796, + "nodeType": "ExpressionStatement", + "src": "9768:49:0" + } + ] + }, + "documentation": { + "id": 747, + "nodeType": "StructuredDocumentation", + "src": "8930:435:0", + "text": " @dev called by task developer, get commitments from blockchain\n @dev (Server has to call this method for every clients to get their commiments as the return value couldn't contain mapping type in solidity(damn it))\n @param taskId taskId\n @param clientaddress the client that publish the commitments \n @param round the round of that commitment\n @return commitment commitment data" + }, + "functionSelector": "e36bb28c", + "id": 798, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 756, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9462:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 757, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9469:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 758, + "kind": "modifierInvocation", + "modifierName": { + "id": 755, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "9450:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "9450:25:0" + }, + { + "arguments": [ + { + "id": 760, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 749, + "src": "9492:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 761, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 753, + "src": "9499:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 762, + "kind": "modifierInvocation", + "modifierName": { + "id": 759, + "name": "roundcmmtExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 257, + "src": "9476:15:0" + }, + "nodeType": "ModifierInvocation", + "src": "9476:29:0" + } + ], + "name": "getResultCommitment", + "nameLocation": "9379:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "9407:6:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9399:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9399:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 751, + "mutability": "mutable", + "name": "clientaddress", + "nameLocation": "9422:13:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9414:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 750, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9414:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 753, + "mutability": "mutable", + "name": "round", + "nameLocation": "9443:5:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9436:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 752, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "9436:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "9398:51:0" + }, + "returnParameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 764, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "9539:10:0", + "nodeType": "VariableDeclaration", + "scope": 798, + "src": "9526:23:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 763, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9526:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9525:25:0" + }, + "scope": 1638, + "src": "9370:454:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 854, + "nodeType": "Block", + "src": "10077:259:0", + "statements": [ + { + "assignments": [ + 825 + ], + "declarations": [ + { + "constant": false, + "id": 825, + "mutability": "mutable", + "name": "cmmts", + "nameLocation": "10119:5:0", + "nodeType": "VariableDeclaration", + "scope": 854, + "src": "10087:37:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 823, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 822, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "10087:21:0" + }, + "referencedDeclaration": 45, + "src": "10087:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 824, + "nodeType": "ArrayTypeName", + "src": "10087:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 829, + "initialValue": { + "baseExpression": { + "id": 826, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "10127:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 828, + "indexExpression": { + "id": 827, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "10149:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10127:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10087:69:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 831, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "10174:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10174:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 833, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10190:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "10174:21:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546865205461736b20526f756e64204d75737420657869737473", + "id": 835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10196:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + }, + "value": "The Task Round Must exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_31055a82208cc7bb9722a2fbebfcdc6b582512796a8a7bcd38e7ce1bcea5c293", + "typeString": "literal_string \"The Task Round Must exists\"" + } + ], + "id": 830, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10166:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10166:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 837, + "nodeType": "ExpressionStatement", + "src": "10166:59:0" + }, + { + "assignments": [ + 840 + ], + "declarations": [ + { + "constant": false, + "id": 840, + "mutability": "mutable", + "name": "cmmt", + "nameLocation": "10265:4:0", + "nodeType": "VariableDeclaration", + "scope": 854, + "src": "10235:34:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 839, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 838, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "10235:21:0" + }, + "referencedDeclaration": 45, + "src": "10235:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 844, + "initialValue": { + "baseExpression": { + "id": 841, + "name": "cmmts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "10272:5:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 843, + "indexExpression": { + "id": 842, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10278:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10272:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10235:49:0" + }, + { + "expression": { + "id": 852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 845, + "name": "ssdata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 819, + "src": "10294:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 846, + "name": "cmmt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "10303:4:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "10303:11:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 849, + "indexExpression": { + "id": 848, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 805, + "src": "10315:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10303:18:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 851, + "indexExpression": { + "id": 850, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 807, + "src": "10322:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10303:26:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "src": "10294:35:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData memory" + } + }, + "id": 853, + "nodeType": "ExpressionStatement", + "src": "10294:35:0" + } + ] + }, + "documentation": { + "id": 799, + "nodeType": "StructuredDocumentation", + "src": "9834:52:0", + "text": " @dev called by any participants" + }, + "functionSelector": "589e2338", + "id": 855, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 810, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "9991:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 811, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "9998:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 812, + "kind": "modifierInvocation", + "modifierName": { + "id": 809, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "9979:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "9979:25:0" + }, + { + "arguments": [ + { + "id": 814, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 801, + "src": "10021:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 815, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 803, + "src": "10028:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 816, + "kind": "modifierInvocation", + "modifierName": { + "id": 813, + "name": "roundcmmtExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 257, + "src": "10005:15:0" + }, + "nodeType": "ModifierInvocation", + "src": "10005:29:0" + } + ], + "name": "getSecretSharingData", + "nameLocation": "9900:20:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 801, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "9929:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9921:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 800, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9921:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 803, + "mutability": "mutable", + "name": "round", + "nameLocation": "9943:5:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9936:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 802, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "9936:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 805, + "mutability": "mutable", + "name": "owner", + "nameLocation": "9957:5:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9949:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9949:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 807, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "9971:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "9963:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9963:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9920:58:0" + }, + "returnParameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "mutability": "mutable", + "name": "ssdata", + "nameLocation": "10069:6:0", + "nodeType": "VariableDeclaration", + "scope": 855, + "src": "10055:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_memory_ptr", + "typeString": "struct DeltaContract.SSData" + }, + "typeName": { + "id": 818, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 817, + "name": "SSData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 100, + "src": "10055:6:0" + }, + "referencedDeclaration": 100, + "src": "10055:6:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage_ptr", + "typeString": "struct DeltaContract.SSData" + } + }, + "visibility": "internal" + } + ], + "src": "10054:22:0" + }, + "scope": 1638, + "src": "9891:445:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 930, + "nodeType": "Block", + "src": "10904:435:0", + "statements": [ + { + "assignments": [ + 875 + ], + "declarations": [ + { + "constant": false, + "id": 875, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "10932:8:0", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "10914:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 874, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 873, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "10914:9:0" + }, + "referencedDeclaration": 79, + "src": "10914:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 881, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 876, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "10943:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 878, + "indexExpression": { + "id": 877, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10954:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10943:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 880, + "indexExpression": { + "id": 879, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "10962:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10943:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10914:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 883, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "10986:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 884, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "10986:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 885, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11005:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "11005:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "10986:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616c63756c6174696e6720686173206e6f742073746172746564", + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11029:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "typeString": "literal_string \"Calculating has not started\"" + }, + "value": "Calculating has not started" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dc1d8275a7bca804155cf1e758419206348508e31ef2eb69ca49ca2f697c3850", + "typeString": "literal_string \"Calculating has not started\"" + } + ], + "id": 882, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10978:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10978:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 890, + "nodeType": "ExpressionStatement", + "src": "10978:81:0" + }, + { + "expression": { + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 891, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "11069:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11069:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 894, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11087:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "11087:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11069:41:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 897, + "nodeType": "ExpressionStatement", + "src": "11069:41:0" + }, + { + "body": { + "id": 922, + "nodeType": "Block", + "src": "11168:106:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 910, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "11190:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "candidates", + "nodeType": "MemberAccess", + "referencedDeclaration": 75, + "src": "11190:19:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Candidate_$61_storage_$", + "typeString": "mapping(address => struct DeltaContract.Candidate storage ref)" + } + }, + "id": 915, + "indexExpression": { + "baseExpression": { + "id": 912, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11210:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 914, + "indexExpression": { + "id": 913, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11224:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11210:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11190:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Candidate_$61_storage", + "typeString": "struct DeltaContract.Candidate storage ref" + } + }, + "id": 916, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pk1", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "11190:41:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30783030", + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11235:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "src": "11190:49:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e646964617465206d757374206578697374", + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11240:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + }, + "value": "Candidate must exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6597947c874f65596e3f13f1e8c18283cd4eec625e342381c0328b0fd7459640", + "typeString": "literal_string \"Candidate must exist\"" + } + ], + "id": 909, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11182:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11182:81:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "11182:81:0" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 902, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11136:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 903, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11140:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11140:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11136:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 923, + "initializationExpression": { + "assignments": [ + 899 + ], + "declarations": [ + { + "constant": false, + "id": 899, + "mutability": "mutable", + "name": "i", + "nameLocation": "11129:1:0", + "nodeType": "VariableDeclaration", + "scope": 923, + "src": "11124:6:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 898, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11124:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 901, + "initialValue": { + "hexValue": "30", + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11133:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11124:10:0" + }, + "loopExpression": { + "expression": { + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11162:4:0", + "subExpression": { + "id": 906, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 899, + "src": "11162:1:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 908, + "nodeType": "ExpressionStatement", + "src": "11162:4:0" + }, + "nodeType": "ForStatement", + "src": "11120:154:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 925, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "11305:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 926, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "11312:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 927, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 863, + "src": "11318:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 924, + "name": "AggregateStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 148, + "src": "11288:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11288:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 929, + "nodeType": "EmitStatement", + "src": "11283:49:0" + } + ] + }, + "documentation": { + "id": 856, + "nodeType": "StructuredDocumentation", + "src": "10346:416:0", + "text": " @dev called by task developer, notifying all participants that the ss and gradient transfer phase has finished\n @dev client now should send corresponded ss share pieces to task developer according to the online status given by the task developer\n @param taskId taskId\n @param round the task round\n @param onlineClients clients that has transfered gradient to task developer" + }, + "functionSelector": "4956219b", + "id": 931, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 866, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10863:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 867, + "kind": "modifierInvocation", + "modifierName": { + "id": 865, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "10853:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "10853:17:0" + }, + { + "arguments": [ + { + "id": 869, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "10883:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 870, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 860, + "src": "10890:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 871, + "kind": "modifierInvocation", + "modifierName": { + "id": 868, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "10871:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "10871:25:0" + } + ], + "name": "startAggregate", + "nameLocation": "10776:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "10799:6:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10791:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 857, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10791:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 860, + "mutability": "mutable", + "name": "round", + "nameLocation": "10813:5:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10806:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 859, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "10806:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 863, + "mutability": "mutable", + "name": "onlineClients", + "nameLocation": "10838:13:0", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "10819:32:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10819:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 862, + "nodeType": "ArrayTypeName", + "src": "10819:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "10790:62:0" + }, + "returnParameters": { + "id": 872, + "nodeType": "ParameterList", + "parameters": [], + "src": "10904:0:0" + }, + "scope": 1638, + "src": "10767:572:0", "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 980, + "nodeType": "Block", + "src": "11722:270:0", + "statements": [ + { + "assignments": [ + 951 + ], + "declarations": [ + { + "constant": false, + "id": 951, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "11750:8:0", + "nodeType": "VariableDeclaration", + "scope": 980, + "src": "11732:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 950, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 949, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "11732:9:0" + }, + "referencedDeclaration": 79, + "src": "11732:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 957, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 952, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "11761:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 954, + "indexExpression": { + "id": 953, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11772:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11761:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 956, + "indexExpression": { + "id": 955, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11780:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11761:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11732:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 959, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "11804:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11804:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 961, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11823:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 962, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "11823:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11804:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5468697320726f756e64206973206e6f742072756e6e696e67206e6f77", + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11843:31:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "typeString": "literal_string \"This round is not running now\"" + }, + "value": "This round is not running now" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_424ac5b45603d96e3730c4fda222f3e9acf74d4b6c741086c00f4abd81b097c2", + "typeString": "literal_string \"This round is not running now\"" + } + ], + "id": 958, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11796:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11796:79:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 966, + "nodeType": "ExpressionStatement", + "src": "11796:79:0" + }, + { + "expression": { + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 967, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 951, + "src": "11885:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "11885:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 970, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11903:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "11903:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "11885:41:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "11885:41:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 975, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11958:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 976, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11965:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 977, + "name": "onlineClients", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 939, + "src": "11971:13:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "id": 974, + "name": "CalculateStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "11941:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address[] memory)" + } + }, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11941:44:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 979, + "nodeType": "EmitStatement", + "src": "11936:49:0" + } + ] + }, + "documentation": { + "id": 932, + "nodeType": "StructuredDocumentation", + "src": "11355:225:0", + "text": " @dev called by task developer, notifying all participants that the secret sharing phase is finished to transfer masked gradient to task server\n @param taskId taskId\n @param round the task round" + }, + "functionSelector": "abf2013a", + "id": 981, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 942, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11681:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 943, + "kind": "modifierInvocation", + "modifierName": { + "id": 941, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "11671:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "11671:17:0" + }, + { + "arguments": [ + { + "id": 945, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "11701:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 946, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 936, + "src": "11708:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 947, + "kind": "modifierInvocation", + "modifierName": { + "id": 944, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "11689:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "11689:25:0" + } + ], + "name": "startCalculate", + "nameLocation": "11594:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 934, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "11617:6:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11609:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11609:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, { - "indexed": false, - "internalType": "bytes32", + "constant": false, + "id": 936, + "mutability": "mutable", + "name": "round", + "nameLocation": "11631:5:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11624:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 935, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "11624:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 939, + "mutability": "mutable", + "name": "onlineClients", + "nameLocation": "11656:13:0", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "11637:32:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11637:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 938, + "nodeType": "ArrayTypeName", + "src": "11637:9:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "11608:62:0" + }, + "returnParameters": { + "id": 948, + "nodeType": "ParameterList", + "parameters": [], + "src": "11722:0:0" + }, + "scope": 1638, + "src": "11585:407:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1017, + "nodeType": "Block", + "src": "12229:156:0", + "statements": [ + { + "assignments": [ + 998 + ], + "declarations": [ + { + "constant": false, + "id": 998, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "12257:8:0", + "nodeType": "VariableDeclaration", + "scope": 1017, + "src": "12239:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 997, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 996, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "12239:9:0" + }, + "referencedDeclaration": 79, + "src": "12239:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1004, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 999, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "12268:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1001, + "indexExpression": { + "id": 1000, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12279:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12268:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1003, + "indexExpression": { + "id": 1002, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12287:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12268:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12239:54:0" + }, + { + "expression": { + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1005, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 998, + "src": "12303:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1007, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "12303:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1008, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "12321:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Finished", + "nodeType": "MemberAccess", + "referencedDeclaration": 9, + "src": "12321:20:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "12303:38:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "id": 1011, + "nodeType": "ExpressionStatement", + "src": "12303:38:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1013, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12365:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1014, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12372:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 1012, + "name": "RoundEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 130, + "src": "12356:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$returns$__$", + "typeString": "function (bytes32,uint64)" + } + }, + "id": 1015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12356:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1016, + "nodeType": "EmitStatement", + "src": "12351:27:0" + } + ] + }, + "documentation": { + "id": 982, + "nodeType": "StructuredDocumentation", + "src": "12002:124:0", + "text": " @dev called by task developer, close round\n @param taskId taskId\n @param round the task round" + }, + "functionSelector": "01bd7269", + "id": 1018, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 989, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12188:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 990, + "kind": "modifierInvocation", + "modifierName": { + "id": 988, + "name": "taskOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 274, + "src": "12178:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "12178:17:0" + }, + { + "arguments": [ + { + "id": 992, "name": "taskId", - "type": "bytes32" + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 984, + "src": "12208:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 993, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 986, + "src": "12215:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 994, + "kind": "modifierInvocation", + "modifierName": { + "id": 991, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "12196:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "12196:25:0" + } + ], + "name": "endRound", + "nameLocation": "12140:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 984, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "12157:6:0", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "12149:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 983, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12149:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 986, + "mutability": "mutable", + "name": "round", + "nameLocation": "12171:5:0", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "12164:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 985, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "12164:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "12148:29:0" + }, + "returnParameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [], + "src": "12229:0:0" + }, + "scope": 1638, + "src": "12131:254:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1113, + "nodeType": "Block", + "src": "12722:743:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1033, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "12740:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12740:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12766:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12740:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1037, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "12771:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12771:23:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1039, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "12798:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "12771:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12740:83:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12824:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1032, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12732:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12732:141:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1044, + "nodeType": "ExpressionStatement", + "src": "12732:141:0" + }, + { + "assignments": [ + 1047 + ], + "declarations": [ + { + "constant": false, + "id": 1047, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "12901:8:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "12883:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1046, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1045, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "12883:9:0" + }, + "referencedDeclaration": 79, + "src": "12883:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1053, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1048, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "12912:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1050, + "indexExpression": { + "id": 1049, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "12923:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12912:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1052, + "indexExpression": { + "id": 1051, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "12931:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12912:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12883:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1055, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1047, + "src": "12955:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "12955:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1057, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "12974:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Calculating", + "nodeType": "MemberAccess", + "referencedDeclaration": 7, + "src": "12974:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "12955:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164696e67207068617365", + "id": 1060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12999:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "typeString": "literal_string \"not in uploading phase\"" + }, + "value": "not in uploading phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a95d5f002777be5a762bcc90a1052865cfd97cf0df20edc13ce19ef1c02b3835", + "typeString": "literal_string \"not in uploading phase\"" + } + ], + "id": 1054, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12947:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1062, + "nodeType": "ExpressionStatement", + "src": "12947:77:0" + }, + { + "assignments": [ + 1067 + ], + "declarations": [ + { + "constant": false, + "id": 1067, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "13066:11:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "13034:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1065, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1064, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "13034:21:0" + }, + "referencedDeclaration": 45, + "src": "13034:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1066, + "nodeType": "ArrayTypeName", + "src": "13034:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1071, + "initialValue": { + "baseExpression": { + "id": 1068, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "13080:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1070, + "indexExpression": { + "id": 1069, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "13102:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13080:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13034:75:0" + }, + { + "assignments": [ + 1074 + ], + "declarations": [ + { + "constant": false, + "id": 1074, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "13149:10:0", + "nodeType": "VariableDeclaration", + "scope": 1113, + "src": "13119:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1073, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1072, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "13119:21:0" + }, + "referencedDeclaration": 45, + "src": "13119:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1078, + "initialValue": { + "baseExpression": { + "id": 1075, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1067, + "src": "13162:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1077, + "indexExpression": { + "id": 1076, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "13174:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13162:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13119:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "expression": { + "id": 1080, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "13198:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "13198:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 1084, + "indexExpression": { + "expression": { + "id": 1082, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13226:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13226:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13198:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13198:46:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13248:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13198:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d756c7469706c652074696d6573", + "id": 1088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13250:47:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "typeString": "literal_string \"cannot upload weightCommitment multiple times\"" + }, + "value": "cannot upload weightCommitment multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1d29cc716fa7d1bfb1c7c038bbcad165c7fe78b9a64b0891b3a6f06e5e013086", + "typeString": "literal_string \"cannot upload weightCommitment multiple times\"" + } + ], + "id": 1079, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13190:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13190:108:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1090, + "nodeType": "ExpressionStatement", + "src": "13190:108:0" + }, + { + "expression": { + "id": 1098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "id": 1091, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "13308:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "weightCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 37, + "src": "13308:27:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes_storage_$", + "typeString": "mapping(address => bytes storage ref)" + } + }, + "id": 1096, + "indexExpression": { + "expression": { + "id": 1093, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13336:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13336:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13308:39:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1097, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "13350:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "13308:58:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1099, + "nodeType": "ExpressionStatement", + "src": "13308:58:0" }, { - "indexed": false, - "internalType": "uint64", + "eventCall": { + "arguments": [ + { + "id": 1101, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "13397:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1102, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "13404:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1103, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13410:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13410:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13429:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13421:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13421:7:0", + "typeDescriptions": {} + } + }, + "id": 1108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13421:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "574549474854", + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13432:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "typeString": "literal_string \"WEIGHT\"" + }, + "value": "WEIGHT" + }, + { + "id": 1110, + "name": "resultCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "13441:16:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_9093191dfef32f77a8d458d070eea5ee3d534f8823152bbd7466598024ea2f58", + "typeString": "literal_string \"WEIGHT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1100, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "13381:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13381:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1112, + "nodeType": "EmitStatement", + "src": "13376:82:0" + } + ] + }, + "documentation": { + "id": 1019, + "nodeType": "StructuredDocumentation", + "src": "12395:196:0", + "text": " @dev called by client, upload weight commitment\n @param taskId taskId\n @param round the task round\n @param resultCommitment masked model incremental commitment" + }, + "functionSelector": "ebd3e836", + "id": 1114, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1028, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "12701:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1029, "name": "round", - "type": "uint64" + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1023, + "src": "12708:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1030, + "kind": "modifierInvocation", + "modifierName": { + "id": 1027, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "12689:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "12689:25:0" + } + ], + "name": "uploadResultCommitment", + "nameLocation": "12605:22:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1021, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "12636:6:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12628:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1020, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12628:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1023, + "mutability": "mutable", + "name": "round", + "nameLocation": "12650:5:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12643:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1022, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "12643:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1025, + "mutability": "mutable", + "name": "resultCommitment", + "nameLocation": "12671:16:0", + "nodeType": "VariableDeclaration", + "scope": 1114, + "src": "12656:31:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1024, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12656:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12627:61:0" + }, + "returnParameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [], + "src": "12722:0:0" + }, + "scope": 1638, + "src": "12596:869:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1214, + "nodeType": "Block", + "src": "13867:747:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1131, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "13885:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13885:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13909:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13885:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1135, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "13914:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13914:21:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1137, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "13939:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13914:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13885:74:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13960:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1130, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13877:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13877:132:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1142, + "nodeType": "ExpressionStatement", + "src": "13877:132:0" + }, + { + "assignments": [ + 1145 + ], + "declarations": [ + { + "constant": false, + "id": 1145, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "14037:8:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14019:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1144, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1143, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "14019:9:0" + }, + "referencedDeclaration": 79, + "src": "14019:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1151, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1146, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "14048:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1148, + "indexExpression": { + "id": 1147, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14059:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14048:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1150, + "indexExpression": { + "id": 1149, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14067:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14048:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14019:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1153, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1145, + "src": "14091:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "14091:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1155, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "14110:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "14110:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "14091:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e207365637265742073686172696e67207068617365", + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14130:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + }, + "value": "not in secret sharing phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + } + ], + "id": 1152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14083:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14083:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1160, + "nodeType": "ExpressionStatement", + "src": "14083:77:0" + }, + { + "assignments": [ + 1165 + ], + "declarations": [ + { + "constant": false, + "id": 1165, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "14202:11:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14170:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1163, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1162, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "14170:21:0" + }, + "referencedDeclaration": 45, + "src": "14170:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1164, + "nodeType": "ArrayTypeName", + "src": "14170:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1169, + "initialValue": { + "baseExpression": { + "id": 1166, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "14216:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1168, + "indexExpression": { + "id": 1167, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14238:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14216:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14170:75:0" + }, + { + "assignments": [ + 1172 + ], + "declarations": [ + { + "constant": false, + "id": 1172, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "14285:10:0", + "nodeType": "VariableDeclaration", + "scope": 1214, + "src": "14255:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1171, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1170, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "14255:21:0" + }, + "referencedDeclaration": 45, + "src": "14255:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1176, + "initialValue": { + "baseExpression": { + "id": 1173, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1165, + "src": "14298:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1175, + "indexExpression": { + "id": 1174, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14310:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14298:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14255:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1178, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "14334:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "14334:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1182, + "indexExpression": { + "expression": { + "id": 1180, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14352:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14352:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14334:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1184, + "indexExpression": { + "id": 1183, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14364:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14334:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "14334:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14334:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14397:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14334:64:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c652074696d6573", + "id": 1189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14399:40:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "typeString": "literal_string \"cannot upload seed cmmt multiple times\"" + }, + "value": "cannot upload seed cmmt multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b230e86364cb1b44060916d1d8a8a1f73a2d98caa76474596251c2c0eb4b7bea", + "typeString": "literal_string \"cannot upload seed cmmt multiple times\"" + } + ], + "id": 1177, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14326:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14326:114:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1191, + "nodeType": "ExpressionStatement", + "src": "14326:114:0" + }, + { + "expression": { + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1192, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1172, + "src": "14450:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "14450:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1198, + "indexExpression": { + "expression": { + "id": 1194, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14468:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14468:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14450:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1199, + "indexExpression": { + "id": 1196, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14480:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14450:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1200, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "14450:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1201, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "14505:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "14450:69:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1203, + "nodeType": "ExpressionStatement", + "src": "14450:69:0" }, { - "indexed": false, - "internalType": "address[]", - "name": "addrs", - "type": "address[]" + "eventCall": { + "arguments": [ + { + "id": 1205, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "14550:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1206, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "14557:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1207, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14563:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14563:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1209, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "14574:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "53454544434d4d54", + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14581:10:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "typeString": "literal_string \"SEEDCMMT\"" + }, + "value": "SEEDCMMT" + }, + { + "id": 1211, + "name": "seedCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "14592:14:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_b5d36da5552c0fe3b3b3b4f3890b1d38e302d9854d22ac7a64f93100693736fb", + "typeString": "literal_string \"SEEDCMMT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1204, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "14534:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14534:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1213, + "nodeType": "EmitStatement", + "src": "14529:78:0" } + ] + }, + "documentation": { + "id": 1115, + "nodeType": "StructuredDocumentation", + "src": "13480:245:0", + "text": " @dev called by client, upload secret sharing seed commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param seedCommitment secret sharing piece of seed mask" + }, + "functionSelector": "c99f61d4", + "id": 1215, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1126, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "13846:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1127, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "13853:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1128, + "kind": "modifierInvocation", + "modifierName": { + "id": 1125, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "13834:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "13834:25:0" + } ], - "name": "AggregatStarted", - "type": "event", - "signature": "0x15f527a33e522cfd2773db2e2d1e9f8353e1e5d2db4f3be23cca80fb5abefae3" - }, - { - "anonymous": false, - "inputs": [ + "name": "uploadSeedCommitment", + "nameLocation": "13739:20:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1124, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1117, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "13768:6:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13760:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1116, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13760:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, { - "indexed": false, - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "round", + "nameLocation": "13782:5:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13775:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1118, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13775:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" }, { - "indexed": false, - "internalType": "uint64", - "name": "round", - "type": "uint64" + "constant": false, + "id": 1121, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "13796:6:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13788:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13788:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { - "indexed": false, - "internalType": "address[]", - "name": "addrs", - "type": "address[]" + "constant": false, + "id": 1123, + "mutability": "mutable", + "name": "seedCommitment", + "nameLocation": "13818:14:0", + "nodeType": "VariableDeclaration", + "scope": 1215, + "src": "13803:29:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1122, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13803:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" } - ], - "name": "CalculateStarted", - "type": "event", - "signature": "0xbc9bba2269f8b18f4ff8765379774de8dc70369c61ed47583189768c35d9e58d" - }, - { - "anonymous": false, - "inputs": [ + ], + "src": "13759:74:0" + }, + "returnParameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [], + "src": "13867:0:0" + }, + "scope": 1638, + "src": "13730:884:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1330, + "nodeType": "Block", + "src": "14967:801:0", + "statements": [ { - "indexed": false, - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1232, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "14985:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14985:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14999:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14985:15:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1236, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15004:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15004:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1238, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "15019:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "15004:35:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14985:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15041:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1231, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14977:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14977:113:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1243, + "nodeType": "ExpressionStatement", + "src": "14977:113:0" }, { - "indexed": false, - "internalType": "uint64", - "name": "round", - "type": "uint64" + "assignments": [ + 1246 + ], + "declarations": [ + { + "constant": false, + "id": 1246, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "15118:8:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15100:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1245, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1244, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "15100:9:0" + }, + "referencedDeclaration": 79, + "src": "15100:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1252, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1247, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "15129:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1249, + "indexExpression": { + "id": 1248, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15140:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15129:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1251, + "indexExpression": { + "id": 1250, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15148:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15129:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15100:54:0" }, { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1254, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1246, + "src": "15172:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "15172:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1256, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "15191:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "15191:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "15172:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164207373207068617365", + "id": 1259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15215:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + }, + "value": "not in upload ss phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + } + ], + "id": 1253, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15164:76:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1261, + "nodeType": "ExpressionStatement", + "src": "15164:76:0" }, { - "indexed": false, - "internalType": "address", - "name": "sharer", - "type": "address" + "assignments": [ + 1266 + ], + "declarations": [ + { + "constant": false, + "id": 1266, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "15282:11:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15250:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1264, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1263, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "15250:21:0" + }, + "referencedDeclaration": 45, + "src": "15250:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1265, + "nodeType": "ArrayTypeName", + "src": "15250:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1270, + "initialValue": { + "baseExpression": { + "id": 1267, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "15296:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1269, + "indexExpression": { + "id": 1268, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15318:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15296:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15250:75:0" }, { - "indexed": false, - "internalType": "string", - "name": "contentType", - "type": "string" + "assignments": [ + 1273 + ], + "declarations": [ + { + "constant": false, + "id": 1273, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "15365:10:0", + "nodeType": "VariableDeclaration", + "scope": 1330, + "src": "15335:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1272, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1271, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "15335:21:0" + }, + "referencedDeclaration": 45, + "src": "15335:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1277, + "initialValue": { + "baseExpression": { + "id": 1274, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1266, + "src": "15378:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1276, + "indexExpression": { + "id": 1275, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15390:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15378:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15335:61:0" }, { - "indexed": false, - "internalType": "bytes", - "name": "content", - "type": "bytes" - } - ], - "name": "ContentUploaded", - "type": "event", - "signature": "0xeb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldOwner", - "type": "address" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1279, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15414:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15414:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1283, + "indexExpression": { + "expression": { + "id": 1281, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15432:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15432:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15414:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1285, + "indexExpression": { + "id": 1284, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15444:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15414:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 95, + "src": "15414:52:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15414:59:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15476:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15414:63:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d7573742075706c6f616420636f6d6d69746d656e74206669727374", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15478:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + }, + "value": "must upload commitment first" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + } + ], + "id": 1278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15406:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15406:103:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1292, + "nodeType": "ExpressionStatement", + "src": "15406:103:0" }, { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event", - "signature": "0x342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1294, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15527:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1298, + "indexExpression": { + "expression": { + "id": 1296, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15545:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15545:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15527:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1300, + "indexExpression": { + "id": 1299, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15557:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15527:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "seedPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 93, + "src": "15527:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "15527:54:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15585:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15527:59:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6573", + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15587:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + }, + "value": "cannot upload seed multiple times" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + } + ], + "id": 1293, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15519:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15519:104:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1307, + "nodeType": "ExpressionStatement", + "src": "15519:104:0" }, { - "indexed": false, - "internalType": "uint64", - "name": "round", - "type": "uint64" + "expression": { + "id": 1318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1308, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "15633:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "15633:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1314, + "indexExpression": { + "expression": { + "id": 1310, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15651:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15651:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15633:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1315, + "indexExpression": { + "id": 1312, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15663:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15633:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "seedPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 93, + "src": "15633:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1317, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15683:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "15633:54:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1319, + "nodeType": "ExpressionStatement", + "src": "15633:54:0" }, { - "indexed": false, - "internalType": "address[]", - "name": "addrs", - "type": "address[]" + "eventCall": { + "arguments": [ + { + "id": 1321, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "15718:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1322, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "15725:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1323, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "15731:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "15731:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1325, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1222, + "src": "15742:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "53454544", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15749:6:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "typeString": "literal_string \"SEED\"" + }, + "value": "SEED" + }, + { + "id": 1327, + "name": "seed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1224, + "src": "15756:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_b4f9163b703772b483a6ee342644f2aca217818660634e57ab3d1a17732a8bce", + "typeString": "literal_string \"SEED\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1320, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "15702:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15702:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1329, + "nodeType": "EmitStatement", + "src": "15697:64:0" } - ], - "name": "PartnerSelected", - "type": "event", - "signature": "0x25b2b0a6205a2793a55299d05c21fb9163d38054d6966d101c156acdc2d7c92f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", + ] + }, + "documentation": { + "id": 1216, + "nodeType": "StructuredDocumentation", + "src": "14629:216:0", + "text": " @dev called by client, upload secret sharing seed commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param seed the seed piece" + }, + "functionSelector": "90ec5deb", + "id": 1331, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1227, "name": "taskId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "14946:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1228, "name": "round", - "type": "uint64" - } - ], - "name": "RoundEnd", - "type": "event", - "signature": "0x8888bd37d0d00a7edbfa5f8aa6dc49a4770abad0de65453622b4792128fc40fa" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "14953:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1229, + "kind": "modifierInvocation", + "modifierName": { + "id": 1226, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "14934:11:0" }, - { - "indexed": false, - "internalType": "uint64", - "name": "round", - "type": "uint64" - } + "nodeType": "ModifierInvocation", + "src": "14934:25:0" + } ], - "name": "RoundStart", - "type": "event", - "signature": "0x442bd58918c05fbba21640a63d950e0ada0c085917a5c785fe24d66608972bd9" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, + "name": "uploadSeed", + "nameLocation": "14859:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1225, + "nodeType": "ParameterList", + "parameters": [ { - "indexed": false, - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "constant": false, + "id": 1218, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "14878:6:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14870:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1217, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14870:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" }, { - "indexed": false, - "internalType": "string", - "name": "dataSet", - "type": "string" + "constant": false, + "id": 1220, + "mutability": "mutable", + "name": "round", + "nameLocation": "14892:5:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14885:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1219, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "14885:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" }, { - "indexed": false, - "internalType": "string", - "name": "creatorUrl", - "type": "string" + "constant": false, + "id": 1222, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "14906:6:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14898:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14898:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { - "indexed": false, - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "TaskCreated", - "type": "event", - "signature": "0xa18549eb85158cc952d808a07e5f220d767881f3f687aff0f32466231ee0a8be" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" + "constant": false, + "id": 1224, + "mutability": "mutable", + "name": "seed", + "nameLocation": "14928:4:0", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "14913:19:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1223, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "14913:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" } - ], - "name": "changeOwner", - "outputs": [], + ], + "src": "14869:64:0" + }, + "returnParameters": { + "id": 1230, + "nodeType": "ParameterList", + "parameters": [], + "src": "14967:0:0" + }, + "scope": 1638, + "src": "14850:918:0", "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa6f9dae1" - }, - { - "inputs": [ + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1442, + "nodeType": "Block", + "src": "16178:932:0", + "statements": [ { - "internalType": "string", - "name": "creatorUrl", - "type": "string" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1348, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16196:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16196:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16225:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16196:30:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1352, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16230:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16230:26:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1354, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "16260:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "16230:50:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16196:84:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16281:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1347, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16188:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16188:142:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1359, + "nodeType": "ExpressionStatement", + "src": "16188:142:0" }, { - "internalType": "string", - "name": "dataSet", - "type": "string" + "assignments": [ + 1362 + ], + "declarations": [ + { + "constant": false, + "id": 1362, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "16358:8:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16340:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1361, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1360, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "16340:9:0" + }, + "referencedDeclaration": 79, + "src": "16340:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1368, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1363, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "16369:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1365, + "indexExpression": { + "id": 1364, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16380:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16369:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1367, + "indexExpression": { + "id": 1366, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16388:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16369:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16340:54:0" }, { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" - } - ], - "name": "createTask", - "outputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - } - ], - "stateMutability": "payable", - "type": "function", - "payable": true, - "signature": "0xe8ac10f3" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1370, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1362, + "src": "16412:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "16412:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1372, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "16431:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Running", + "nodeType": "MemberAccess", + "referencedDeclaration": 6, + "src": "16431:19:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "16412:38:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e207365637265742073686172696e67207068617365", + "id": 1375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16451:29:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + }, + "value": "not in secret sharing phase" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_11d9109564d98610d31ee6cd99a071463079ae50647d4ca013b82abb4a5214bc", + "typeString": "literal_string \"not in secret sharing phase\"" + } + ], + "id": 1369, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16404:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16404:77:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1377, + "nodeType": "ExpressionStatement", + "src": "16404:77:0" }, { - "internalType": "uint64", - "name": "round", - "type": "uint64" - } - ], - "name": "endRound", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x01bd7269" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "assignments": [ + 1382 + ], + "declarations": [ + { + "constant": false, + "id": 1382, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "16523:11:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16491:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1380, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1379, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "16491:21:0" + }, + "referencedDeclaration": 45, + "src": "16491:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1381, + "nodeType": "ArrayTypeName", + "src": "16491:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1386, + "initialValue": { + "baseExpression": { + "id": 1383, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "16537:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1385, + "indexExpression": { + "id": 1384, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16559:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16537:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16491:75:0" }, { - "internalType": "uint64", - "name": "round", - "type": "uint64" + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1387, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16579:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16579:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1389, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16601:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "16579:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1397, + "nodeType": "IfStatement", + "src": "16576:75:0", + "trueBody": { + "id": 1396, + "nodeType": "Block", + "src": "16608:43:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1391, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16622:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "16622:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16622:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 1395, + "nodeType": "ExpressionStatement", + "src": "16622:18:0" + } + ] + } }, { - "internalType": "address", - "name": "candidateAddr", - "type": "address" - } - ], - "name": "getClientPublickeys", - "outputs": [ + "assignments": [ + 1400 + ], + "declarations": [ + { + "constant": false, + "id": 1400, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "16690:10:0", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "16660:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1399, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1398, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "16660:21:0" + }, + "referencedDeclaration": 45, + "src": "16660:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1404, + "initialValue": { + "baseExpression": { + "id": 1401, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "16703:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1403, + "indexExpression": { + "id": 1402, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16715:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16703:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16660:61:0" + }, { - "components": [ + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1406, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1400, + "src": "16739:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "16739:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1410, + "indexExpression": { + "expression": { + "id": 1408, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16757:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16757:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16739:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1412, + "indexExpression": { + "id": 1411, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16769:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16739:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "16739:61:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "16739:68:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16811:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16739:73:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6573", + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16813:35:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" + }, + "value": "cannot upload seed multiple times" + } + ], + "expression": { + "argumentTypes": [ { - "internalType": "bytes32", - "name": "pk1", - "type": "bytes32" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "internalType": "bytes32", - "name": "pk2", - "type": "bytes32" + "typeIdentifier": "t_stringliteral_995e525e8c7a7d81bd878f54ae854933b7a8a081b7bb58607af39ec5d95488e7", + "typeString": "literal_string \"cannot upload seed multiple times\"" } - ], - "internalType": "struct DeltaContract.Candidate", - "name": "candidate", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0xda0fe898" - }, - { - "inputs": [], - "name": "getMaxCommitmentsLength", - "outputs": [ - { - "internalType": "uint64", - "name": "sslength", - "type": "uint64" + ], + "id": 1405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16731:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16731:118:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1419, + "nodeType": "ExpressionStatement", + "src": "16731:118:0" }, { - "internalType": "uint64", - "name": "weightLength", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0x5d3d7e63" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ + "expression": { + "id": 1430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1420, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1400, + "src": "16859:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "16859:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1426, + "indexExpression": { + "expression": { + "id": 1422, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16877:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16877:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16859:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1427, + "indexExpression": { + "id": 1424, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16889:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16859:37:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "16859:61:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1429, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "16923:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "16859:83:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1431, + "nodeType": "ExpressionStatement", + "src": "16859:83:0" + }, { - "internalType": "address", - "name": "", - "type": "address" + "eventCall": { + "arguments": [ + { + "id": 1433, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16973:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1434, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16980:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "expression": { + "id": 1435, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "16986:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "16986:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1437, + "name": "sharee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "16997:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "534b4d41534b434d4d54", + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17004:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "typeString": "literal_string \"SKMASKCMMT\"" + }, + "value": "SKMASKCMMT" + }, + { + "id": 1439, + "name": "secretKeyCommitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "17017:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_c714f59316b9bd48e12da25207b4bfa18ee389577c0426a7111da39318477b2f", + "typeString": "literal_string \"SKMASKCMMT\"" + }, + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1432, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "16957:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16957:80:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1441, + "nodeType": "EmitStatement", + "src": "16952:85:0" } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0x893d20e8" - }, - { - "inputs": [ - { - "internalType": "bytes32", + ] + }, + "documentation": { + "id": 1332, + "nodeType": "StructuredDocumentation", + "src": "15778:248:0", + "text": " @dev called by client, upload secret sharing sk commitment\n @param taskId taskId\n @param round the task round\n @param sharee the sharee address\n @param secretKeyCommitment secret sharing piece of seed mask" + }, + "functionSelector": "ee9dc1bd", + "id": 1443, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1343, "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "clientaddress", - "type": "address" - }, - { - "internalType": "uint64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "16157:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1344, "name": "round", - "type": "uint64" - } - ], - "name": "getResultCommitment", - "outputs": [ - { - "internalType": "bytes", - "name": "commitment", - "type": "bytes" - } + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "16164:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1345, + "kind": "modifierInvocation", + "modifierName": { + "id": 1342, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "16145:11:0" + }, + "nodeType": "ModifierInvocation", + "src": "16145:25:0" + } ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0xe36bb28c" - }, - { - "inputs": [ + "name": "uploadSecretKeyCommitment", + "nameLocation": "16040:25:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1341, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "constant": false, + "id": 1334, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "16074:6:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16066:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1333, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16066:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" }, { - "internalType": "uint64", - "name": "round", - "type": "uint64" + "constant": false, + "id": 1336, + "mutability": "mutable", + "name": "round", + "nameLocation": "16088:5:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16081:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1335, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "16081:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" }, { - "internalType": "address", - "name": "owner", - "type": "address" + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "sharee", + "nameLocation": "16102:6:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16094:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16094:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" }, { - "internalType": "address", - "name": "sharee", - "type": "address" + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "secretKeyCommitment", + "nameLocation": "16124:19:0", + "nodeType": "VariableDeclaration", + "scope": 1443, + "src": "16109:34:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1339, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16109:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" } - ], - "name": "getSecretSharingData", - "outputs": [ + ], + "src": "16065:79:0" + }, + "returnParameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [], + "src": "16178:0:0" + }, + "scope": 1638, + "src": "16031:1079:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1569, + "nodeType": "Block", + "src": "17489:1005:0", + "statements": [ { - "components": [ + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1460, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "17507:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17507:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17530:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "17507:24:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1464, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "17535:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17535:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1466, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "17559:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "17535:44:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17507:72:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "636f6d6d69746d656e74206c656e6774682065786365656473206c696d6974206f7220697420697320656d707479", + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17580:48:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + }, + "value": "commitment length exceeds limit or it is empty" + } + ], + "expression": { + "argumentTypes": [ { - "internalType": "bytes", - "name": "seedPiece", - "type": "bytes" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "internalType": "bytes", - "name": "seedCommitment", - "type": "bytes" + "typeIdentifier": "t_stringliteral_4cfdf9e48cf825603b16fd62b687de964afaa729d0df9869d75bd09d4aa07324", + "typeString": "literal_string \"commitment length exceeds limit or it is empty\"" + } + ], + "id": 1459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17499:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17499:130:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1471, + "nodeType": "ExpressionStatement", + "src": "17499:130:0" + }, + { + "assignments": [ + 1474 + ], + "declarations": [ + { + "constant": false, + "id": 1474, + "mutability": "mutable", + "name": "curRound", + "nameLocation": "17657:8:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17639:26:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + }, + "typeName": { + "id": 1473, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1472, + "name": "TaskRound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 79, + "src": "17639:9:0" }, + "referencedDeclaration": 79, + "src": "17639:9:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound" + } + }, + "visibility": "internal" + } + ], + "id": 1480, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 1475, + "name": "taskRounds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21, + "src": "17668:10:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.TaskRound storage ref[] storage ref)" + } + }, + "id": 1477, + "indexExpression": { + "id": 1476, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17679:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17668:18:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_TaskRound_$79_storage_$dyn_storage", + "typeString": "struct DeltaContract.TaskRound storage ref[] storage ref" + } + }, + "id": 1479, + "indexExpression": { + "id": 1478, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17687:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17668:25:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage", + "typeString": "struct DeltaContract.TaskRound storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17639:54:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + }, + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1482, + "name": "curRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "17711:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskRound_$79_storage_ptr", + "typeString": "struct DeltaContract.TaskRound storage pointer" + } + }, + "id": 1483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 70, + "src": "17711:15:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1484, + "name": "RoundStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "17730:11:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RoundStatus_$10_$", + "typeString": "type(enum DeltaContract.RoundStatus)" + } + }, + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Aggregating", + "nodeType": "MemberAccess", + "referencedDeclaration": 8, + "src": "17730:23:0", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RoundStatus_$10", + "typeString": "enum DeltaContract.RoundStatus" + } + }, + "src": "17711:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6e6f7420696e2075706c6f6164207373207068617365", + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17754:24:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" + }, + "value": "not in upload ss phase" + } + ], + "expression": { + "argumentTypes": [ { - "internalType": "bytes", - "name": "secretKeyPiece", - "type": "bytes" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "internalType": "bytes", - "name": "secretKeyMaskCommitment", - "type": "bytes" + "typeIdentifier": "t_stringliteral_01a726af5c377886bd75c78f733dc90ae1d7a77119704577e75f76ba3c6b4d3d", + "typeString": "literal_string \"not in upload ss phase\"" } - ], - "internalType": "struct DeltaContract.SSData", - "name": "ssdata", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0x589e2338" - }, - { - "inputs": [ + ], + "id": 1481, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17703:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17703:76:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1489, + "nodeType": "ExpressionStatement", + "src": "17703:76:0" + }, { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - } - ], - "name": "getTaskData", - "outputs": [ + "assignments": [ + 1494 + ], + "declarations": [ + { + "constant": false, + "id": 1494, + "mutability": "mutable", + "name": "commitments", + "nameLocation": "17821:11:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17789:43:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + }, + "typeName": { + "baseType": { + "id": 1492, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1491, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "17789:21:0" + }, + "referencedDeclaration": 45, + "src": "17789:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "id": 1493, + "nodeType": "ArrayTypeName", + "src": "17789:23:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments[]" + } + }, + "visibility": "internal" + } + ], + "id": 1498, + "initialValue": { + "baseExpression": { + "id": 1495, + "name": "roundModelCommitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "17835:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_$", + "typeString": "mapping(bytes32 => struct DeltaContract.RoundModelCommitments storage ref[] storage ref)" + } + }, + "id": 1497, + "indexExpression": { + "id": 1496, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17857:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17835:29:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17789:75:0" + }, { - "components": [ - { - "internalType": "address", - "name": "creator", - "type": "address" + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1499, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "17877:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17877:18:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1501, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17899:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "17877:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1509, + "nodeType": "IfStatement", + "src": "17874:75:0", + "trueBody": { + "id": 1508, + "nodeType": "Block", + "src": "17906:43:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1503, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "17920:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "17920:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$returns$_t_struct$_RoundModelCommitments_$45_storage_$bound_to$_t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr_$", + "typeString": "function (struct DeltaContract.RoundModelCommitments storage ref[] storage pointer) returns (struct DeltaContract.RoundModelCommitments storage ref)" + } + }, + "id": 1506, + "isConstant": false, + "isLValue": true, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17920:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "id": 1507, + "nodeType": "ExpressionStatement", + "src": "17920:18:0" + } + ] + } + }, + { + "assignments": [ + 1512 + ], + "declarations": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "commitment", + "nameLocation": "17988:10:0", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "17958:40:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + }, + "typeName": { + "id": 1511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1510, + "name": "RoundModelCommitments", + "nodeType": "IdentifierPath", + "referencedDeclaration": 45, + "src": "17958:21:0" + }, + "referencedDeclaration": 45, + "src": "17958:21:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments" + } + }, + "visibility": "internal" + } + ], + "id": 1516, + "initialValue": { + "baseExpression": { + "id": 1513, + "name": "commitments", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1494, + "src": "18001:11:0", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RoundModelCommitments_$45_storage_$dyn_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref[] storage pointer" + } + }, + "id": 1515, + "indexExpression": { + "id": 1514, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "18013:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18001:18:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage", + "typeString": "struct DeltaContract.RoundModelCommitments storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17958:61:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1518, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18037:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18037:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1521, + "indexExpression": { + "id": 1520, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18055:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18037:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1524, + "indexExpression": { + "expression": { + "id": 1522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18062:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18062:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18037:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyMaskCommitment", + "nodeType": "MemberAccess", + "referencedDeclaration": 99, + "src": "18037:60:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18037:67:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18107:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, + "src": "18037:71:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d7573742075706c6f616420636f6d6d69746d656e74206669727374", + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18109:30:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + }, + "value": "must upload commitment first" + } + ], + "expression": { + "argumentTypes": [ { - "internalType": "string", - "name": "creatorUrl", - "type": "string" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "internalType": "string", - "name": "dataSet", - "type": "string" + "typeIdentifier": "t_stringliteral_925027933eda8ffbda37446968ccb05b73d493bcbc6321fdf77eb9d9c9e6eea0", + "typeString": "literal_string \"must upload commitment first\"" + } + ], + "id": 1517, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18029:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18029:111:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1531, + "nodeType": "ExpressionStatement", + "src": "18029:111:0" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1533, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18158:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18158:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1536, + "indexExpression": { + "id": 1535, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18176:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18158:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1539, + "indexExpression": { + "expression": { + "id": 1537, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18183:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18158:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "secretKeyPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 97, + "src": "18158:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18158:58:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18220:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18158:63:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c652074696d6573", + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18222:37:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "typeString": "literal_string \"cannot upload skmask multiple times\"" + }, + "value": "cannot upload skmask multiple times" + } + ], + "expression": { + "argumentTypes": [ { - "internalType": "bytes32", - "name": "commitment", - "type": "bytes32" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "internalType": "uint64", - "name": "currentRound", - "type": "uint64" + "typeIdentifier": "t_stringliteral_1bbb835911f9c5ad7d1a17e2a5a40140e5ee2a0491fd530884b7d1c65d711da9", + "typeString": "literal_string \"cannot upload skmask multiple times\"" } - ], - "internalType": "struct DeltaContract.Task", - "name": "task", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0x58af9f73" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + ], + "id": 1532, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18150:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18150:110:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1546, + "nodeType": "ExpressionStatement", + "src": "18150:110:0" }, { - "internalType": "uint64", - "name": "round", - "type": "uint64" - } - ], - "name": "getTaskRound", - "outputs": [ + "expression": { + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "baseExpression": { + "expression": { + "id": 1547, + "name": "commitment", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "18270:10:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoundModelCommitments_$45_storage_ptr", + "typeString": "struct DeltaContract.RoundModelCommitments storage pointer" + } + }, + "id": 1552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "ssdata", + "nodeType": "MemberAccess", + "referencedDeclaration": 44, + "src": "18270:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$_$", + "typeString": "mapping(address => mapping(address => struct DeltaContract.SSData storage ref))" + } + }, + "id": 1553, + "indexExpression": { + "id": 1549, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18288:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18270:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_SSData_$100_storage_$", + "typeString": "mapping(address => struct DeltaContract.SSData storage ref)" + } + }, + "id": 1554, + "indexExpression": { + "expression": { + "id": 1550, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18295:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18295:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18270:36:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SSData_$100_storage", + "typeString": "struct DeltaContract.SSData storage ref" + } + }, + "id": 1555, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "secretKeyPiece", + "nodeType": "MemberAccess", + "referencedDeclaration": 97, + "src": "18270:51:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1556, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "18324:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "src": "18270:67:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 1558, + "nodeType": "ExpressionStatement", + "src": "18270:67:0" + }, { - "components": [ + "eventCall": { + "arguments": [ + { + "id": 1560, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "18368:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1561, + "name": "round", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "18375:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 1562, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "18381:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1563, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "18387:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "18387:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "534b4d41534b", + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18398:8:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "typeString": "literal_string \"SKMASK\"" + }, + "value": "SKMASK" + }, + { + "id": 1566, + "name": "secretkeyMask", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "18407:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, { - "internalType": "uint64", - "name": "currentRound", - "type": "uint64" + "typeIdentifier": "t_uint64", + "typeString": "uint64" }, { - "internalType": "uint32", - "name": "maxSample", - "type": "uint32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "internalType": "uint32", - "name": "minSample", - "type": "uint32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "internalType": "uint8", - "name": "status", - "type": "uint8" + "typeIdentifier": "t_stringliteral_fdb39921486b5b18db0ef390436cf9035d849eca6a4737abb9769ff479b94a86", + "typeString": "literal_string \"SKMASK\"" }, { - "internalType": "address[]", - "name": "joinedAddrs", - "type": "address[]" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } - ], - "internalType": "struct DeltaContract.ExtCallTaskRoundStruct", - "name": "taskround", - "type": "tuple" + ], + "id": 1559, + "name": "ContentUploaded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 171, + "src": "18352:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint64_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes32,uint64,address,address,string memory,bytes memory)" + } + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18352:69:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1568, + "nodeType": "EmitStatement", + "src": "18347:74:0" } - ], - "stateMutability": "view", - "type": "function", - "constant": true, - "signature": "0x4893b362" - }, - { - "inputs": [ - { - "internalType": "bytes32", + ] + }, + "documentation": { + "id": 1444, + "nodeType": "StructuredDocumentation", + "src": "17125:225:0", + "text": " @dev called by client, upload secret sharing sk commitment\n @param taskId taskId\n @param round the task round\n @param secretkeyMask the crypted skmask\n @param owner the owner address" + }, + "functionSelector": "f9dd18a7", + "id": 1570, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1455, "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "17468:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1456, "name": "round", - "type": "uint64" - }, - { - "internalType": "bytes32", - "name": "pk1", - "type": "bytes32" + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1448, + "src": "17475:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "id": 1457, + "kind": "modifierInvocation", + "modifierName": { + "id": 1454, + "name": "roundExists", + "nodeType": "IdentifierPath", + "referencedDeclaration": 232, + "src": "17456:11:0" }, - { - "internalType": "bytes32", - "name": "pk2", - "type": "bytes32" - } + "nodeType": "ModifierInvocation", + "src": "17456:25:0" + } ], - "name": "joinRound", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xbdf666a4" - }, - { - "inputs": [ + "name": "uploadSecretkeyMask", + "nameLocation": "17364:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1453, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + "constant": false, + "id": 1446, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "17392:6:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17384:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17384:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" }, { - "internalType": "uint64", - "name": "round", - "type": "uint64" + "constant": false, + "id": 1448, + "mutability": "mutable", + "name": "round", + "nameLocation": "17406:5:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17399:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1447, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "17399:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" }, { - "internalType": "address[]", - "name": "addrs", - "type": "address[]" - } - ], - "name": "selectCandidates", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x41e865cb" - }, - { - "inputs": [ + "constant": false, + "id": 1450, + "mutability": "mutable", + "name": "owner", + "nameLocation": "17420:5:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17412:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17412:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, { - "internalType": "uint64", - "name": "maxLength", - "type": "uint64" + "constant": false, + "id": 1452, + "mutability": "mutable", + "name": "secretkeyMask", + "nameLocation": "17441:13:0", + "nodeType": "VariableDeclaration", + "scope": 1570, + "src": "17426:28:0", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1451, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "17426:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" } - ], - "name": "setMaxSSCommitmentLength", - "outputs": [], + ], + "src": "17383:72:0" + }, + "returnParameters": { + "id": 1458, + "nodeType": "ParameterList", + "parameters": [], + "src": "17489:0:0" + }, + "scope": 1638, + "src": "17355:1139:0", "stateMutability": "nonpayable", - "type": "function", - "signature": "0xd6f02142" - }, - { - "inputs": [ + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1581, + "nodeType": "Block", + "src": "18575:54:0", + "statements": [ { - "internalType": "uint64", - "name": "maxLength", - "type": "uint64" + "expression": { + "id": 1579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1577, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "18585:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1578, + "name": "maxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1572, + "src": "18613:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18585:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1580, + "nodeType": "ExpressionStatement", + "src": "18585:37:0" } + ] + }, + "functionSelector": "b71b768d", + "id": 1582, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1575, + "kind": "modifierInvocation", + "modifierName": { + "id": 1574, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "18560:7:0" + }, + "nodeType": "ModifierInvocation", + "src": "18560:7:0" + } ], "name": "setMaxWeightCommitmentLength", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71b768d" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, + "nameLocation": "18513:28:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1573, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, - { - "internalType": "address[]", - "name": "onlineClients", - "type": "address[]" + "constant": false, + "id": 1572, + "mutability": "mutable", + "name": "maxLength", + "nameLocation": "18549:9:0", + "nodeType": "VariableDeclaration", + "scope": 1582, + "src": "18542:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1571, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18542:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" } - ], - "name": "startAggregate", - "outputs": [], + ], + "src": "18541:18:0" + }, + "returnParameters": { + "id": 1576, + "nodeType": "ParameterList", + "parameters": [], + "src": "18575:0:0" + }, + "scope": 1638, + "src": "18504:125:0", "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4956219b" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1593, + "nodeType": "Block", + "src": "18706:49:0", + "statements": [ { - "internalType": "address[]", - "name": "onlineClients", - "type": "address[]" + "expression": { + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1589, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "18716:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1590, + "name": "maxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "18739:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18716:32:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1592, + "nodeType": "ExpressionStatement", + "src": "18716:32:0" } - ], - "name": "startCalculate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xabf2013a" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" + ] + }, + "functionSelector": "d6f02142", + "id": 1594, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1587, + "kind": "modifierInvocation", + "modifierName": { + "id": 1586, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "18691:7:0" }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "maxSample", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "minSample", - "type": "uint32" - } + "nodeType": "ModifierInvocation", + "src": "18691:7:0" + } ], - "name": "startRound", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x07dcfa8e" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, + "name": "setMaxSSCommitmentLength", + "nameLocation": "18648:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1585, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "bytes", - "name": "resultCommitment", - "type": "bytes" + "constant": false, + "id": 1584, + "mutability": "mutable", + "name": "maxLength", + "nameLocation": "18680:9:0", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "18673:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1583, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18673:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" } - ], - "name": "uploadResultCommitment", - "outputs": [], + ], + "src": "18672:18:0" + }, + "returnParameters": { + "id": 1588, + "nodeType": "ParameterList", + "parameters": [], + "src": "18706:0:0" + }, + "scope": 1638, + "src": "18639:116:0", "stateMutability": "nonpayable", - "type": "function", - "signature": "0xebd3e836" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1609, + "nodeType": "Block", + "src": "18858:98:0", + "statements": [ { - "internalType": "address", - "name": "sharee", - "type": "address" + "expression": { + "id": 1603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1601, + "name": "sslength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1597, + "src": "18868:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1602, + "name": "maxSSComitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "18879:20:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18868:31:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1604, + "nodeType": "ExpressionStatement", + "src": "18868:31:0" }, { - "internalType": "bytes", - "name": "secretKeyCommitment", - "type": "bytes" + "expression": { + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1605, + "name": "weightLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1599, + "src": "18909:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1606, + "name": "maxWeightCommitmentLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "18924:25:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18909:40:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1608, + "nodeType": "ExpressionStatement", + "src": "18909:40:0" } - ], - "name": "uploadSecretKeyCommitment", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xee9dc1bd" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, + ] + }, + "functionSelector": "5d3d7e63", + "id": 1610, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getMaxCommitmentsLength", + "nameLocation": "18774:23:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1595, + "nodeType": "ParameterList", + "parameters": [], + "src": "18797:2:0" + }, + "returnParameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "address", - "name": "sharee", - "type": "address" + "constant": false, + "id": 1597, + "mutability": "mutable", + "name": "sslength", + "nameLocation": "18828:8:0", + "nodeType": "VariableDeclaration", + "scope": 1610, + "src": "18821:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1596, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18821:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" }, { - "internalType": "bytes", - "name": "secretkeyMask", - "type": "bytes" + "constant": false, + "id": 1599, + "mutability": "mutable", + "name": "weightLength", + "nameLocation": "18844:12:0", + "nodeType": "VariableDeclaration", + "scope": 1610, + "src": "18837:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1598, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "18837:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" } - ], - "name": "uploadSecretkeyMask", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xf9dd18a7" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, + ], + "src": "18820:37:0" + }, + "scope": 1638, + "src": "18765:191:0", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1627, + "nodeType": "Block", + "src": "19110:73:0", + "statements": [ { - "internalType": "uint64", - "name": "round", - "type": "uint64" + "eventCall": { + "arguments": [ + { + "id": 1619, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19134:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1620, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1613, + "src": "19141:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1618, + "name": "OwnerSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "19125:8:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19125:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1622, + "nodeType": "EmitStatement", + "src": "19120:30:0" }, { - "internalType": "address", - "name": "sharee", - "type": "address" + "expression": { + "id": 1625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1623, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19160:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1624, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1613, + "src": "19168:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "19160:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1626, + "nodeType": "ExpressionStatement", + "src": "19160:16:0" + } + ] + }, + "documentation": { + "id": 1611, + "nodeType": "StructuredDocumentation", + "src": "18971:80:0", + "text": " @dev Change owner\n @param newOwner address of new owner" + }, + "functionSelector": "a6f9dae1", + "id": 1628, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1616, + "kind": "modifierInvocation", + "modifierName": { + "id": 1615, + "name": "isOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 183, + "src": "19102:7:0" }, + "nodeType": "ModifierInvocation", + "src": "19102:7:0" + } + ], + "name": "changeOwner", + "nameLocation": "19065:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "bytes", - "name": "seed", - "type": "bytes" + "constant": false, + "id": 1613, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "19085:8:0", + "nodeType": "VariableDeclaration", + "scope": 1628, + "src": "19077:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19077:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" } - ], - "name": "uploadSeed", - "outputs": [], + ], + "src": "19076:18:0" + }, + "returnParameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [], + "src": "19110:0:0" + }, + "scope": 1638, + "src": "19056:127:0", "stateMutability": "nonpayable", - "type": "function", - "signature": "0x90ec5deb" - }, - { - "inputs": [ + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1636, + "nodeType": "Block", + "src": "19323:29:0", + "statements": [ { - "internalType": "bytes32", - "name": "taskId", - "type": "bytes32" - }, - { - "internalType": "uint64", - "name": "round", - "type": "uint64" - }, - { - "internalType": "address", - "name": "sharee", - "type": "address" - }, + "expression": { + "id": 1634, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4, + "src": "19340:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1633, + "id": 1635, + "nodeType": "Return", + "src": "19333:12:0" + } + ] + }, + "documentation": { + "id": 1629, + "nodeType": "StructuredDocumentation", + "src": "19189:77:0", + "text": " @dev Return owner address \n @return address of owner" + }, + "functionSelector": "893d20e8", + "id": 1637, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOwner", + "nameLocation": "19280:8:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [], + "src": "19288:2:0" + }, + "returnParameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [ { - "internalType": "bytes", - "name": "seedCommitment", - "type": "bytes" + "constant": false, + "id": 1632, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1637, + "src": "19314:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19314:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" } - ], - "name": "uploadSeedCommitment", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc99f61d4" - } - ], - "byteCode": "608060405262a00000600460006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550610100600460086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561006757600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3615c5680620001336000396000f3fe6080604052600436106101355760003560e01c8063abf2013a116100ab578063da0fe8981161006f578063da0fe8981461041f578063e36bb28c1461045c578063e8ac10f314610499578063ebd3e836146104c9578063ee9dc1bd146104f2578063f9dd18a71461051b57610135565b8063abf2013a1461033e578063b71b768d14610367578063bdf666a414610390578063c99f61d4146103cd578063d6f02142146103f657610135565b8063589e2338116100fd578063589e23381461021b57806358af9f73146102585780635d3d7e6314610295578063893d20e8146102c157806390ec5deb146102ec578063a6f9dae11461031557610135565b806301bd72691461013a57806307dcfa8e1461016357806341e865cb1461018c5780634893b362146101b55780634956219b146101f2575b600080fd5b34801561014657600080fd5b50610161600480360381019061015c91906140b8565b610544565b005b34801561016f57600080fd5b5061018a60048036038101906101859190614389565b610712565b005b34801561019857600080fd5b506101b360048036038101906101ae919061423a565b610b50565b005b3480156101c157600080fd5b506101dc60048036038101906101d791906140b8565b610e3d565b6040516101e99190615261565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061423a565b611036565b005b34801561022757600080fd5b50610242600480360381019061023d919061414b565b611355565b60405161024f9190615283565b60405180910390f35b34801561026457600080fd5b5061027f600480360381019061027a9190614038565b6117b9565b60405161028c91906152a5565b60405180910390f35b3480156102a157600080fd5b506102aa611a44565b6040516102b8929190615315565b60405180910390f35b3480156102cd57600080fd5b506102d6611a7d565b6040516102e39190614c48565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906141b2565b611aa6565b005b34801561032157600080fd5b5061033c6004803603810190610337919061400b565b611f12565b005b34801561034a57600080fd5b506103656004803603810190610360919061423a565b61205d565b005b34801561037357600080fd5b5061038e60048036038101906103899190614485565b6122a9565b005b34801561039c57600080fd5b506103b760048036038101906103b291906142ae565b612363565b6040516103c49190614c63565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef91906141b2565b6126db565b005b34801561040257600080fd5b5061041d60048036038101906104189190614485565b612a77565b005b34801561042b57600080fd5b50610446600480360381019061044191906140f8565b612b31565b6040516104539190615246565b60405180910390f35b34801561046857600080fd5b50610483600480360381019061047e9190614065565b612c5a565b6040516104909190614f84565b60405180910390f35b6104b360048036038101906104ae91906143f0565b612eb0565b6040516104c09190614c7e565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190614315565b61311e565b005b3480156104fe57600080fd5b50610519600480360381019061051491906141b2565b61343a565b005b34801561052757600080fd5b50610542600480360381019061053d91906141b2565b61380a565b005b813373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e090615126565b60405180910390fd5b828260006002600084815260200190815260200160002090506001818054905011801561062357508167ffffffffffffffff168180549050115b610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065990615226565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff168154811061069357610692615611565b5b9060005260206000209060030201905060048160000160106101000a81548160ff021916908360048111156106cb576106ca6155b3565b5b02179055507f8888bd37d0d00a7edbfa5f8aa6dc49a4770abad0de65453622b4792128fc40fa8787604051610701929190614cf0565b60405180910390a150505050505050565b83600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b0906151e6565b60405180910390fd5b843373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590615126565b60405180910390fd5b60006002600088815260200190815260200160002090508567ffffffffffffffff168180549050146108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90615086565b60405180910390fd5b6000600160008981526020019081526020016000209050868160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b60008280549050148061093457508667ffffffffffffffff16600183805490506109329190615410565b105b1561095b578160018160018154018082558091505003906000526020600020905050610908565b86828867ffffffffffffffff168154811061097957610978615611565b5b906000526020600020906003020160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555085828867ffffffffffffffff16815481106109ce576109cd615611565b5b906000526020600020906003020160000160086101000a81548163ffffffff021916908363ffffffff16021790555084828867ffffffffffffffff1681548110610a1b57610a1a615611565b5b9060005260206000209060030201600001600c6101000a81548163ffffffff021916908363ffffffff1602179055506000828867ffffffffffffffff1681548110610a6957610a68615611565b5b906000526020600020906003020160000160106101000a81548160ff02191690836004811115610a9c57610a9b6155b3565b5b02179055506000600360008a815260200190815260200160002090505b600081805490501480610ae557508767ffffffffffffffff1660018280549050610ae39190615410565b105b15610b0c578060018160018154018082558091505003906000526020600020905050610ab9565b7f442bd58918c05fbba21640a63d950e0ada0c085917a5c785fe24d66608972bd98989604051610b3d929190614cf0565b60405180910390a1505050505050505050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec90615126565b60405180910390fd5b8484600060026000848152602001908152602001600020905060018180549050118015610c2f57508167ffffffffffffffff168180549050115b610c6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6590615226565b60405180910390fd5b60008686905011610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90615206565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110610ce557610ce4615611565b5b9060005260206000209060030201905060005b87879050811015610dc7576000801b8260010160008a8a85818110610d2057610d1f615611565b5b9050602002016020810190610d35919061400b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541415610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab906150e6565b60405180910390fd5b8080610dbf9061553b565b915050610cf8565b5060018160000160106101000a81548160ff02191690836004811115610df057610def6155b3565b5b02179055507f25b2b0a6205a2793a55299d05c21fb9163d38054d6966d101c156acdc2d7c92f89898989604051610e2a9493929190614f44565b60405180910390a1505050505050505050565b610e45613caa565b8282600060026000848152602001908152602001600020905060018180549050118015610e7f57508167ffffffffffffffff168180549050115b610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590615226565b60405180910390fd5b6000600260008881526020019081526020016000208667ffffffffffffffff1681548110610eef57610eee615611565b5b906000526020600020906003020190506040518060a001604052808260000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018260000160089054906101000a900463ffffffff1663ffffffff16815260200182600001600c9054906101000a900463ffffffff1663ffffffff1681526020018260000160109054906101000a900460ff166004811115610f9657610f956155b3565b5b60ff1681526020018260020180548060200260200160405190810160405280929190818152602001828054801561102257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610fd8575b505050505081525094505050505092915050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d290615126565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561111557508167ffffffffffffffff168180549050115b611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b90615226565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061118557611184615611565b5b90600052602060002090600302019050600260048111156111a9576111a86155b3565b5b8160000160109054906101000a900460ff1660048111156111cd576111cc6155b3565b5b1461120d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611204906151c6565b60405180910390fd5b60038160000160106101000a81548160ff02191690836004811115611235576112346155b3565b5b021790555060005b8787905081101561130c576000801b8260010160008a8a8581811061126557611264615611565b5b905060200201602081019061127a919061400b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f0906150e6565b60405180910390fd5b80806113049061553b565b91505061123d565b507f15f527a33e522cfd2773db2e2d1e9f8353e1e5d2db4f3be23cca80fb5abefae3898989896040516113429493929190614f44565b60405180910390a1505050505050505050565b61135d613cf2565b848460006002600084815260200190815260200160002090506001818054905011801561139757508167ffffffffffffffff168180549050115b6113d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cd90615226565b60405180910390fd5b878760006003600084815260200190815260200160002090508167ffffffffffffffff1681805490501161143f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143690615046565b60405180910390fd5b6000600360008d815260200190815260200160002090508a67ffffffffffffffff16818054905010156114a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149e90615046565b60405180910390fd5b6000818c67ffffffffffffffff16815481106114c6576114c5615611565b5b906000526020600020906002020190508060010160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052908160008201805461156f90615509565b80601f016020809104026020016040519081016040528092919081815260200182805461159b90615509565b80156115e85780601f106115bd576101008083540402835291602001916115e8565b820191906000526020600020905b8154815290600101906020018083116115cb57829003601f168201915b5050505050815260200160018201805461160190615509565b80601f016020809104026020016040519081016040528092919081815260200182805461162d90615509565b801561167a5780601f1061164f5761010080835404028352916020019161167a565b820191906000526020600020905b81548152906001019060200180831161165d57829003601f168201915b5050505050815260200160028201805461169390615509565b80601f01602080910402602001604051908101604052809291908181526020018280546116bf90615509565b801561170c5780601f106116e15761010080835404028352916020019161170c565b820191906000526020600020905b8154815290600101906020018083116116ef57829003601f168201915b5050505050815260200160038201805461172590615509565b80601f016020809104026020016040519081016040528092919081815260200182805461175190615509565b801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508152505098505050505050505050949350505050565b6117c1613d1a565b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f906151e6565b60405180910390fd5b600160008481526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180546118ec90615509565b80601f016020809104026020016040519081016040528092919081815260200182805461191890615509565b80156119655780601f1061193a57610100808354040283529160200191611965565b820191906000526020600020905b81548152906001019060200180831161194857829003601f168201915b5050505050815260200160028201805461197e90615509565b80601f01602080910402602001604051908101604052809291908181526020018280546119aa90615509565b80156119f75780601f106119cc576101008083540402835291602001916119f7565b820191906000526020600020905b8154815290600101906020018083116119da57829003601f168201915b50505050508152602001600382015481526020016004820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915050919050565b600080600460089054906101000a900467ffffffffffffffff169150600460009054906101000a900467ffffffffffffffff1690509091565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8484600060026000848152602001908152602001600020905060018180549050118015611ae057508167ffffffffffffffff168180549050115b611b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1690615226565b60405180910390fd5b600085859050118015611b555750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b611b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8b906150c6565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff1681548110611bc557611bc4615611565b5b9060005260206000209060030201905060036004811115611be957611be86155b3565b5b8160000160109054906101000a900460ff166004811115611c0d57611c0c6155b3565b5b14611c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4490614fa6565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff1681548110611c8357611c82615611565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054611d2190615509565b905011611d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5a90615146565b60405180910390fd5b60008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054611df190615509565b905014611e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2a90615166565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019190611ec3929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051611efd96959493929190614d88565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9790615026565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b833373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990615126565b60405180910390fd5b848460006002600084815260200190815260200160002090506001818054905011801561213c57508167ffffffffffffffff168180549050115b61217b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217290615226565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106121ac576121ab615611565b5b90600052602060002090600302019050600160048111156121d0576121cf6155b3565b5b8160000160109054906101000a900460ff1660048111156121f4576121f36155b3565b5b14612234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222b906150a6565b60405180910390fd5b60028160000160106101000a81548160ff0219169083600481111561225c5761225b6155b3565b5b02179055507fbc9bba2269f8b18f4ff8765379774de8dc70369c61ed47583189768c35d9e58d898989896040516122969493929190614f44565b60405180910390a1505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e90615026565b60405180910390fd5b80600460006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600084600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561240c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612403906151e6565b60405180910390fd5b858560006002600084815260200190815260200160002090506001818054905011801561244657508167ffffffffffffffff168180549050115b612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c90615226565b60405180910390fd5b6000600260008b81526020019081526020016000209050600081600183805490506124b09190615410565b815481106124c1576124c0615611565b5b906000526020600020906003020190508967ffffffffffffffff16600183805490506124ed9190615410565b14801561252f575060006004811115612509576125086155b3565b5b8160000160109054906101000a900460ff16600481111561252d5761252c6155b3565b5b145b61256e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256590615066565b60405180910390fd5b6000801b8160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154146125f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ee90615106565b60405180910390fd5b60405180604001604052808a8152602001898152508160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015590505080600201339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019650505050505050949350505050565b848460006002600084815260200190815260200160002090506001818054905011801561271557508167ffffffffffffffff168180549050115b612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90615226565b60405180910390fd5b60008585905011801561278a5750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6127c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c0906150c6565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff16815481106127fa576127f9615611565b5b906000526020600020906003020190506001600481111561281e5761281d6155b3565b5b8160000160109054906101000a900460ff166004811115612842576128416155b3565b5b14612882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287990614fc6565b60405180910390fd5b6000600360008b815260200190815260200160002090506000818a67ffffffffffffffff16815481106128b8576128b7615611565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805461295690615509565b905014612998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298f906151a6565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019190612a28929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051612a6296959493929190614df7565b60405180910390a15050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afc90615026565b60405180910390fd5b80600460086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b612b39613df2565b8383600060026000848152602001908152602001600020905060018180549050118015612b7357508167ffffffffffffffff168180549050115b612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba990615226565b60405180910390fd5b600260008881526020019081526020016000208667ffffffffffffffff1681548110612be157612be0615611565b5b906000526020600020906003020160010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505093505050509392505050565b60608382600060026000848152602001908152602001600020905060018180549050118015612c9657508167ffffffffffffffff168180549050115b612cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ccc90615226565b60405180910390fd5b868560006003600084815260200190815260200160002090508167ffffffffffffffff16818054905011612d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3590615046565b60405180910390fd5b6000600360008c815260200190815260200160002090508867ffffffffffffffff1681805490501015612da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9d90615046565b60405180910390fd5b6000818a67ffffffffffffffff1681548110612dc557612dc4615611565b5b906000526020600020906002020190508060000160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054612e2190615509565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4d90615509565b8015612e9a5780601f10612e6f57610100808354040283529160200191612e9a565b820191906000526020600020905b815481529060010190602001808311612e7d57829003601f168201915b5050505050985050505050505050509392505050565b6000804233868686604051602001612ecc9594939291906152c7565b6040516020818303038152906040528051906020012090506040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152602001848152602001600067ffffffffffffffff168152506001600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908051906020019061302a929190613e12565b506040820151816002019080519060200190613047929190613e12565b506060820151816003015560808201518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905050809150600060026000848152602001908152602001600020905080600181600181540180825580915050039060005260206000209050503373ffffffffffffffffffffffffffffffffffffffff167fa18549eb85158cc952d808a07e5f220d767881f3f687aff0f32466231ee0a8be8388888c8c8a60405161310b96959493929190614c99565b60405180910390a2505095945050505050565b838360006002600084815260200190815260200160002090506001818054905011801561315857508167ffffffffffffffff168180549050115b613197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318e90615226565b60405180910390fd5b6000858590501180156131cd5750600460009054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b61320c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613203906150c6565b60405180910390fd5b6000600260008981526020019081526020016000208767ffffffffffffffff168154811061323d5761323c615611565b5b9060005260206000209060030201905060026004811115613261576132606155b3565b5b8160000160109054906101000a900460ff166004811115613285576132846155b3565b5b146132c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132bc90615186565b60405180910390fd5b6000600360008a815260200190815260200160002090506000818967ffffffffffffffff16815481106132fb576132fa615611565b5b9060005260206000209060020201905060008160000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805461335990615509565b90501461339b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339290615006565b60405180910390fd5b87878260000160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091906133eb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8a8a3360008c8c60405161342696959493929190614d19565b60405180910390a150505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561347457508167ffffffffffffffff168180549050115b6134b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134aa90615226565b60405180910390fd5b6000858590501180156134e95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b613528576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351f906150c6565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061355957613558615611565b5b906000526020600020906003020190506001600481111561357d5761357c6155b3565b5b8160000160109054906101000a900460ff1660048111156135a1576135a06155b3565b5b146135e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135d890614fc6565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff168180549050141561362c5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff168154811061364b5761364a615611565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030180546136e990615509565b90501461372b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372290615166565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030191906137bb929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c6040516137f596959493929190614e66565b60405180910390a15050505050505050505050565b848460006002600084815260200190815260200160002090506001818054905011801561384457508167ffffffffffffffff168180549050115b613883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161387a90615226565b60405180910390fd5b6000858590501180156138b95750600460089054906101000a900467ffffffffffffffff1667ffffffffffffffff168585905011155b6138f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138ef906150c6565b60405180910390fd5b6000600260008a81526020019081526020016000208867ffffffffffffffff168154811061392957613928615611565b5b906000526020600020906003020190506003600481111561394d5761394c6155b3565b5b8160000160109054906101000a900460ff166004811115613971576139706155b3565b5b146139b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a890614fa6565b60405180910390fd5b6000600360008b815260200190815260200160002090508867ffffffffffffffff16818054905014156139fc5780600181600181540180825580915050039060005260206000209050505b6000818a67ffffffffffffffff1681548110613a1b57613a1a615611565b5b9060005260206000209060020201905060008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018054613ab990615509565b905011613afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af290615146565b60405180910390fd5b60008160010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054613b8990615509565b905014613bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc290614fe6565b60405180910390fd5b87878260010160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019190613c5b929190613d6c565b507feb99944e87d6d60f29399426ac461b929aaa92b0fec2ae9a6f04bc90b0c3d5aa8b8b338c8c8c604051613c9596959493929190614ed5565b60405180910390a15050505050505050505050565b6040518060a00160405280600067ffffffffffffffff168152602001600063ffffffff168152602001600063ffffffff168152602001600060ff168152602001606081525090565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016060815260200160008019168152602001600067ffffffffffffffff1681525090565b828054613d7890615509565b90600052602060002090601f016020900481019282613d9a5760008555613de1565b82601f10613db357803560ff1916838001178555613de1565b82800160010185558215613de1579182015b82811115613de0578235825591602001919060010190613dc5565b5b509050613dee9190613e98565b5090565b604051806040016040528060008019168152602001600080191681525090565b828054613e1e90615509565b90600052602060002090601f016020900481019282613e405760008555613e87565b82601f10613e5957805160ff1916838001178555613e87565b82800160010185558215613e87579182015b82811115613e86578251825591602001919060010190613e6b565b5b509050613e949190613e98565b5090565b5b80821115613eb1576000816000905550600101613e99565b5090565b600081359050613ec481615bc4565b92915050565b60008083601f840112613ee057613edf615645565b5b8235905067ffffffffffffffff811115613efd57613efc615640565b5b602083019150836020820283011115613f1957613f1861564a565b5b9250929050565b600081359050613f2f81615bdb565b92915050565b60008083601f840112613f4b57613f4a615645565b5b8235905067ffffffffffffffff811115613f6857613f67615640565b5b602083019150836001820283011115613f8457613f8361564a565b5b9250929050565b60008083601f840112613fa157613fa0615645565b5b8235905067ffffffffffffffff811115613fbe57613fbd615640565b5b602083019150836001820283011115613fda57613fd961564a565b5b9250929050565b600081359050613ff081615bf2565b92915050565b60008135905061400581615c09565b92915050565b60006020828403121561402157614020615654565b5b600061402f84828501613eb5565b91505092915050565b60006020828403121561404e5761404d615654565b5b600061405c84828501613f20565b91505092915050565b60008060006060848603121561407e5761407d615654565b5b600061408c86828701613f20565b935050602061409d86828701613eb5565b92505060406140ae86828701613ff6565b9150509250925092565b600080604083850312156140cf576140ce615654565b5b60006140dd85828601613f20565b92505060206140ee85828601613ff6565b9150509250929050565b60008060006060848603121561411157614110615654565b5b600061411f86828701613f20565b935050602061413086828701613ff6565b925050604061414186828701613eb5565b9150509250925092565b6000806000806080858703121561416557614164615654565b5b600061417387828801613f20565b945050602061418487828801613ff6565b935050604061419587828801613eb5565b92505060606141a687828801613eb5565b91505092959194509250565b6000806000806000608086880312156141ce576141cd615654565b5b60006141dc88828901613f20565b95505060206141ed88828901613ff6565b94505060406141fe88828901613eb5565b935050606086013567ffffffffffffffff81111561421f5761421e61564f565b5b61422b88828901613f35565b92509250509295509295909350565b6000806000806060858703121561425457614253615654565b5b600061426287828801613f20565b945050602061427387828801613ff6565b935050604085013567ffffffffffffffff8111156142945761429361564f565b5b6142a087828801613eca565b925092505092959194509250565b600080600080608085870312156142c8576142c7615654565b5b60006142d687828801613f20565b94505060206142e787828801613ff6565b93505060406142f887828801613f20565b925050606061430987828801613f20565b91505092959194509250565b6000806000806060858703121561432f5761432e615654565b5b600061433d87828801613f20565b945050602061434e87828801613ff6565b935050604085013567ffffffffffffffff81111561436f5761436e61564f565b5b61437b87828801613f35565b925092505092959194509250565b600080600080608085870312156143a3576143a2615654565b5b60006143b187828801613f20565b94505060206143c287828801613ff6565b93505060406143d387828801613fe1565b92505060606143e487828801613fe1565b91505092959194509250565b60008060008060006060868803121561440c5761440b615654565b5b600086013567ffffffffffffffff81111561442a5761442961564f565b5b61443688828901613f8b565b9550955050602086013567ffffffffffffffff8111156144595761445861564f565b5b61446588828901613f8b565b9350935050604061447888828901613f20565b9150509295509295909350565b60006020828403121561449b5761449a615654565b5b60006144a984828501613ff6565b91505092915050565b60006144be83836144ca565b60208301905092915050565b6144d381615444565b82525050565b6144e281615444565b82525050565b60006144f483856153a4565b93506144ff8261533e565b8060005b858110156145385761451582846153f9565b61451f88826144b2565b975061452a83615379565b925050600181019050614503565b5085925050509392505050565b600061455082615358565b61455a8185615393565b935061456583615348565b8060005b8381101561459657815161457d88826144b2565b975061458883615386565b925050600181019050614569565b5085935050505092915050565b6145ac81615456565b82525050565b6145bb81615462565b82525050565b6145ca81615462565b82525050565b60006145dc83856153c6565b93506145e98385846154c7565b6145f283615659565b840190509392505050565b600061460882615363565b61461281856153b5565b93506146228185602086016154d6565b61462b81615659565b840191505092915050565b600061464182615363565b61464b81856153c6565b935061465b8185602086016154d6565b61466481615659565b840191505092915050565b600061467b83856153e8565b93506146888385846154c7565b61469183615659565b840190509392505050565b60006146a78261536e565b6146b181856153d7565b93506146c18185602086016154d6565b6146ca81615659565b840191505092915050565b60006146e26016836153e8565b91506146ed8261566a565b602082019050919050565b6000614705601b836153e8565b915061471082615693565b602082019050919050565b60006147286023836153e8565b9150614733826156bc565b604082019050919050565b600061474b602d836153e8565b91506147568261570b565b604082019050919050565b600061476e6013836153e8565b91506147798261575a565b602082019050919050565b6000614791601a836153e8565b915061479c82615783565b602082019050919050565b60006147b46015836153e8565b91506147bf826157ac565b602082019050919050565b60006147d76042836153e8565b91506147e2826157d5565b606082019050919050565b60006147fa601d836153e8565b91506148058261584a565b602082019050919050565b600061481d602e836153e8565b915061482882615873565b604082019050919050565b60006148406014836153e8565b915061484b826158c2565b602082019050919050565b60006148636029836153e8565b915061486e826158eb565b604082019050919050565b6000614886601d836153e8565b91506148918261593a565b602082019050919050565b60006148a96006836153e8565b91506148b482615963565b602082019050919050565b60006148cc601c836153e8565b91506148d78261598c565b602082019050919050565b60006148ef6021836153e8565b91506148fa826159b5565b604082019050919050565b60006149126016836153e8565b915061491d82615a04565b602082019050919050565b60006149356026836153e8565b915061494082615a2d565b604082019050919050565b60006149586004836153e8565b915061496382615a7c565b602082019050919050565b600061497b6008836153e8565b915061498682615aa5565b602082019050919050565b600061499e600a836153e8565b91506149a982615ace565b602082019050919050565b60006149c1601b836153e8565b91506149cc82615af7565b602082019050919050565b60006149e4600f836153e8565b91506149ef82615b20565b602082019050919050565b6000614a076016836153e8565b9150614a1282615b49565b602082019050919050565b6000614a2a6006836153e8565b9150614a3582615b72565b602082019050919050565b6000614a4d6019836153e8565b9150614a5882615b9b565b602082019050919050565b604082016000820151614a7960008501826145b2565b506020820151614a8c60208501826145b2565b50505050565b600060a083016000830151614aaa6000860182614c1b565b506020830151614abd6020860182614c0c565b506040830151614ad06040860182614c0c565b506060830151614ae36060860182614c39565b5060808301518482036080860152614afb8282614545565b9150508091505092915050565b60006080830160008301518482036000860152614b2582826145fd565b91505060208301518482036020860152614b3f82826145fd565b91505060408301518482036040860152614b5982826145fd565b91505060608301518482036060860152614b7382826145fd565b9150508091505092915050565b600060a083016000830151614b9860008601826144ca565b5060208301518482036020860152614bb0828261469c565b91505060408301518482036040860152614bca828261469c565b9150506060830151614bdf60608601826145b2565b506080830151614bf26080860182614c1b565b508091505092915050565b614c068161548c565b82525050565b614c1581615496565b82525050565b614c24816154a6565b82525050565b614c33816154a6565b82525050565b614c42816154ba565b82525050565b6000602082019050614c5d60008301846144d9565b92915050565b6000602082019050614c7860008301846145a3565b92915050565b6000602082019050614c9360008301846145c1565b92915050565b6000608082019050614cae60008301896145c1565b8181036020830152614cc181878961466f565b90508181036040830152614cd681858761466f565b9050614ce560608301846145c1565b979650505050505050565b6000604082019050614d0560008301856145c1565b614d126020830184614c2a565b9392505050565b600060c082019050614d2e60008301896145c1565b614d3b6020830188614c2a565b614d4860408301876144d9565b614d5560608301866144d9565b8181036080830152614d668161489c565b905081810360a0830152614d7b8184866145d0565b9050979650505050505050565b600060c082019050614d9d60008301896145c1565b614daa6020830188614c2a565b614db760408301876144d9565b614dc460608301866144d9565b8181036080830152614dd58161494b565b905081810360a0830152614dea8184866145d0565b9050979650505050505050565b600060c082019050614e0c60008301896145c1565b614e196020830188614c2a565b614e2660408301876144d9565b614e3360608301866144d9565b8181036080830152614e448161496e565b905081810360a0830152614e598184866145d0565b9050979650505050505050565b600060c082019050614e7b60008301896145c1565b614e886020830188614c2a565b614e9560408301876144d9565b614ea260608301866144d9565b8181036080830152614eb381614991565b905081810360a0830152614ec88184866145d0565b9050979650505050505050565b600060c082019050614eea60008301896145c1565b614ef76020830188614c2a565b614f0460408301876144d9565b614f1160608301866144d9565b8181036080830152614f2281614a1d565b905081810360a0830152614f378184866145d0565b9050979650505050505050565b6000606082019050614f5960008301876145c1565b614f666020830186614c2a565b8181036040830152614f798184866144e8565b905095945050505050565b60006020820190508181036000830152614f9e8184614636565b905092915050565b60006020820190508181036000830152614fbf816146d5565b9050919050565b60006020820190508181036000830152614fdf816146f8565b9050919050565b60006020820190508181036000830152614fff8161471b565b9050919050565b6000602082019050818103600083015261501f8161473e565b9050919050565b6000602082019050818103600083015261503f81614761565b9050919050565b6000602082019050818103600083015261505f81614784565b9050919050565b6000602082019050818103600083015261507f816147a7565b9050919050565b6000602082019050818103600083015261509f816147ca565b9050919050565b600060208201905081810360008301526150bf816147ed565b9050919050565b600060208201905081810360008301526150df81614810565b9050919050565b600060208201905081810360008301526150ff81614833565b9050919050565b6000602082019050818103600083015261511f81614856565b9050919050565b6000602082019050818103600083015261513f81614879565b9050919050565b6000602082019050818103600083015261515f816148bf565b9050919050565b6000602082019050818103600083015261517f816148e2565b9050919050565b6000602082019050818103600083015261519f81614905565b9050919050565b600060208201905081810360008301526151bf81614928565b9050919050565b600060208201905081810360008301526151df816149b4565b9050919050565b600060208201905081810360008301526151ff816149d7565b9050919050565b6000602082019050818103600083015261521f816149fa565b9050919050565b6000602082019050818103600083015261523f81614a40565b9050919050565b600060408201905061525b6000830184614a63565b92915050565b6000602082019050818103600083015261527b8184614a92565b905092915050565b6000602082019050818103600083015261529d8184614b08565b905092915050565b600060208201905081810360008301526152bf8184614b80565b905092915050565b60006080820190506152dc6000830188614bfd565b6152e960208301876144d9565b81810360408301526152fc81858761466f565b905061530b60608301846145c1565b9695505050505050565b600060408201905061532a6000830185614c2a565b6153376020830184614c2a565b9392505050565b6000819050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006154086020840184613eb5565b905092915050565b600061541b8261548c565b91506154268361548c565b92508282101561543957615438615584565b5b828203905092915050565b600061544f8261546c565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156154f45780820151818401526020810190506154d9565b83811115615503576000848401525b50505050565b6000600282049050600182168061552157607f821691505b60208210811415615535576155346155e2565b5b50919050565b60006155468261548c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561557957615578615584565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f6e6f7420696e2075706c6f616420737320706861736500000000000000000000600082015250565b7f6e6f7420696e207365637265742073686172696e672070686173650000000000600082015250565b7f63616e6e6f742075706c6f616420736b6d61736b206d756c7469706c6520746960008201527f6d65730000000000000000000000000000000000000000000000000000000000602082015250565b7f63616e6e6f742075706c6f616420776569676874436f6d6d69746d656e74206d60008201527f756c7469706c652074696d657300000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b7f546865205461736b20526f756e64204d75737420657869737473000000000000600082015250565b7f6a6f696e20706861736520686173207061737365640000000000000000000000600082015250565b7f74686520726f756e6420686173206265656e20616c726561647920737461727460008201527f6564206f72207468652070726520726f756e6420646f6573206e6f742065786960208201527f7374000000000000000000000000000000000000000000000000000000000000604082015250565b7f5468697320726f756e64206973206e6f742072756e6e696e67206e6f77000000600082015250565b7f636f6d6d69746d656e74206c656e6774682065786365656473206c696d69742060008201527f6f7220697420697320656d707479000000000000000000000000000000000000602082015250565b7f43616e646964617465206d757374206578697374000000000000000000000000600082015250565b7f43616e6e6f74206a6f696e207468652073616d6520726f756e64206d756c746960008201527f706c652074696d65730000000000000000000000000000000000000000000000602082015250565b7f4d7573742063616c6c656420627920746865207461736b206f776e6572000000600082015250565b7f5745494748540000000000000000000000000000000000000000000000000000600082015250565b7f6d7573742075706c6f616420636f6d6d69746d656e7420666972737400000000600082015250565b7f63616e6e6f742075706c6f61642073656564206d756c7469706c652074696d6560008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f7420696e2075706c6f6164696e6720706861736500000000000000000000600082015250565b7f63616e6e6f742075706c6f6164207365656420636d6d74206d756c7469706c6560008201527f2074696d65730000000000000000000000000000000000000000000000000000602082015250565b7f5345454400000000000000000000000000000000000000000000000000000000600082015250565b7f53454544434d4d54000000000000000000000000000000000000000000000000600082015250565b7f534b4d41534b434d4d5400000000000000000000000000000000000000000000600082015250565b7f43616c63756c6174696e6720686173206e6f7420737461727465640000000000600082015250565b7f5461736b206e6f74206578697374730000000000000000000000000000000000600082015250565b7f4d7573742070726f766964652061646472657373657300000000000000000000600082015250565b7f534b4d41534b0000000000000000000000000000000000000000000000000000600082015250565b7f7468697320726f756e6420646f6573206e6f7420657869737400000000000000600082015250565b615bcd81615444565b8114615bd857600080fd5b50565b615be481615462565b8114615bef57600080fd5b50565b615bfb81615496565b8114615c0657600080fd5b50565b615c12816154a6565b8114615c1d57600080fd5b5056fea26469706673582212206968eab599669bcd1fc7622f65f83e91feac8fef75cbdfa7e24dcee952bdf0fa64736f6c63430008060033", - "txHash": "0x6b57333303f9effe46bb123054c72b28d6cd1fbb08d61b5271174cedfd11e1ac", - "receipt": { - "transactionHash": "0x6b57333303f9effe46bb123054c72b28d6cd1fbb08d61b5271174cedfd11e1ac", - "transactionIndex": 0, - "blockHash": "0xfd46fe8b5e3bc59b861fcd48ce193c060f3666b15c8efba06c799d84757d768b", - "blockNumber": 138, - "from": "0x4cedc9148aa38cc9636ddec16a7a0bdc3c0c756f", - "to": null, - "gasUsed": 5181571, - "cumulativeGasUsed": 5181571, - "contractAddress": "0x1185d3Eeaa3717A0Ba9DA6564DACB70109f3ea9C", - "logs": [ - { - "logIndex": 0, - "transactionIndex": 0, - "transactionHash": "0x6b57333303f9effe46bb123054c72b28d6cd1fbb08d61b5271174cedfd11e1ac", - "blockHash": "0xfd46fe8b5e3bc59b861fcd48ce193c060f3666b15c8efba06c799d84757d768b", - "blockNumber": 138, - "address": "0x1185d3Eeaa3717A0Ba9DA6564DACB70109f3ea9C", - "data": "0x", - "topics": [ - "0x342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000004cedc9148aa38cc9636ddec16a7a0bdc3c0c756f" - ], - "type": "mined", - "id": "log_5e7b569e" - } + ], + "src": "19313:9:0" + }, + "scope": 1638, + "src": "19271:81:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } ], - "status": true, - "logsBloom": "0x00000000000000000000080000000000000000000400002000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000800000000000000000000000000000000000000000040000000000000000020000000000000000000000000000000000000000000000000000000000000000000" + "scope": 1639, + "src": "134:19220:0", + "usedErrors": [] + } + ], + "src": "37:19317:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": { + "1637583405163": { + "events": {}, + "links": {}, + "address": "0xA7E337B441190057D8974c47f93A929aB302dA91", + "transactionHash": "0x7487d3e7ca63bd15dc9bb490e6d7b87418e93904601a0efdaeb6d3eccaea9128" } + }, + "schemaVersion": "3.4.3", + "updatedAt": "2021-11-22T12:17:13.910Z", + "networkType": "ethereum", + "devdoc": { + "details": "Delta Contract For Mpc", + "kind": "dev", + "methods": { + "changeOwner(address)": { + "details": "Change owner", + "params": { + "newOwner": "address of new owner" + } + }, + "constructor": { + "details": "Set contract deployer as owner" + }, + "createTask(string,string,bytes32)": { + "details": "called by task developer, notifying all clients that a new learning task has been published ", + "params": { + "commitment": "training code hash (client validation purpose)", + "dataSet": "data set name (file/folder name of training data)" + }, + "returns": { + "taskId": "taskId" + } + }, + "endRound(bytes32,uint64)": { + "details": "called by task developer, close round", + "params": { + "round": "the task round", + "taskId": "taskId" + } + }, + "getClientPublickeys(bytes32,uint64,address)": { + "details": "called by anyone, get Client Pks", + "returns": { + "candidate": " (pk1,pk2)" + } + }, + "getOwner()": { + "details": "Return owner address ", + "returns": { + "_0": "address of owner" + } + }, + "getResultCommitment(bytes32,address,uint64)": { + "details": "called by task developer, get commitments from blockchain(Server has to call this method for every clients to get their commiments as the return value couldn't contain mapping type in solidity(damn it))", + "params": { + "clientaddress": "the client that publish the commitments ", + "round": "the round of that commitment", + "taskId": "taskId" + }, + "returns": { + "commitment": "commitment data" + } + }, + "getSecretSharingData(bytes32,uint64,address,address)": { + "details": "called by any participants" + }, + "getTaskData(bytes32)": { + "details": "get task info data", + "params": { + "taskId": "taskId" + } + }, + "getTaskRound(bytes32,uint64)": { + "details": "getting task round infos", + "params": { + "round": "the round to fetch", + "taskId": "taskId" + }, + "returns": { + "taskround": "the task round infos" + } + }, + "joinRound(bytes32,uint64,bytes32,bytes32)": { + "details": "called by client, join for that round of computation", + "params": { + "pk1": "used for secure communication channel establishment", + "pk2": "used for mask generation", + "round": "the round to join", + "taskId": "taskId" + } + }, + "selectCandidates(bytes32,uint64,address[])": { + "details": "called by task developer, randomly choose candidates to be computation nodesclients now should start secret sharing phase ", + "params": { + "addrs": "selected client addresses" + } + }, + "startAggregate(bytes32,uint64,address[])": { + "details": "called by task developer, notifying all participants that the ss and gradient transfer phase has finishedclient now should send corresponded ss share pieces to task developer according to the online status given by the task developer", + "params": { + "onlineClients": "clients that has transfered gradient to task developer", + "round": "the task round", + "taskId": "taskId" + } + }, + "startCalculate(bytes32,uint64,address[])": { + "details": "called by task developer, notifying all participants that the secret sharing phase is finished to transfer masked gradient to task server", + "params": { + "round": "the task round", + "taskId": "taskId" + } + }, + "startRound(bytes32,uint64,uint32,uint32)": { + "details": "called by task developer, notifying all clients that a new computing round is started and open for joining", + "params": { + "round": "the round to start", + "taskId": "taskId" + } + }, + "uploadResultCommitment(bytes32,uint64,bytes)": { + "details": "called by client, upload weight commitment", + "params": { + "resultCommitment": "masked model incremental commitment", + "round": "the task round", + "taskId": "taskId" + } + }, + "uploadSecretKeyCommitment(bytes32,uint64,address,bytes)": { + "details": "called by client, upload secret sharing sk commitment", + "params": { + "round": "the task round", + "secretKeyCommitment": "secret sharing piece of seed mask", + "sharee": "the sharee address", + "taskId": "taskId" + } + }, + "uploadSecretkeyMask(bytes32,uint64,address,bytes)": { + "details": "called by client, upload secret sharing sk commitment", + "params": { + "owner": "the owner address", + "round": "the task round", + "secretkeyMask": "the crypted skmask", + "taskId": "taskId" + } + }, + "uploadSeed(bytes32,uint64,address,bytes)": { + "details": "called by client, upload secret sharing seed commitment", + "params": { + "round": "the task round", + "seed": "the seed piece", + "sharee": "the sharee address", + "taskId": "taskId" + } + }, + "uploadSeedCommitment(bytes32,uint64,address,bytes)": { + "details": "called by client, upload secret sharing seed commitment", + "params": { + "round": "the task round", + "seedCommitment": "secret sharing piece of seed mask", + "sharee": "the sharee address", + "taskId": "taskId" + } + } + }, + "title": "Delta Contract", + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } } \ No newline at end of file diff --git a/package.json b/package.json index 2c42e67..a98d403 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "scripts": { "build:proto": "$(npm bin)/proto-loader-gen-types --defaults --oneofs --grpcLib=@grpc/grpc-js -O src/service src/service/*.proto", "serve": "ts-node --cwd-mode src/server.ts | bunyan", - "test": "mocha -r ts-node/register 'src/**/*.test.ts'", - "test:debug": "mocha --inspect -r ts-node/register 'src/**/*.test.ts'", + "test": "mocha -r ts-node/register --exit 'src/**/*.test.ts'", + "test:debug": "mocha --inspect -r ts-node/register --exit 'src/**/*.test.ts'", "format": "prettier -w 'src/**/*.ts'" }, "repository": { diff --git a/src/config.ts b/src/config.ts index 1d7e5a5..5d52441 100644 --- a/src/config.ts +++ b/src/config.ts @@ -29,8 +29,8 @@ interface Config { gasPrice: number, gasLimit: number, chainParam: { - name: string, - chainId: number, + name?: string, + chainId?: number, } } } diff --git a/src/impl/chain/index.ts b/src/impl/chain/index.ts new file mode 100644 index 0000000..6261f89 --- /dev/null +++ b/src/impl/chain/index.ts @@ -0,0 +1 @@ +export * from "./service"; diff --git a/src/impl/chain/service.test.ts b/src/impl/chain/service.test.ts new file mode 100644 index 0000000..8cf39c3 --- /dev/null +++ b/src/impl/chain/service.test.ts @@ -0,0 +1,241 @@ +import * as chai from "chai"; +import chaiAsPromised from "chai-as-promised"; +import { impl, ImplOption } from "."; +import * as crypto from "crypto"; +import { + Event, + RoundStartedEvent, + TaskCreatedEvent, + PartnerSelectedEvent, + CalculationStartedEvent, + AggregationStartedEvent, + RoundEndedEvent, +} from ".."; +import { Readable } from "stream"; + +chai.use(chaiAsPromised); + +const assert = chai.assert; + +describe("chain service", function () { + const opt: ImplOption = { + contractAddress: "0xA7E337B441190057D8974c47f93A929aB302dA91", + nodeAddress: "0x29E369a0eCdB439d3e42C955134ff4DF1894b32b", + privateKey: "0x90a7f38ec7d0c2ab9b1302d0d99b485dc31e3dace206860258b5fe8f696b21ad", + provider: "http://127.0.0.1:8545", + abiFile: "DeltaContract.json", + gasPrice: 1, + gasLimit: 6721975, + chainParam: { + chainId: 1337, + }, + }; + + let stream: Readable; + const events: Event[] = []; + before(async function () { + await impl.init(opt); + stream = impl.subscribe(); + stream.on("data", (event: Event) => { + events.push(event); + }); + }); + + after(function () { + impl.unsubscribe(stream); + }); + + let taskID: string; + const taskCommitment = "0x" + crypto.randomBytes(32).toString("hex"); + describe("createTask", function () { + it("create first task", async function () { + taskID = await impl.createTask(opt.nodeAddress, "mnist", taskCommitment); + assert.strictEqual(taskID.slice(0, 2), "0x"); + assert.lengthOf(taskID, 66); + }); + }); + + const round = 1; + describe("startRound", function () { + it("start round 1", async function () { + await impl.startRound(opt.nodeAddress, taskID, round); + }); + }); + + const pk1 = "0x" + crypto.randomBytes(32).toString("hex"); + const pk2 = "0x" + crypto.randomBytes(32).toString("hex"); + describe("joinRound", function () { + it("join round 1", async function () { + await impl.joinRound(opt.nodeAddress, taskID, round, pk1, pk2); + }); + }); + + describe("getTaskRound", function () { + it("getTaskRound 1", async function () { + const info = await impl.getTaskRound(taskID, round); + assert.strictEqual(info.round, 1); + assert.include(info.clients, opt.nodeAddress); + assert.lengthOf(info.clients, 1); + assert.strictEqual(info.status, 0); + }); + }); + + describe("selectCandidates", function () { + it("selectCandidates", async function () { + await impl.selectCandidates(opt.nodeAddress, taskID, round, [opt.nodeAddress]); + assert.isRejected( + impl.selectCandidates(opt.nodeAddress, taskID, round, [ + opt.nodeAddress, + "0x8Caf33d112b4695f630c2E80E41Fc0336470b3b1", + ]) + ); + + const info = await impl.getTaskRound(taskID, round); + assert.strictEqual(info.status, 1); + }); + }); + + const seedCommitment = "0x" + crypto.randomBytes(32).toString("hex"); + describe("uploadSeedCommitment", function () { + it("uploadSeedCommitment", async function () { + await impl.uploadSeedCommitment(opt.nodeAddress, taskID, round, opt.nodeAddress, seedCommitment); + }); + }); + + const secretKeyCommitment = "0x" + crypto.randomBytes(32).toString("hex"); + describe("uploadSecretKeyCommitment", function () { + it("uploadSecretKeyCommitment", async function () { + await impl.uploadSecretKeyCommitment( + opt.nodeAddress, + taskID, + round, + opt.nodeAddress, + secretKeyCommitment + ); + }); + }); + + describe("getClientPublickKeys", function () { + it("getClientPublickKeys", async function () { + const [recvPK1, recvPK2] = await impl.getClientPublickKeys(taskID, round, opt.nodeAddress); + assert.strictEqual(recvPK1, pk1); + assert.strictEqual(recvPK2, pk2); + }); + }); + + describe("startCalculation", function () { + it("startCalculation", async function () { + await impl.startCalculation(opt.nodeAddress, taskID, round, [opt.nodeAddress]); + assert.isRejected( + impl.startCalculation(opt.nodeAddress, taskID, round, [ + opt.nodeAddress, + "0x8Caf33d112b4695f630c2E80E41Fc0336470b3b1", + ]) + ); + + const info = await impl.getTaskRound(taskID, round); + assert.strictEqual(info.status, 2); + }); + }); + + const resultCommitment = "0x" + crypto.randomBytes(32).toString("hex"); + describe("resultCommitment", function () { + it("upload and get resultCommitment", async function () { + await impl.uploadResultCommitment(opt.nodeAddress, taskID, round, resultCommitment); + const cm = await impl.getResultCommitment(taskID, round, opt.nodeAddress); + assert.strictEqual(cm, resultCommitment); + }); + }); + + describe("startAggregation", function () { + it("startAggregation", async function () { + await impl.startAggregation(opt.nodeAddress, taskID, round, [opt.nodeAddress]); + assert.isRejected( + impl.startAggregation(opt.nodeAddress, taskID, round, [ + opt.nodeAddress, + "0x8Caf33d112b4695f630c2E80E41Fc0336470b3b1", + ]) + ); + + const info = await impl.getTaskRound(taskID, round); + assert.strictEqual(info.status, 3); + }); + }); + + const seed = "0x" + crypto.randomBytes(32).toString("hex"); + describe("uploadSeed", function () { + it("uploadSeed", async function () { + await impl.uploadSeed(opt.nodeAddress, taskID, round, opt.nodeAddress, seed); + }); + }); + + const secretKey = "0x" + crypto.randomBytes(32).toString("hex"); + describe("uploadSecretKey", function () { + it("uploadSecretKey", async function () { + await impl.uploadSecretKey(opt.nodeAddress, taskID, round, opt.nodeAddress, secretKey); + }); + }); + + describe("getSecretShareData", function () { + it("getSecretShareData", async function () { + const data = await impl.getSecretShareData(taskID, round, opt.nodeAddress, opt.nodeAddress); + assert.strictEqual(data.seed, seed); + assert.strictEqual(data.seedCommitment, seedCommitment); + assert.strictEqual(data.secretKey, secretKey); + assert.strictEqual(data.secretKeyCommitment, secretKeyCommitment); + }); + }); + + describe("endRound", function () { + it("endRound", async function () { + await impl.endRound(opt.nodeAddress, taskID, round); + + const info = await impl.getTaskRound(taskID, round); + assert.strictEqual(info.round, 1); + assert.strictEqual(info.status, 4); + }); + }); + + describe("subscribe", function () { + it("events", function () { + assert.lengthOf(events, 6); + assert.strictEqual(events[0].type, "TaskCreated"); + const event0 = events[0] as TaskCreatedEvent; + assert.strictEqual(event0.address, opt.nodeAddress); + assert.strictEqual(event0.taskID, taskID); + assert.strictEqual(event0.dataset, "mnist"); + assert.strictEqual(event0.commitment, taskCommitment); + + assert.strictEqual(events[1].type, "RoundStarted"); + const event1 = events[1] as RoundStartedEvent; + assert.strictEqual(event1.taskID, taskID); + assert.strictEqual(event1.round, round); + + assert.strictEqual(events[2].type, "PartnerSelected"); + const event2 = events[2] as PartnerSelectedEvent; + assert.strictEqual(event2.taskID, taskID); + assert.strictEqual(event2.round, round); + assert.lengthOf(event2.addrs, 1); + assert.include(event2.addrs, opt.nodeAddress); + + assert.strictEqual(events[3].type, "CalculationStarted"); + const event3 = events[3] as CalculationStartedEvent; + assert.strictEqual(event3.taskID, taskID); + assert.strictEqual(event3.round, round); + assert.lengthOf(event3.addrs, 1); + assert.include(event3.addrs, opt.nodeAddress); + + assert.strictEqual(events[4].type, "AggregationStarted"); + const event4 = events[4] as AggregationStartedEvent; + assert.strictEqual(event4.taskID, taskID); + assert.strictEqual(event4.round, round); + assert.lengthOf(event4.addrs, 1); + assert.include(event4.addrs, opt.nodeAddress); + + assert.strictEqual(events[5].type, "RoundEnded"); + const event5 = events[5] as RoundEndedEvent; + assert.strictEqual(event5.taskID, taskID); + assert.strictEqual(event5.round, round); + }); + }); +}); diff --git a/src/impl/chain/service.ts b/src/impl/chain/service.ts index d9b1bcd..bd450af 100644 --- a/src/impl/chain/service.ts +++ b/src/impl/chain/service.ts @@ -5,6 +5,7 @@ import { config } from "src/config"; import log from "src/log"; import { Readable } from "stream"; import Web3 from "web3"; +import { sha3 } from "web3-utils"; import { Log, provider } from "web3-core"; import { TransactionReceipt } from "web3-eth"; import { Contract, EventData } from "web3-eth-contract"; @@ -12,6 +13,20 @@ import { AbiItem } from "web3-utils"; import { Event, Subscriber } from ".."; import { Impl, NodeInfo, SecretShareData, TaskRoundInfo } from "../service"; +export interface ImplOption { + contractAddress: string; + nodeAddress: string; + privateKey: string; + provider: string; + abiFile: string; + gasPrice: number; + gasLimit: number; + chainParam: { + name?: string; + chainId?: number; + }; +} + interface gasOption { gasPrice?: number; gasLimit?: number; @@ -21,35 +36,51 @@ interface Abi extends AbiItem { signature?: string; } -type Mixed = { [key: string | number]: string } | string; +type Mixed = { [key: string | number]: string | any } | string; class _Impl implements Impl { private subscriber = new Subscriber(); + private option!: ImplOption; private web3: Web3 = new Web3(); private contract!: Contract; - private contractAddress!: string; - private abis!: Abi[]; + private abis: Abi[] = []; + private serverUrl = "127.0.0.1:6800"; - async init(): Promise { - const provider = await this.connect(); + async init(opt?: ImplOption): Promise { + this.option = opt || config.chain; + if (this.option.privateKey.startsWith("0x")) { + this.option.privateKey = this.option.privateKey.slice(2); + } + const provider = await this.connect(this.option.provider); this.web3.setProvider(provider); - const file = await fs.readFile(config.chain.abiFile, { encoding: "utf-8" }); + const file = await fs.readFile(this.option.abiFile, { encoding: "utf-8" }); const jsonInterface = JSON.parse(file); - this.abis = jsonInterface.abi; - this.contractAddress = config.chain.nodeAddress; - this.contract = new this.web3.eth.Contract(this.abis, this.contractAddress); + const abis: AbiItem[] = jsonInterface.abi; + for (const abi of abis) { + if (abi.type === "event") { + const signature = abi.name + "(" + abi.inputs!.map((input) => input.type).join(",") + ")"; + const hash = sha3(signature); + this.abis.push({ ...abi, signature: hash || undefined }); + } else { + this.abis.push(abi); + } + } + this.contract = new this.web3.eth.Contract(this.abis, this.option.contractAddress); + this.listenEvents(); + } + listenEvents(): void { this.contract.events.allEvents({ fromBlock: "latest" }).on("data", (event: EventData) => { const res = event.returnValues; let retEvent: Event; switch (event.event) { - case "AggregatStarted": + case "AggregateStarted": retEvent = { type: "AggregationStarted", taskID: res.taskId, round: Number(res.round), - addrs: JSON.parse(res.addrs), + addrs: res.addrs, }; this.subscriber.publish(retEvent); break; @@ -58,7 +89,7 @@ class _Impl implements Impl { type: "CalculationStarted", taskID: res.taskId, round: Number(res.round), - addrs: JSON.parse(res.addrs), + addrs: res.addrs, }; this.subscriber.publish(retEvent); break; @@ -67,7 +98,7 @@ class _Impl implements Impl { type: "PartnerSelected", taskID: res.taskId, round: Number(res.round), - addrs: JSON.parse(res.addrs), + addrs: res.addrs, }; this.subscriber.publish(retEvent); break; @@ -102,8 +133,8 @@ class _Impl implements Impl { }); } - async connect(): Promise { - const provider = new Web3.providers.WebsocketProvider(config.chain.provider, { + async connect(url: string): Promise { + const provider = new Web3.providers.WebsocketProvider(url, { reconnect: { auto: true, delay: 5000, @@ -131,25 +162,25 @@ class _Impl implements Impl { const method = this.contract.methods[name](...args); const data = method.encodeABI(); - const gasPrice = gasOpt?.gasPrice || config.chain.gasPrice; - const gasLimit = gasOpt?.gasLimit || config.chain.gasLimit; + const gasPrice = gasOpt?.gasPrice || this.option.gasPrice; + const gasLimit = gasOpt?.gasLimit || this.option.gasLimit; if (nonce === 0) { - nonce = await this.web3.eth.getTransactionCount(config.chain.nodeAddress); + nonce = await this.web3.eth.getTransactionCount(this.option.nodeAddress); } const tra = { data: data, - from: config.chain.nodeAddress, - to: this.contractAddress, + from: this.option.nodeAddress, + to: this.option.contractAddress, gasPrice: "0x" + gasPrice.toString(16), gasLimit: "0x" + gasLimit.toString(16), nonce: this.web3.utils.toHex(nonce), }; - const key = Buffer.from(config.chain.privateKey, "hex"); + const key = Buffer.from(this.option.privateKey, "hex"); const tx = TransactionFactory.fromTxData(tra, { - common: common.custom(config.chain.chainParam), + common: common.custom(this.option.chainParam), }); const serializedTx = "0x" + tx.sign(key).serialize().toString("hex"); return new Promise((resolve, reject) => { @@ -190,7 +221,7 @@ class _Impl implements Impl { async call(name: string, args: any[] = []): Promise { const method = this.contract.methods[name](...args); - const res = await method.call({ from: config.chain.nodeAddress }); + const res = await method.call({ from: this.option.nodeAddress }); return res; } @@ -204,28 +235,28 @@ class _Impl implements Impl { } async updateUrl(address: string, url: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } await this.method("updateUrl", [url]); } async updateName(address: string, name: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } await this.method("updateName", [name]); } async leave(address: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } await this.method("leave"); } async getNodeInfo(address: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -240,11 +271,11 @@ class _Impl implements Impl { } async createTask(address: string, dataset: string, commitment: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } - const receipt = await this.method("createTask", [dataset, commitment]); + const receipt = await this.method("createTask", [this.serverUrl, dataset, commitment]); const res = this.decodeLogs(receipt.logs); if (!res) { throw new Error("createTask has no result"); @@ -253,15 +284,15 @@ class _Impl implements Impl { } async startRound(address: string, taskID: string, round: number): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } - await this.method("startRound", [taskID, round]); + await this.method("startRound", [taskID, round, 100, 1]); } async joinRound(address: string, taskID: string, round: number, pk1: string, pk2: string): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -277,12 +308,12 @@ class _Impl implements Impl { return { round: Number(res.currentRound), status: Number(res.status), - clients: JSON.parse(res.joinedAddrs), + clients: res.joinedAddrs, }; } async selectCandidates(address: string, taskID: string, round: number, clients: string[]): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -296,7 +327,7 @@ class _Impl implements Impl { receiver: string, commitment: string ): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -310,7 +341,7 @@ class _Impl implements Impl { receiver: string, commitment: string ): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -327,7 +358,7 @@ class _Impl implements Impl { } async startCalculation(address: string, taskID: string, round: number, clients: string[]): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -340,7 +371,7 @@ class _Impl implements Impl { round: number, commitment: string ): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -357,7 +388,7 @@ class _Impl implements Impl { } async startAggregation(address: string, taskID: string, round: number, clients: string[]): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -371,7 +402,7 @@ class _Impl implements Impl { sender: string, seed: string ): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -385,7 +416,7 @@ class _Impl implements Impl { sender: string, secretKey: string ): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -412,7 +443,7 @@ class _Impl implements Impl { } async endRound(address: string, taskID: string, round: number): Promise { - if (address !== config.chain.nodeAddress) { + if (address !== this.option.nodeAddress) { throw new Error(`chain connector node address is not ${address}`); } @@ -428,3 +459,4 @@ class _Impl implements Impl { } } +export const impl = new _Impl(); diff --git a/src/impl/monkey/service.test.ts b/src/impl/monkey/service.test.ts index b9875b6..04da4df 100644 --- a/src/impl/monkey/service.test.ts +++ b/src/impl/monkey/service.test.ts @@ -1,8 +1,7 @@ -import { Options } from "@mikro-orm/core"; import * as chai from "chai"; import chaiAsPromised from "chai-as-promised"; import * as crypto from "crypto"; -import { impl } from "."; +import { impl, ImplOption } from "."; import { KeyType, RoundStatus, ShareType } from "../service"; import * as db from "./db"; import * as entity from "./entity"; @@ -13,7 +12,7 @@ const assert = chai.assert; describe("monkey service", function () { before(async function () { - const dbConfig: Options = { + const dbConfig: ImplOption = { type: "sqlite", dbName: "db/chain.test.db", entities: ["dist/impl/monkey/entity/**.js"], diff --git a/src/impl/monkey/service.ts b/src/impl/monkey/service.ts index 4bba64f..ce99ef5 100644 --- a/src/impl/monkey/service.ts +++ b/src/impl/monkey/service.ts @@ -1,3 +1,4 @@ +import { Options } from "@mikro-orm/core"; import { Readable } from "stream"; import { Event } from ".."; import { Subscriber } from "../event"; @@ -7,10 +8,14 @@ import dbConfig from "./db/config"; import * as entity from "./entity"; import { Key, RoundMember } from "./entity"; +export interface ImplOption extends Options { + dev?: boolean; +} + class _Impl implements Impl { private subscriber = new Subscriber(); - async init(cfg = dbConfig): Promise { + async init(cfg: ImplOption = dbConfig): Promise { await db.init(cfg); }