--- /dev/null +++ b/tests/src/eth/marketplace/MarketPlace.abi @@ -0,0 +1 @@ +[{"inputs":[{"internalType":"address","name":"_escrow","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currencyCode","type":"address"},{"indexed":false,"internalType":"address","name":"_idCollection","type":"address"},{"indexed":false,"internalType":"uint256","name":"_idNFT","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"AddedAsk","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_idCollection","type":"address"},{"indexed":false,"internalType":"uint256","name":"_idNFT","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderPrice","type":"uint256"}],"name":"BoughtNFT","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_idCollection","type":"address"},{"indexed":false,"internalType":"uint256","name":"_idNFT","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderID","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderPrice","type":"uint256"}],"name":"BoughtNFT4KSM","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_idCollection","type":"address"},{"indexed":false,"internalType":"uint256","name":"_idNFT","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"CanceledAsk","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"_sender","type":"address"}],"name":"DepositedKSM","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_price","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currencyCode","type":"address"},{"indexed":false,"internalType":"address","name":"_idCollection","type":"address"},{"indexed":false,"internalType":"uint256","name":"_idNFT","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"_active","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"EditedAsk","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"_currencyCode","type":"address"},{"indexed":false,"internalType":"address","name":"_sender","type":"address"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"}],"name":"WithdrawnAllKSM","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"address","name":"_currencyCode","type":"address"},{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"addAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asksbySeller","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceKSM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"buy","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"},{"internalType":"address","name":"_buyer","type":"address"},{"internalType":"address","name":"_receiver","type":"address"}],"name":"buyKSM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"cancelAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_sender","type":"address"}],"name":"depositKSM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"address","name":"_currencyCode","type":"address"},{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"},{"internalType":"uint8","name":"_active","type":"uint8"}],"name":"editAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"getOrder","outputs":[{"components":[{"internalType":"uint256","name":"idNFT","type":"uint256"},{"internalType":"address","name":"currencyCode","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"address","name":"idCollection","type":"address"},{"internalType":"address","name":"ownerAddr","type":"address"},{"internalType":"uint8","name":"flagActive","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"tokenURI","type":"string"}],"internalType":"struct MarketPlace.Order","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOrdersLen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"orders","outputs":[{"internalType":"uint256","name":"idNFT","type":"uint256"},{"internalType":"address","name":"currencyCode","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"address","name":"idCollection","type":"address"},{"internalType":"address","name":"ownerAddr","type":"address"},{"internalType":"uint8","name":"flagActive","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"tokenURI","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newEscrow","type":"address"}],"name":"setEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_coin","type":"address"}],"name":"setNativeCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newEscrow","type":"address"}],"name":"setowner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_currencyCode","type":"address"},{"internalType":"address payable","name":"_sender","type":"address"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"name":"withdrawAllKSM","outputs":[{"internalType":"uint256","name":"lastBalance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}] \ No newline at end of file --- /dev/null +++ b/tests/src/eth/marketplace/MarketPlace.bin @@ -0,0 +1 @@ +60806040523480156200001157600080fd5b506040516200293e3803806200293e833981016040819052620000349162000327565b600580546001600160a01b038084166001600160a01b03199283161790925560068054821633179055604080516101408101825260008082526020808301828152838501838152606085018481526080860185815260a0870186815260c0880187815289518088018b5288815260e08a019081528a518089018c528981526101008b01528a51808901909b52888b526101208a019a909a528754600181018955978052885160099098027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563810198895595517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56487018054918e16918d1691909117905593517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56586015591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566850155517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56784018054918b16919099161790975595517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56882018054975160ff16600160a01b026001600160a81b0319909816919098161795909517909555915180519194929362000239937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5699091019291019062000281565b5061010082015180516200025891600784019160209091019062000281565b5061012082015180516200027791600884019160209091019062000281565b5050505062000396565b8280546200028f9062000359565b90600052602060002090601f016020900481019282620002b35760008555620002fe565b82601f10620002ce57805160ff1916838001178555620002fe565b82800160010185558215620002fe579182015b82811115620002fe578251825591602001919060010190620002e1565b506200030c92915062000310565b5090565b5b808211156200030c576000815560010162000311565b6000602082840312156200033a57600080fd5b81516001600160a01b03811681146200035257600080fd5b9392505050565b600181811c908216806200036e57607f821691505b602082108114156200039057634e487b7160e01b600052602260045260246000fd5b50919050565b61259880620003a66000396000f3fe6080604052600436106101025760003560e01c806399f2d4eb11610095578063c10c354611610064578063c10c354614610221578063cce7ec1314610378578063e22d4f7d1461038b578063edb25841146103c3578063fd8868c7146103f057610184565b806399f2d4eb146102c5578063a85c38ef146102e5578063b460af941461031b578063b4c3e8ea1461034b57610184565b80636b084b25116100d15780636b084b2514610241578063791bd866146102615780638c088f001461028157806393cdd334146102a557610184565b806337c4eb58146101bf5780633ce61756146101e157806340b8074614610201578063592bd7051461022157610184565b366101845760405162461bcd60e51b815260206004820152604160248201527f43616e277420616363657074207061796d656e7420776974686f757420636f6c60448201527f6c656374696f6e20616e64204944732c20757365206441707020746f2073656e6064820152601960fa1b608482015260a4015b60405180910390fd5b60405162461bcd60e51b815260206004820152601060248201526f27379039bab1b410333ab731ba34b7b760811b604482015260640161017b565b3480156101cb57600080fd5b506101df6101da366004611fda565b610410565b005b3480156101ed57600080fd5b506101df6101fc366004612022565b610979565b34801561020d57600080fd5b506101df61021c366004612046565b6109c5565b34801561022d57600080fd5b506101df61023c366004612022565b610c27565b34801561024d57600080fd5b506101df61025c366004612072565b610c73565b34801561026d57600080fd5b506101df61027c3660046120d7565b610ee6565b34801561028d57600080fd5b506000545b6040519081526020015b60405180910390f35b3480156102b157600080fd5b506102926102c0366004612022565b610fb1565b3480156102d157600080fd5b506102926102e0366004612046565b61105e565b3480156102f157600080fd5b50610305610300366004612107565b61108f565b60405161029c9a9998979695949392919061217c565b34801561032757600080fd5b5061033b610336366004612209565b6112a0565b604051901515815260200161029c565b34801561035757600080fd5b50610292610366366004612022565b60026020526000908152604090205481565b61033b610386366004612046565b6113d2565b34801561039757600080fd5b506102926103a6366004612046565b600360209081526000928352604080842090915290825290205481565b3480156103cf57600080fd5b506103e36103de366004612046565b61181b565b60405161029c919061224b565b3480156103fc57600080fd5b506101df61040b36600461232b565b611b0c565b6040516331a9108f60e11b8152600481018290526000906001600160a01b03841690636352211e90602401602060405180830381865afa158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c919061237e565b90506001600160a01b03811633146104d65760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920746f6b656e206f776e65722063616e206d616b652061736b000000604482015260640161017b565b6060806060856001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801561053a57506040513d6000823e601f3d908101601f1916820160405261053791908101906123b1565b60015b61055557604051806020016040528060008152509250610558565b92505b856001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156105b757506040513d6000823e601f3d908101601f191682016040526105b491908101906123b1565b60015b6105d2576040518060200160405280600081525091506105d5565b91505b60405163c87b56dd60e01b8152600481018690526001600160a01b0387169063c87b56dd90602401600060405180830381865afa92505050801561063b57506040513d6000823e601f3d908101601f1916820160405261063891908101906123b1565b60015b6106545750604080516020810190915260008152610657565b90505b60408051610140810182528681526001600160a01b03808a1660208084019182529383018c815242606085019081528b8416608086019081523360a08701908152600160c0880181815260e089018d81526101008a018d90526101208a018c90526000805493840181558052895160099093027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563810193845597517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56489018054918b166001600160a01b031992831617905596517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56589015594517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56688015592517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567870180549189169190961617909455517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56885018054925160ff16600160a01b026001600160a81b03199093169190961617179093559151805193949293610828937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e569909301929190910190611f29565b506101008201518051610845916007840191602090910190611f29565b506101208201518051610862916008840191602090910190611f29565b50506000805490915061087790600190612474565b6001600160a01b03881660008181526003602090815260408083208b84528252808320859055338084526004808452828520805460018101825590865293909420909201859055516323b872dd60e01b815293945091926323b872dd926108e492909130918c910161248b565b600060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b5050604080518c81526001600160a01b038c811660208301528b1681830152606081018a90526080810185905290517f83b3a8754d705365b581ab63c329c1e55255a22aa78c67b5fcef378bfb2d9b9993509081900360a0019150a1505050505050505050565b6006546001600160a01b031633146109a35760405162461bcd60e51b815260040161017b906124af565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0382166000908152600360209081526040808320848452909152812054815490913391839081106109ff576109ff6124d7565b60009182526020909120600560099092020101546001600160a01b031614610a695760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b000000604482015260640161017b565b60008181548110610a7c57610a7c6124d7565b6000918252602090912060099091020160050154600160a01b900460ff16610adb5760405162461bcd60e51b8152602060048201526012602482015271151a1a5cc8185cdac81a5cc818db1bdcd95960721b604482015260640161017b565b4260008281548110610aef57610aef6124d7565b9060005260206000209060090201600301819055506000808281548110610b1857610b186124d7565b906000526020600020906009020160050160146101000a81548160ff021916908360ff160217905550826001600160a01b03166323b872dd3060008481548110610b6457610b646124d7565b60009182526020909120600560099092020101546040516001600160e01b031960e085901b168152610ba592916001600160a01b031690879060040161248b565b600060405180830381600087803b158015610bbf57600080fd5b505af1158015610bd3573d6000803e3d6000fd5b5050604080516001600160a01b0387168152602081018690529081018490527f6330f58b476cc7f9dd8db8130a0fbb49b291ebc32531eb36e9646f56ee20174b9250606001905060405180910390a1505050565b6006546001600160a01b03163314610c515760405162461bcd60e51b815260040161017b906124af565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260036020908152604080832085845290915281205481549091339183908110610cad57610cad6124d7565b60009182526020909120600560099092020101546001600160a01b031614610d175760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b000000604482015260640161017b565b60008181548110610d2a57610d2a6124d7565b6000918252602090912060099091020160050154600160a01b900460ff16610d895760405162461bcd60e51b8152602060048201526012602482015271151a1a5cc8185cdac81a5cc818db1bdcd95960721b604482015260640161017b565b8515610db9578560008281548110610da357610da36124d7565b9060005260206000209060090201600201819055505b6001600160a01b03851615610e12578460008281548110610ddc57610ddc6124d7565b906000526020600020906009020160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b4260008281548110610e2657610e266124d7565b9060005260206000209060090201600301819055508160008281548110610e4f57610e4f6124d7565b600091825260209182902060099190910201600501805460ff60a01b1916600160a01b60ff94851602179055604080518981526001600160a01b03898116938201939093529187169082015260608101859052908316608082015260a081018290527f04211d838289b72af597bf28a4ccff5a30d6056f5fce2eddb127ab4ffea0963d9060c00160405180910390a1505050505050565b6005546001600160a01b03163314610f325760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9032b9b1b937bb9031b0b760891b604482015260640161017b565b6001600160a01b038116600090815260026020526040902054610f569083906124ed565b6001600160a01b038216600081815260026020908152604091829020939093558051858152928301919091527f291ce0b690061cb1b3f1111bf6500efe526983251fb0f863251ec3670d035fc4910160405180910390a15050565b6005546000906001600160a01b031633146110005760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9032b9b1b937bb9031b0b760891b604482015260640161017b565b506001600160a01b03811660008181526002602090815260408083208054939055805193845290830182905290917f027aeacbc6fbfa7fe735ff8f14a600469ad1a3197ce1c8c8a159641cf68fe592910160405180910390a1919050565b6004602052816000526040600020818154811061107a57600080fd5b90600052602060002001600091509150505481565b6000818154811061109f57600080fd5b600091825260209091206009909102018054600182015460028301546003840154600485015460058601546006870180549698506001600160a01b0395861697949693959283169492821693600160a01b90920460ff16929161110190612505565b80601f016020809104026020016040519081016040528092919081815260200182805461112d90612505565b801561117a5780601f1061114f5761010080835404028352916020019161117a565b820191906000526020600020905b81548152906001019060200180831161115d57829003601f168201915b50505050509080600701805461118f90612505565b80601f01602080910402602001604051908101604052809291908181526020018280546111bb90612505565b80156112085780601f106111dd57610100808354040283529160200191611208565b820191906000526020600020905b8154815290600101906020018083116111eb57829003601f168201915b50505050509080600801805461121d90612505565b80601f016020809104026020016040519081016040528092919081815260200182805461124990612505565b80156112965780601f1061126b57610100808354040283529160200191611296565b820191906000526020600020905b81548152906001019060200180831161127957829003601f168201915b505050505090508a565b6006546000906001600160a01b031633146112cd5760405162461bcd60e51b815260040161017b906124af565b6007546001600160a01b0384811691161461135b5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820186905284169063a9059cbb906044016020604051808303816000875af1158015611331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113559190612540565b50611382565b6040516001600160a01b0383169085156108fc029086906000818181858888f19450505050505b604080518581526001600160a01b03858116602083015284168183015290517fb524bace85e4ce0f8da306e32f39263c5724780ca00b7551c051c8e3dc36adaf9181900360600190a19392505050565b6001600160a01b0382166000908152600360209081526040808320848452909152812054815482918291811061140a5761140a6124d7565b600091825260209182902060408051610140810182526009939093029091018054835260018101546001600160a01b039081169484019490945260028101549183019190915260038101546060830152600481015483166080830152600581015492831660a0830152600160a01b90920460ff1660c082015260068201805491929160e08401919061149b90612505565b80601f01602080910402602001604051908101604052809291908181526020018280546114c790612505565b80156115145780601f106114e957610100808354040283529160200191611514565b820191906000526020600020905b8154815290600101906020018083116114f757829003601f168201915b5050505050815260200160078201805461152d90612505565b80601f016020809104026020016040519081016040528092919081815260200182805461155990612505565b80156115a65780601f1061157b576101008083540402835291602001916115a6565b820191906000526020600020905b81548152906001019060200180831161158957829003601f168201915b505050505081526020016008820180546115bf90612505565b80601f01602080910402602001604051908101604052809291908181526020018280546115eb90612505565b80156116385780601f1061160d57610100808354040283529160200191611638565b820191906000526020600020905b81548152906001019060200180831161161b57829003601f168201915b5050505050815250509050806040015134146116ac5760405162461bcd60e51b815260206004820152602d60248201527f4e6f7420726967687420616d6f756e742073656e742c206861766520746f206260448201526c6520657175616c20707269636560981b606482015260840161017b565b6001600160a01b0384166000908152600360209081526040808320868452909152812054815482919081106116e3576116e36124d7565b906000526020600020906009020160050160146101000a81548160ff021916908360ff160217905550836001600160a01b03166323b872dd3033866040518463ffffffff1660e01b815260040161173c9392919061248b565b600060405180830381600087803b15801561175657600080fd5b505af115801561176a573d6000803e3d6000fd5b505050508060a001516001600160a01b03166108fc82604001519081150290604051600060405180830381858888f16001600160a01b03891660008181526003602090815260408083208c8452825291829020548983015183519485529184018c90529183019190915260608201529096507fc220cf2a12d6492e23ed1141c55018997799699d009b00ebd5a4874c60f5c31e9450608001925061180c915050565b60405180910390a15092915050565b61188f6040518061014001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600060ff1681526020016060815260200160608152602001606081525090565b6001600160a01b038316600090815260036020908152604080832085845290915281205481549091908190839081106118ca576118ca6124d7565b600091825260209182902060408051610140810182526009939093029091018054835260018101546001600160a01b039081169484019490945260028101549183019190915260038101546060830152600481015483166080830152600581015492831660a0830152600160a01b90920460ff1660c082015260068201805491929160e08401919061195b90612505565b80601f016020809104026020016040519081016040528092919081815260200182805461198790612505565b80156119d45780601f106119a9576101008083540402835291602001916119d4565b820191906000526020600020905b8154815290600101906020018083116119b757829003601f168201915b505050505081526020016007820180546119ed90612505565b80601f0160208091040260200160405190810160405280929190818152602001828054611a1990612505565b8015611a665780601f10611a3b57610100808354040283529160200191611a66565b820191906000526020600020905b815481529060010190602001808311611a4957829003601f168201915b50505050508152602001600882018054611a7f90612505565b80601f0160208091040260200160405190810160405280929190818152602001828054611aab90612505565b8015611af85780601f10611acd57610100808354040283529160200191611af8565b820191906000526020600020905b815481529060010190602001808311611adb57829003601f168201915b505050919092525091979650505050505050565b6001600160a01b038416600090815260036020908152604080832086845290915281205481548291908110611b4357611b436124d7565b600091825260209182902060408051610140810182526009939093029091018054835260018101546001600160a01b039081169484019490945260028101549183019190915260038101546060830152600481015483166080830152600581015492831660a0830152600160a01b90920460ff1660c082015260068201805491929160e084019190611bd490612505565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0090612505565b8015611c4d5780601f10611c2257610100808354040283529160200191611c4d565b820191906000526020600020905b815481529060010190602001808311611c3057829003601f168201915b50505050508152602001600782018054611c6690612505565b80601f0160208091040260200160405190810160405280929190818152602001828054611c9290612505565b8015611cdf5780601f10611cb457610100808354040283529160200191611cdf565b820191906000526020600020905b815481529060010190602001808311611cc257829003601f168201915b50505050508152602001600882018054611cf890612505565b80601f0160208091040260200160405190810160405280929190818152602001828054611d2490612505565b8015611d715780601f10611d4657610100808354040283529160200191611d71565b820191906000526020600020905b815481529060010190602001808311611d5457829003601f168201915b505050919092525050506040808201516001600160a01b038616600090815260026020529190912054919250611da691612474565b6001600160a01b03808516600090815260026020526040808220939093558383015160a085015190921681529190912054611de191906124ed565b60a08201516001600160a01b039081166000908152600260209081526040808320949094559188168152600382528281208782529091529081205481548291908110611e2f57611e2f6124d7565b906000526020600020906009020160050160146101000a81548160ff021916908360ff160217905550846001600160a01b03166323b872dd3084876040518463ffffffff1660e01b8152600401611e889392919061248b565b600060405180830381600087803b158015611ea257600080fd5b505af1158015611eb6573d6000803e3d6000fd5b505050506001600160a01b038516600081815260036020908152604080832088845282529182902054848301518351948552918401889052838301526060830152517f68bdd3548f3f05742b376651745ca73472eb18f2230f64b893d7a48e575eb0149181900360800190a15050505050565b828054611f3590612505565b90600052602060002090601f016020900481019282611f575760008555611f9d565b82601f10611f7057805160ff1916838001178555611f9d565b82800160010185558215611f9d579182015b82811115611f9d578251825591602001919060010190611f82565b50611fa9929150611fad565b5090565b5b80821115611fa95760008155600101611fae565b6001600160a01b0381168114611fd757600080fd5b50565b60008060008060808587031215611ff057600080fd5b84359350602085013561200281611fc2565b9250604085013561201281611fc2565b9396929550929360600135925050565b60006020828403121561203457600080fd5b813561203f81611fc2565b9392505050565b6000806040838503121561205957600080fd5b823561206481611fc2565b946020939093013593505050565b600080600080600060a0868803121561208a57600080fd5b85359450602086013561209c81611fc2565b935060408601356120ac81611fc2565b925060608601359150608086013560ff811681146120c957600080fd5b809150509295509295909350565b600080604083850312156120ea57600080fd5b8235915060208301356120fc81611fc2565b809150509250929050565b60006020828403121561211957600080fd5b5035919050565b60005b8381101561213b578181015183820152602001612123565b8381111561214a576000848401525b50505050565b60008151808452612168816020860160208601612120565b601f01601f19169290920160200192915050565b8a81526001600160a01b038a81166020830152604082018a9052606082018990528781166080830152861660a082015260ff851660c082015261014060e082018190526000906121ce83820187612150565b90508281036101008401526121e38186612150565b90508281036101208401526121f88185612150565b9d9c50505050505050505050505050565b60008060006060848603121561221e57600080fd5b83359250602084013561223081611fc2565b9150604084013561224081611fc2565b809150509250925092565b60208152815160208201526000602083015161227260408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516122a160a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c083015160ff811660e08401525060e083015161014061010081818601526122e4610160860184612150565b9250808601519050601f196101208187860301818801526123058584612150565b9088015187820390920184880152935090506123218382612150565b9695505050505050565b6000806000806080858703121561234157600080fd5b843561234c81611fc2565b935060208501359250604085013561236381611fc2565b9150606085013561237381611fc2565b939692955090935050565b60006020828403121561239057600080fd5b815161203f81611fc2565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156123c357600080fd5b815167ffffffffffffffff808211156123db57600080fd5b818401915084601f8301126123ef57600080fd5b8151818111156124015761240161239b565b604051601f8201601f19908116603f011681019083821181831017156124295761242961239b565b8160405282815287602084870101111561244257600080fd5b612453836020830160208801612120565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156124865761248661245e565b500390565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020808252600e908201526d27b7363c9037bbb732b91031b0b760911b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600082198211156125005761250061245e565b500190565b600181811c9082168061251957607f821691505b6020821081141561253a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561255257600080fd5b8151801515811461203f57600080fdfea26469706673582212202981143f6f1636e14dfb228b76db4f0887e3603a9c27fdae45ff58b9897e554064736f6c634300080a0033 \ No newline at end of file --- a/tests/src/eth/marketplace/MarketPlace.json +++ /dev/null @@ -1,40837 +0,0 @@ -{ - "contractName": "MarketPlace", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_escrow", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderId", - "type": "uint256" - } - ], - "name": "AddedAsk", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderPrice", - "type": "uint256" - } - ], - "name": "BoughtNFT", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderPrice", - "type": "uint256" - } - ], - "name": "BoughtNFT4KSM", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderId", - "type": "uint256" - } - ], - "name": "CanceledAsk", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "DepositedKSM", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "_active", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "orderId", - "type": "uint256" - } - ], - "name": "EditedAsk", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "Withdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "name": "WithdrawnAllKSM", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback", - "payable": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "asks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "asksbySeller", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceKSM", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "orders", - "outputs": [ - { - "internalType": "uint256", - "name": "idNFT", - "type": "uint256" - }, - { - "internalType": "address", - "name": "currencyCode", - "type": "address" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "internalType": "address", - "name": "idCollection", - "type": "address" - }, - { - "internalType": "address", - "name": "ownerAddr", - "type": "address" - }, - { - "internalType": "uint8", - "name": "flagActive", - "type": "uint8" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "string", - "name": "tokenURI", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "stateMutability": "payable", - "type": "receive", - "payable": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newEscrow", - "type": "address" - } - ], - "name": "setowner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newEscrow", - "type": "address" - } - ], - "name": "setEscrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_coin", - "type": "address" - } - ], - "name": "setNativeCoin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - } - ], - "name": "addAsk", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "_active", - "type": "uint8" - } - ], - "name": "editAsk", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - } - ], - "name": "cancelAsk", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "depositKSM", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_buyer", - "type": "address" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "buyKSM", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - } - ], - "name": "buy", - "outputs": [ - { - "internalType": "bool", - "name": "result", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function", - "payable": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "withdrawAllKSM", - "outputs": [ - { - "internalType": "uint256", - "name": "lastBalance", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currencyCode", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_sender", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "bool", - "name": "result", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_idCollection", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_idNFT", - "type": "uint256" - } - ], - "name": "getOrder", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "idNFT", - "type": "uint256" - }, - { - "internalType": "address", - "name": "currencyCode", - "type": "address" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "time", - "type": "uint256" - }, - { - "internalType": "address", - "name": "idCollection", - "type": "address" - }, - { - "internalType": "address", - "name": "ownerAddr", - "type": "address" - }, - { - "internalType": "uint8", - "name": "flagActive", - "type": "uint8" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "string", - "name": "tokenURI", - "type": "string" - } - ], - "internalType": "struct MarketPlace.Order", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "getOrdersLen", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "pure", - "type": "function", - "constant": true - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_escrow\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"AddedAsk\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderPrice\",\"type\":\"uint256\"}],\"name\":\"BoughtNFT\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderPrice\",\"type\":\"uint256\"}],\"name\":\"BoughtNFT4KSM\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"CanceledAsk\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"DepositedKSM\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"_active\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"EditedAsk\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"WithdrawnAllKSM\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"}],\"name\":\"addAsk\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"asks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"asksbySeller\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceKSM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"buyKSM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"}],\"name\":\"cancelAsk\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"depositKSM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"_active\",\"type\":\"uint8\"}],\"name\":\"editAsk\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_idCollection\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_idNFT\",\"type\":\"uint256\"}],\"name\":\"getOrder\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"idNFT\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyCode\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"idCollection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"ownerAddr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"flagActive\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"}],\"internalType\":\"struct MarketPlace.Order\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOrdersLen\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"orders\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"idNFT\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currencyCode\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"idCollection\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"ownerAddr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"flagActive\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenURI\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newEscrow\",\"type\":\"address\"}],\"name\":\"setEscrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_coin\",\"type\":\"address\"}],\"name\":\"setNativeCoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newEscrow\",\"type\":\"address\"}],\"name\":\"setowner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currencyCode\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"withdrawAllKSM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MarketPlace.sol\":\"MarketPlace\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf101e8720213560fab41104d53b3cc7ba0456ef3a98455aa7f022391783144a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e7820bcf567e6892d937c3cb10db263a4042e446799bca602535868d822384e\",\"dweb:/ipfs/QmPG2oeDjKncqsEeyYGjAN7CwAJmMgHterXGGnpzhha4z7\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd9517254724276e2e8de3769183c1f738f445f0095c26fd9b86d3c6687e887b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e604bcdcd5e5b2fb299ad09769cde6db19d5aa1929d1b5e939234a0f10d7eb8\",\"dweb:/ipfs/Qmd8hXE3GZfBHuWx3RNiYgFW2ci7KvHtib8DiwzJ2dgo9V\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xd32fb7f530a914b1083d10a6bed3a586f2451952fec04fe542bcc670a82f7ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af63ab940a34687c45f0ad84960b048fc5f49330c92ccb422db7822a444733b9\",\"dweb:/ipfs/QmUShaQEu8HS1GjDnsMJQ8jkZEBrecn6NuDZ3pfjY1gVck\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]},\"@openzeppelin/contracts/utils/math/SafeMath.sol\":{\"keccak256\":\"0x8666f020bd8fc9dc14f07e2ebc52b5f236ab4cdde7c77679b08cb2f94730043b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://163776cbf565c722232393aa2d62cbe8a2ffb5805986abf4906c00e1e07450a6\",\"dweb:/ipfs/QmPZoN9T3cb6o8bGhjBPZcz7im8T8DWhpr3tjLwhJJHx9N\"]},\"project:/contracts/MarketPlace.sol\":{\"keccak256\":\"0x7db627f3c023594ab74e302b3709700f52bd80cd4d9c33ba8ec3feb2e4c03d76\",\"license\":\"Apache License\",\"urls\":[\"bzz-raw://836aeb2eb96a17f86e78a351c4c437b64332e6f7512c7047e6b9634a02404fff\",\"dweb:/ipfs/QmdpPvDyD7JerqbboNWLEtGVLCoDFKdwLW7QeuupsTboNW\"]},\"project:/contracts/interfaces/IERC721ext.sol\":{\"keccak256\":\"0xfa66208722782e55067334512aedf864228e05c09a8b869f173d71b977cf46d1\",\"license\":\"Apache License\",\"urls\":[\"bzz-raw://12683b8b8e256d51686047caeb5ccbab662aa6ea477787f501a42ea3ed4a0170\",\"dweb:/ipfs/QmPzgpLcGMTyPXuL9EUBduDuxk1YPNEDJxq3m9MKX4zRPi\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040516200458e3803806200458e8339818101604052810190620000379190620003e6565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060405180610140016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016040518060200160405280600081525081526020016040518060200160405280600081525081526020016040518060200160405280600081525081525090806001815401808255809150506001900390600052602060002090600902016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160050160146101000a81548160ff021916908360ff16021790555060e0820151816006019080519060200190620002d59291906200031f565b50610100820151816007019080519060200190620002f59291906200031f565b50610120820151816008019080519060200190620003159291906200031f565b50505050620004c5565b8280546200032d9062000446565b90600052602060002090601f0160209004810192826200035157600085556200039d565b82601f106200036c57805160ff19168380011785556200039d565b828001600101855582156200039d579182015b828111156200039c5782518255916020019190600101906200037f565b5b509050620003ac9190620003b0565b5090565b5b80821115620003cb576000816000905550600101620003b1565b5090565b600081519050620003e081620004ab565b92915050565b600060208284031215620003f957600080fd5b60006200040984828501620003cf565b91505092915050565b60006200041f8262000426565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200045f57607f821691505b602082108114156200047657620004756200047c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620004b68162000412565b8114620004c257600080fd5b50565b6140b980620004d56000396000f3fe60806040526004361061010d5760003560e01c806399f2d4eb11610095578063c10c354611610064578063c10c354614610420578063cce7ec1314610449578063e22d4f7d14610479578063edb25841146104b6578063fd8868c7146104f35761014d565b806399f2d4eb14610323578063a85c38ef14610360578063b460af94146103a6578063b4c3e8ea146103e35761014d565b8063592bd705116100dc578063592bd705146102405780636b084b2514610269578063791bd866146102925780638c088f00146102bb57806393cdd334146102e65761014d565b8063150b7a021461018857806337c4eb58146101c55780633ce61756146101ee57806340b80746146102175761014d565b3661014d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610144906138ca565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017f9061392a565b60405180910390fd5b34801561019457600080fd5b506101af60048036038101906101aa91906130dd565b61051c565b6040516101bc919061380d565b60405180910390f35b3480156101d157600080fd5b506101ec60048036038101906101e7919061331a565b61054a565b005b3480156101fa57600080fd5b506102156004803603810190610210919061308b565b610bd9565b005b34801561022357600080fd5b5061023e6004803603810190610239919061315d565b610cad565b005b34801561024c57600080fd5b506102676004803603810190610262919061308b565b611047565b005b34801561027557600080fd5b50610290600480360381019061028b919061337d565b61111b565b005b34801561029e57600080fd5b506102b960048036038101906102b4919061328f565b6114fd565b005b3480156102c757600080fd5b506102d061165f565b6040516102dd919061396c565b60405180910390f35b3480156102f257600080fd5b5061030d6004803603810190610308919061308b565b61166b565b60405161031a919061396c565b60405180910390f35b34801561032f57600080fd5b5061034a6004803603810190610345919061315d565b6117c2565b604051610357919061396c565b60405180910390f35b34801561036c57600080fd5b5061038760048036038101906103829190613266565b6117f3565b60405161039d9a99989796959493929190613a9b565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c891906132cb565b611a5c565b6040516103da91906137f2565b60405180910390f35b3480156103ef57600080fd5b5061040a6004803603810190610405919061308b565b611c50565b604051610417919061396c565b60405180910390f35b34801561042c57600080fd5b506104476004803603810190610442919061308b565b611c68565b005b610463600480360381019061045e919061315d565b611d3c565b60405161047091906137f2565b60405180910390f35b34801561048557600080fd5b506104a0600480360381019061049b919061315d565b612318565b6040516104ad919061396c565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d8919061315d565b61233d565b6040516104ea919061394a565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190613199565b6126ef565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b60008273ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610585919061396c565b60206040518083038186803b15801561059d57600080fd5b505afa1580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906130b4565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063c906138aa565b60405180910390fd5b60608060608573ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561069057600080fd5b505afa9250505080156106c657506040513d6000823e3d601f19601f820116820180604052508101906106c39190613225565b60015b6106e1576040518060200160405280600081525092506106e6565b809350505b8573ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561072c57600080fd5b505afa92505050801561076257506040513d6000823e3d601f19601f8201168201806040525081019061075f9190613225565b60015b61077d57604051806020016040528060008152509150610782565b809250505b8573ffffffffffffffffffffffffffffffffffffffff1663c87b56dd866040518263ffffffff1660e01b81526004016107bb919061396c565b60006040518083038186803b1580156107d357600080fd5b505afa92505050801561080957506040513d6000823e3d601f19601f820116820180604052508101906108069190613225565b60015b61082457604051806020016040528060008152509050610829565b809150505b60006040518061014001604052808781526020018973ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020014281526020018873ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600160ff1681526020018581526020018481526020018381525090806001815401808255809150506001900390600052602060002090600902016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160050160146101000a81548160ff021916908360ff16021790555060e0820151816006019080519060200190610a10929190612e20565b50610100820151816007019080519060200190610a2e929190612e20565b50610120820151816008019080519060200190610a4c929190612e20565b50505060006001600080549050610a639190613c25565b905080600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088815260200190815260200160002081905550600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b8152600401610b5d93929190613716565b600060405180830381600087803b158015610b7757600080fd5b505af1158015610b8b573d6000803e3d6000fd5b505050507f83b3a8754d705365b581ab63c329c1e55255a22aa78c67b5fcef378bfb2d9b998989898985604051610bc69594939291906139e7565b60405180910390a1505050505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c609061390a565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000205490503373ffffffffffffffffffffffffffffffffffffffff1660008281548110610d53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd29061388a565b60405180910390fd5b6000808281548110610e16577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160149054906101000a900460ff1660ff161415610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e709061384a565b60405180910390fd5b4260008281548110610eb4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060090201600301819055506000808281548110610f04577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508273ffffffffffffffffffffffffffffffffffffffff166323b872dd3060008481548110610f84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610fd593929190613716565b600060405180830381600087803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b505050507f6330f58b476cc7f9dd8db8130a0fbb49b291ebc32531eb36e9646f56ee20174b83838360405161103a93929190613776565b60405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce9061390a565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205490503373ffffffffffffffffffffffffffffffffffffffff16600082815481106111c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112409061388a565b60405180910390fd5b6000808281548110611284577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160149054906101000a900460ff1660ff1614156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de9061384a565b60405180910390fd5b600086111561134157856000828154811061132b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060090201600201819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146114005784600082815481106113b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b426000828154811061143b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160030181905550816000828154811061148b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055507f04211d838289b72af597bf28a4ccff5a30d6056f5fce2eddb127ab4ffea0963d8686868686866040516114ed96959493929190613a3a565b60405180910390a1505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115849061386a565b60405180910390fd5b6115df82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db590919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f291ce0b690061cb1b3f1111bf6500efe526983251fb0f863251ec3670d035fc48282604051611653929190613987565b60405180910390a15050565b60008080549050905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f49061386a565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f027aeacbc6fbfa7fe735ff8f14a600469ad1a3197ce1c8c8a159641cf68fe59282826040516117b592919061374d565b60405180910390a1919050565b600460205281600052604060002081815481106117de57600080fd5b90600052602060002001600091509150505481565b6000818154811061180357600080fd5b90600052602060002090600902016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160149054906101000a900460ff16908060060180546118bd90613d55565b80601f01602080910402602001604051908101604052809291908181526020018280546118e990613d55565b80156119365780601f1061190b57610100808354040283529160200191611936565b820191906000526020600020905b81548152906001019060200180831161191957829003601f168201915b50505050509080600701805461194b90613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461197790613d55565b80156119c45780601f10611999576101008083540402835291602001916119c4565b820191906000526020600020905b8154815290600101906020018083116119a757829003601f168201915b5050505050908060080180546119d990613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0590613d55565b8015611a525780601f10611a2757610100808354040283529160200191611a52565b820191906000526020600020905b815481529060010190602001808311611a3557829003601f168201915b505050505090508a565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae59061390a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611bd6578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83866040518363ffffffff1660e01b8152600401611b7e9291906136ed565b602060405180830381600087803b158015611b9857600080fd5b505af1158015611bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd091906131fc565b50611c0e565b8173ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505090505b7fb524bace85e4ce0f8da306e32f39263c5724780ca00b7551c051c8e3dc36adaf848484604051611c41939291906139b0565b60405180910390a19392505050565b60026020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cef9061390a565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205481548110611dc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff168152602001600682018054611f3090613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5c90613d55565b8015611fa95780601f10611f7e57610100808354040283529160200191611fa9565b820191906000526020600020905b815481529060010190602001808311611f8c57829003601f168201915b50505050508152602001600782018054611fc290613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611fee90613d55565b801561203b5780601f106120105761010080835404028352916020019161203b565b820191906000526020600020905b81548152906001019060200180831161201e57829003601f168201915b5050505050815260200160088201805461205490613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461208090613d55565b80156120cd5780601f106120a2576101008083540402835291602001916120cd565b820191906000526020600020905b8154815290600101906020018083116120b057829003601f168201915b50505050508152505090508060400151341461211e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612115906138ea565b60405180910390fd5b600080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054815481106121a9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508373ffffffffffffffffffffffffffffffffffffffff166323b872dd3033866040518463ffffffff1660e01b815260040161220f93929190613716565b600060405180830381600087803b15801561222957600080fd5b505af115801561223d573d6000803e3d6000fd5b505050508060a0015173ffffffffffffffffffffffffffffffffffffffff166108fc82604001519081150290604051600060405180830381858888f1935050505091507fc220cf2a12d6492e23ed1141c55018997799699d009b00ebd5a4874c60f5c31e8484600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087815260200190815260200160002054846040015160405161230994939291906137ad565b60405180910390a15092915050565b6003602052816000526040600020602052806000526040600020600091509150505481565b612345612ea6565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905060008082815481106123d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff16815260200160068201805461253c90613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461256890613d55565b80156125b55780601f1061258a576101008083540402835291602001916125b5565b820191906000526020600020905b81548152906001019060200180831161259857829003601f168201915b505050505081526020016007820180546125ce90613d55565b80601f01602080910402602001604051908101604052809291908181526020018280546125fa90613d55565b80156126475780601f1061261c57610100808354040283529160200191612647565b820191906000526020600020905b81548152906001019060200180831161262a57829003601f168201915b5050505050815260200160088201805461266090613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461268c90613d55565b80156126d95780601f106126ae576101008083540402835291602001916126d9565b820191906000526020600020905b8154815290600101906020018083116126bc57829003601f168201915b5050505050815250509050809250505092915050565b600080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868152602001908152602001600020548154811061277a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff1681526020016006820180546128e190613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461290d90613d55565b801561295a5780601f1061292f5761010080835404028352916020019161295a565b820191906000526020600020905b81548152906001019060200180831161293d57829003601f168201915b5050505050815260200160078201805461297390613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461299f90613d55565b80156129ec5780601f106129c1576101008083540402835291602001916129ec565b820191906000526020600020905b8154815290600101906020018083116129cf57829003601f168201915b50505050508152602001600882018054612a0590613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054612a3190613d55565b8015612a7e5780601f10612a5357610100808354040283529160200191612a7e565b820191906000526020600020905b815481529060010190602001808311612a6157829003601f168201915b5050505050815250509050612b1681604001516040518060400160405280601981526020017f496e737563636966696369656e74204b534d732066756e647300000000000000815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dcb9092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bb38160400151600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db590919063ffffffff16565b600260008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008781526020019081526020016000205481548110612c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508473ffffffffffffffffffffffffffffffffffffffff166323b872dd3084876040518463ffffffff1660e01b8152600401612ceb93929190613716565b600060405180830381600087803b158015612d0557600080fd5b505af1158015612d19573d6000803e3d6000fd5b505050507f68bdd3548f3f05742b376651745ca73472eb18f2230f64b893d7a48e575eb0148585600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000888152602001908152602001600020548460400151604051612da694939291906137ad565b60405180910390a15050505050565b60008183612dc39190613bcf565b905092915050565b6000838311158290612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a9190613828565b60405180910390fd5b5082840390509392505050565b828054612e2c90613d55565b90600052602060002090601f016020900481019282612e4e5760008555612e95565b82601f10612e6757805160ff1916838001178555612e95565b82800160010185558215612e95579182015b82811115612e94578251825591602001919060010190612e79565b5b509050612ea29190612f3e565b5090565b60405180610140016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016060815260200160608152602001606081525090565b5b80821115612f57576000816000905550600101612f3f565b5090565b6000612f6e612f6984613b71565b613b4c565b905082815260208101848484011115612f8657600080fd5b612f91848285613d22565b509392505050565b600081359050612fa881614010565b92915050565b600081519050612fbd81614010565b92915050565b600081359050612fd281614027565b92915050565b600081519050612fe78161403e565b92915050565b60008083601f840112612fff57600080fd5b8235905067ffffffffffffffff81111561301857600080fd5b60208301915083600182028301111561303057600080fd5b9250929050565b600082601f83011261304857600080fd5b8151613058848260208601612f5b565b91505092915050565b60008135905061307081614055565b92915050565b6000813590506130858161406c565b92915050565b60006020828403121561309d57600080fd5b60006130ab84828501612f99565b91505092915050565b6000602082840312156130c657600080fd5b60006130d484828501612fae565b91505092915050565b6000806000806000608086880312156130f557600080fd5b600061310388828901612f99565b955050602061311488828901612f99565b945050604061312588828901613061565b935050606086013567ffffffffffffffff81111561314257600080fd5b61314e88828901612fed565b92509250509295509295909350565b6000806040838503121561317057600080fd5b600061317e85828601612f99565b925050602061318f85828601613061565b9150509250929050565b600080600080608085870312156131af57600080fd5b60006131bd87828801612f99565b94505060206131ce87828801613061565b93505060406131df87828801612f99565b92505060606131f087828801612f99565b91505092959194509250565b60006020828403121561320e57600080fd5b600061321c84828501612fd8565b91505092915050565b60006020828403121561323757600080fd5b600082015167ffffffffffffffff81111561325157600080fd5b61325d84828501613037565b91505092915050565b60006020828403121561327857600080fd5b600061328684828501613061565b91505092915050565b600080604083850312156132a257600080fd5b60006132b085828601613061565b92505060206132c185828601612f99565b9150509250929050565b6000806000606084860312156132e057600080fd5b60006132ee86828701613061565b93505060206132ff86828701612f99565b925050604061331086828701612fc3565b9150509250925092565b6000806000806080858703121561333057600080fd5b600061333e87828801613061565b945050602061334f87828801612f99565b935050604061336087828801612f99565b925050606061337187828801613061565b91505092959194509250565b600080600080600060a0868803121561339557600080fd5b60006133a388828901613061565b95505060206133b488828901612f99565b94505060406133c588828901612f99565b93505060606133d688828901613061565b92505060806133e788828901613076565b9150509295509295909350565b6133fd81613cec565b82525050565b61340c81613c59565b82525050565b61341b81613c59565b82525050565b61342a81613c7d565b82525050565b61343981613c89565b82525050565b600061344a82613ba2565b6134548185613bad565b9350613464818560208601613d22565b61346d81613e45565b840191505092915050565b600061348382613ba2565b61348d8185613bbe565b935061349d818560208601613d22565b6134a681613e45565b840191505092915050565b60006134be601283613bbe565b91506134c982613e56565b602082019050919050565b60006134e1600f83613bbe565b91506134ec82613e7f565b602082019050919050565b6000613504601d83613bbe565b915061350f82613ea8565b602082019050919050565b6000613527601d83613bbe565b915061353282613ed1565b602082019050919050565b600061354a604183613bbe565b915061355582613efa565b606082019050919050565b600061356d602d83613bbe565b915061357882613f6f565b604082019050919050565b6000613590600e83613bbe565b915061359b82613fbe565b602082019050919050565b60006135b3601083613bbe565b91506135be82613fe7565b602082019050919050565b6000610140830160008301516135e260008601826136b1565b5060208301516135f56020860182613403565b50604083015161360860408601826136b1565b50606083015161361b60608601826136b1565b50608083015161362e6080860182613403565b5060a083015161364160a0860182613403565b5060c083015161365460c08601826136cf565b5060e083015184820360e086015261366c828261343f565b915050610100830151848203610100860152613688828261343f565b9150506101208301518482036101208601526136a4828261343f565b9150508091505092915050565b6136ba81613cd5565b82525050565b6136c981613cd5565b82525050565b6136d881613cdf565b82525050565b6136e781613cdf565b82525050565b600060408201905061370260008301856133f4565b61370f60208301846136c0565b9392505050565b600060608201905061372b6000830186613412565b6137386020830185613412565b61374560408301846136c0565b949350505050565b60006040820190506137626000830185613412565b61376f60208301846136c0565b9392505050565b600060608201905061378b6000830186613412565b61379860208301856136c0565b6137a560408301846136c0565b949350505050565b60006080820190506137c26000830187613412565b6137cf60208301866136c0565b6137dc60408301856136c0565b6137e960608301846136c0565b95945050505050565b60006020820190506138076000830184613421565b92915050565b60006020820190506138226000830184613430565b92915050565b600060208201905081810360008301526138428184613478565b905092915050565b60006020820190508181036000830152613863816134b1565b9050919050565b60006020820190508181036000830152613883816134d4565b9050919050565b600060208201905081810360008301526138a3816134f7565b9050919050565b600060208201905081810360008301526138c38161351a565b9050919050565b600060208201905081810360008301526138e38161353d565b9050919050565b6000602082019050818103600083015261390381613560565b9050919050565b6000602082019050818103600083015261392381613583565b9050919050565b60006020820190508181036000830152613943816135a6565b9050919050565b6000602082019050818103600083015261396481846135c9565b905092915050565b600060208201905061398160008301846136c0565b92915050565b600060408201905061399c60008301856136c0565b6139a96020830184613412565b9392505050565b60006060820190506139c560008301866136c0565b6139d26020830185613412565b6139df60408301846133f4565b949350505050565b600060a0820190506139fc60008301886136c0565b613a096020830187613412565b613a166040830186613412565b613a2360608301856136c0565b613a3060808301846136c0565b9695505050505050565b600060c082019050613a4f60008301896136c0565b613a5c6020830188613412565b613a696040830187613412565b613a7660608301866136c0565b613a8360808301856136de565b613a9060a08301846136c0565b979650505050505050565b600061014082019050613ab1600083018d6136c0565b613abe602083018c613412565b613acb604083018b6136c0565b613ad8606083018a6136c0565b613ae56080830189613412565b613af260a0830188613412565b613aff60c08301876136de565b81810360e0830152613b118186613478565b9050818103610100830152613b268185613478565b9050818103610120830152613b3b8184613478565b90509b9a5050505050505050505050565b6000613b56613b67565b9050613b628282613d87565b919050565b6000604051905090565b600067ffffffffffffffff821115613b8c57613b8b613e16565b5b613b9582613e45565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613bda82613cd5565b9150613be583613cd5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c1a57613c19613db8565b5b828201905092915050565b6000613c3082613cd5565b9150613c3b83613cd5565b925082821015613c4e57613c4d613db8565b5b828203905092915050565b6000613c6482613cb5565b9050919050565b6000613c7682613cb5565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613cf782613cfe565b9050919050565b6000613d0982613d10565b9050919050565b6000613d1b82613cb5565b9050919050565b60005b83811015613d40578082015181840152602081019050613d25565b83811115613d4f576000848401525b50505050565b60006002820490506001821680613d6d57607f821691505b60208210811415613d8157613d80613de7565b5b50919050565b613d9082613e45565b810181811067ffffffffffffffff82111715613daf57613dae613e16565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f546869732061736b20697320636c6f7365640000000000000000000000000000600082015250565b7f4f6e6c7920657363726f772063616e0000000000000000000000000000000000600082015250565b7f4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b000000600082015250565b7f4f6e6c7920746f6b656e206f776e65722063616e206d616b652061736b000000600082015250565b7f43616e277420616363657074207061796d656e7420776974686f757420636f6c60008201527f6c656374696f6e20616e64204944732c20757365206441707020746f2073656e60208201527f6400000000000000000000000000000000000000000000000000000000000000604082015250565b7f4e6f7420726967687420616d6f756e742073656e742c206861766520746f206260008201527f6520657175616c20707269636500000000000000000000000000000000000000602082015250565b7f4f6e6c79206f776e65722063616e000000000000000000000000000000000000600082015250565b7f4e6f20737563682066756e6374696f6e00000000000000000000000000000000600082015250565b61401981613c59565b811461402457600080fd5b50565b61403081613c6b565b811461403b57600080fd5b50565b61404781613c7d565b811461405257600080fd5b50565b61405e81613cd5565b811461406957600080fd5b50565b61407581613cdf565b811461408057600080fd5b5056fea2646970667358221220890578747aaeea7b95fb3ea4a6653fac314fe903c5ce54b6503bb8fc7b6b3a0264736f6c63430008040033", - "deployedBytecode": "0x60806040526004361061010d5760003560e01c806399f2d4eb11610095578063c10c354611610064578063c10c354614610420578063cce7ec1314610449578063e22d4f7d14610479578063edb25841146104b6578063fd8868c7146104f35761014d565b806399f2d4eb14610323578063a85c38ef14610360578063b460af94146103a6578063b4c3e8ea146103e35761014d565b8063592bd705116100dc578063592bd705146102405780636b084b2514610269578063791bd866146102925780638c088f00146102bb57806393cdd334146102e65761014d565b8063150b7a021461018857806337c4eb58146101c55780633ce61756146101ee57806340b80746146102175761014d565b3661014d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610144906138ca565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017f9061392a565b60405180910390fd5b34801561019457600080fd5b506101af60048036038101906101aa91906130dd565b61051c565b6040516101bc919061380d565b60405180910390f35b3480156101d157600080fd5b506101ec60048036038101906101e7919061331a565b61054a565b005b3480156101fa57600080fd5b506102156004803603810190610210919061308b565b610bd9565b005b34801561022357600080fd5b5061023e6004803603810190610239919061315d565b610cad565b005b34801561024c57600080fd5b506102676004803603810190610262919061308b565b611047565b005b34801561027557600080fd5b50610290600480360381019061028b919061337d565b61111b565b005b34801561029e57600080fd5b506102b960048036038101906102b4919061328f565b6114fd565b005b3480156102c757600080fd5b506102d061165f565b6040516102dd919061396c565b60405180910390f35b3480156102f257600080fd5b5061030d6004803603810190610308919061308b565b61166b565b60405161031a919061396c565b60405180910390f35b34801561032f57600080fd5b5061034a6004803603810190610345919061315d565b6117c2565b604051610357919061396c565b60405180910390f35b34801561036c57600080fd5b5061038760048036038101906103829190613266565b6117f3565b60405161039d9a99989796959493929190613a9b565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c891906132cb565b611a5c565b6040516103da91906137f2565b60405180910390f35b3480156103ef57600080fd5b5061040a6004803603810190610405919061308b565b611c50565b604051610417919061396c565b60405180910390f35b34801561042c57600080fd5b506104476004803603810190610442919061308b565b611c68565b005b610463600480360381019061045e919061315d565b611d3c565b60405161047091906137f2565b60405180910390f35b34801561048557600080fd5b506104a0600480360381019061049b919061315d565b612318565b6040516104ad919061396c565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d8919061315d565b61233d565b6040516104ea919061394a565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190613199565b6126ef565b005b60007f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f905095945050505050565b60008273ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b8152600401610585919061396c565b60206040518083038186803b15801561059d57600080fd5b505afa1580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906130b4565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063c906138aa565b60405180910390fd5b60608060608573ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561069057600080fd5b505afa9250505080156106c657506040513d6000823e3d601f19601f820116820180604052508101906106c39190613225565b60015b6106e1576040518060200160405280600081525092506106e6565b809350505b8573ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561072c57600080fd5b505afa92505050801561076257506040513d6000823e3d601f19601f8201168201806040525081019061075f9190613225565b60015b61077d57604051806020016040528060008152509150610782565b809250505b8573ffffffffffffffffffffffffffffffffffffffff1663c87b56dd866040518263ffffffff1660e01b81526004016107bb919061396c565b60006040518083038186803b1580156107d357600080fd5b505afa92505050801561080957506040513d6000823e3d601f19601f820116820180604052508101906108069190613225565b60015b61082457604051806020016040528060008152509050610829565b809150505b60006040518061014001604052808781526020018973ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020014281526020018873ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600160ff1681526020018581526020018481526020018381525090806001815401808255809150506001900390600052602060002090600902016000909190919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160050160146101000a81548160ff021916908360ff16021790555060e0820151816006019080519060200190610a10929190612e20565b50610100820151816007019080519060200190610a2e929190612e20565b50610120820151816008019080519060200190610a4c929190612e20565b50505060006001600080549050610a639190613c25565b905080600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088815260200190815260200160002081905550600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff1660e01b8152600401610b5d93929190613716565b600060405180830381600087803b158015610b7757600080fd5b505af1158015610b8b573d6000803e3d6000fd5b505050507f83b3a8754d705365b581ab63c329c1e55255a22aa78c67b5fcef378bfb2d9b998989898985604051610bc69594939291906139e7565b60405180910390a1505050505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c609061390a565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000205490503373ffffffffffffffffffffffffffffffffffffffff1660008281548110610d53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd29061388a565b60405180910390fd5b6000808281548110610e16577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160149054906101000a900460ff1660ff161415610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e709061384a565b60405180910390fd5b4260008281548110610eb4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060090201600301819055506000808281548110610f04577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508273ffffffffffffffffffffffffffffffffffffffff166323b872dd3060008481548110610f84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401610fd593929190613716565b600060405180830381600087803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b505050507f6330f58b476cc7f9dd8db8130a0fbb49b291ebc32531eb36e9646f56ee20174b83838360405161103a93929190613776565b60405180910390a1505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ce9061390a565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000205490503373ffffffffffffffffffffffffffffffffffffffff16600082815481106111c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611249576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112409061388a565b60405180910390fd5b6000808281548110611284577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160149054906101000a900460ff1660ff1614156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de9061384a565b60405180910390fd5b600086111561134157856000828154811061132b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060090201600201819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146114005784600082815481106113b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b426000828154811061143b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160030181905550816000828154811061148b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055507f04211d838289b72af597bf28a4ccff5a30d6056f5fce2eddb127ab4ffea0963d8686868686866040516114ed96959493929190613a3a565b60405180910390a1505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461158d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115849061386a565b60405180910390fd5b6115df82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db590919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f291ce0b690061cb1b3f1111bf6500efe526983251fb0f863251ec3670d035fc48282604051611653929190613987565b60405180910390a15050565b60008080549050905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f49061386a565b60405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f027aeacbc6fbfa7fe735ff8f14a600469ad1a3197ce1c8c8a159641cf68fe59282826040516117b592919061374d565b60405180910390a1919050565b600460205281600052604060002081815481106117de57600080fd5b90600052602060002001600091509150505481565b6000818154811061180357600080fd5b90600052602060002090600902016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050160149054906101000a900460ff16908060060180546118bd90613d55565b80601f01602080910402602001604051908101604052809291908181526020018280546118e990613d55565b80156119365780601f1061190b57610100808354040283529160200191611936565b820191906000526020600020905b81548152906001019060200180831161191957829003601f168201915b50505050509080600701805461194b90613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461197790613d55565b80156119c45780601f10611999576101008083540402835291602001916119c4565b820191906000526020600020905b8154815290600101906020018083116119a757829003601f168201915b5050505050908060080180546119d990613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0590613d55565b8015611a525780601f10611a2757610100808354040283529160200191611a52565b820191906000526020600020905b815481529060010190602001808311611a3557829003601f168201915b505050505090508a565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae59061390a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611bd6578273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83866040518363ffffffff1660e01b8152600401611b7e9291906136ed565b602060405180830381600087803b158015611b9857600080fd5b505af1158015611bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd091906131fc565b50611c0e565b8173ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505090505b7fb524bace85e4ce0f8da306e32f39263c5724780ca00b7551c051c8e3dc36adaf848484604051611c41939291906139b0565b60405180910390a19392505050565b60026020528060005260406000206000915090505481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cef9061390a565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205481548110611dc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff168152602001600682018054611f3090613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5c90613d55565b8015611fa95780601f10611f7e57610100808354040283529160200191611fa9565b820191906000526020600020905b815481529060010190602001808311611f8c57829003601f168201915b50505050508152602001600782018054611fc290613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054611fee90613d55565b801561203b5780601f106120105761010080835404028352916020019161203b565b820191906000526020600020905b81548152906001019060200180831161201e57829003601f168201915b5050505050815260200160088201805461205490613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461208090613d55565b80156120cd5780601f106120a2576101008083540402835291602001916120cd565b820191906000526020600020905b8154815290600101906020018083116120b057829003601f168201915b50505050508152505090508060400151341461211e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612115906138ea565b60405180910390fd5b600080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054815481106121a9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508373ffffffffffffffffffffffffffffffffffffffff166323b872dd3033866040518463ffffffff1660e01b815260040161220f93929190613716565b600060405180830381600087803b15801561222957600080fd5b505af115801561223d573d6000803e3d6000fd5b505050508060a0015173ffffffffffffffffffffffffffffffffffffffff166108fc82604001519081150290604051600060405180830381858888f1935050505091507fc220cf2a12d6492e23ed1141c55018997799699d009b00ebd5a4874c60f5c31e8484600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087815260200190815260200160002054846040015160405161230994939291906137ad565b60405180910390a15092915050565b6003602052816000526040600020602052806000526040600020600091509150505481565b612345612ea6565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905060008082815481106123d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff16815260200160068201805461253c90613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461256890613d55565b80156125b55780601f1061258a576101008083540402835291602001916125b5565b820191906000526020600020905b81548152906001019060200180831161259857829003601f168201915b505050505081526020016007820180546125ce90613d55565b80601f01602080910402602001604051908101604052809291908181526020018280546125fa90613d55565b80156126475780601f1061261c57610100808354040283529160200191612647565b820191906000526020600020905b81548152906001019060200180831161262a57829003601f168201915b5050505050815260200160088201805461266090613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461268c90613d55565b80156126d95780601f106126ae576101008083540402835291602001916126d9565b820191906000526020600020905b8154815290600101906020018083116126bc57829003601f168201915b5050505050815250509050809250505092915050565b600080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868152602001908152602001600020548154811061277a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160405180610140016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820160149054906101000a900460ff1660ff1660ff1681526020016006820180546128e190613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461290d90613d55565b801561295a5780601f1061292f5761010080835404028352916020019161295a565b820191906000526020600020905b81548152906001019060200180831161293d57829003601f168201915b5050505050815260200160078201805461297390613d55565b80601f016020809104026020016040519081016040528092919081815260200182805461299f90613d55565b80156129ec5780601f106129c1576101008083540402835291602001916129ec565b820191906000526020600020905b8154815290600101906020018083116129cf57829003601f168201915b50505050508152602001600882018054612a0590613d55565b80601f0160208091040260200160405190810160405280929190818152602001828054612a3190613d55565b8015612a7e5780601f10612a5357610100808354040283529160200191612a7e565b820191906000526020600020905b815481529060010190602001808311612a6157829003601f168201915b5050505050815250509050612b1681604001516040518060400160405280601981526020017f496e737563636966696369656e74204b534d732066756e647300000000000000815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dcb9092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bb38160400151600260008460a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612db590919063ffffffff16565b600260008360a0015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600080600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008781526020019081526020016000205481548110612c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906009020160050160146101000a81548160ff021916908360ff1602179055508473ffffffffffffffffffffffffffffffffffffffff166323b872dd3084876040518463ffffffff1660e01b8152600401612ceb93929190613716565b600060405180830381600087803b158015612d0557600080fd5b505af1158015612d19573d6000803e3d6000fd5b505050507f68bdd3548f3f05742b376651745ca73472eb18f2230f64b893d7a48e575eb0148585600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000888152602001908152602001600020548460400151604051612da694939291906137ad565b60405180910390a15050505050565b60008183612dc39190613bcf565b905092915050565b6000838311158290612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a9190613828565b60405180910390fd5b5082840390509392505050565b828054612e2c90613d55565b90600052602060002090601f016020900481019282612e4e5760008555612e95565b82601f10612e6757805160ff1916838001178555612e95565b82800160010185558215612e95579182015b82811115612e94578251825591602001919060010190612e79565b5b509050612ea29190612f3e565b5090565b60405180610140016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060ff1681526020016060815260200160608152602001606081525090565b5b80821115612f57576000816000905550600101612f3f565b5090565b6000612f6e612f6984613b71565b613b4c565b905082815260208101848484011115612f8657600080fd5b612f91848285613d22565b509392505050565b600081359050612fa881614010565b92915050565b600081519050612fbd81614010565b92915050565b600081359050612fd281614027565b92915050565b600081519050612fe78161403e565b92915050565b60008083601f840112612fff57600080fd5b8235905067ffffffffffffffff81111561301857600080fd5b60208301915083600182028301111561303057600080fd5b9250929050565b600082601f83011261304857600080fd5b8151613058848260208601612f5b565b91505092915050565b60008135905061307081614055565b92915050565b6000813590506130858161406c565b92915050565b60006020828403121561309d57600080fd5b60006130ab84828501612f99565b91505092915050565b6000602082840312156130c657600080fd5b60006130d484828501612fae565b91505092915050565b6000806000806000608086880312156130f557600080fd5b600061310388828901612f99565b955050602061311488828901612f99565b945050604061312588828901613061565b935050606086013567ffffffffffffffff81111561314257600080fd5b61314e88828901612fed565b92509250509295509295909350565b6000806040838503121561317057600080fd5b600061317e85828601612f99565b925050602061318f85828601613061565b9150509250929050565b600080600080608085870312156131af57600080fd5b60006131bd87828801612f99565b94505060206131ce87828801613061565b93505060406131df87828801612f99565b92505060606131f087828801612f99565b91505092959194509250565b60006020828403121561320e57600080fd5b600061321c84828501612fd8565b91505092915050565b60006020828403121561323757600080fd5b600082015167ffffffffffffffff81111561325157600080fd5b61325d84828501613037565b91505092915050565b60006020828403121561327857600080fd5b600061328684828501613061565b91505092915050565b600080604083850312156132a257600080fd5b60006132b085828601613061565b92505060206132c185828601612f99565b9150509250929050565b6000806000606084860312156132e057600080fd5b60006132ee86828701613061565b93505060206132ff86828701612f99565b925050604061331086828701612fc3565b9150509250925092565b6000806000806080858703121561333057600080fd5b600061333e87828801613061565b945050602061334f87828801612f99565b935050604061336087828801612f99565b925050606061337187828801613061565b91505092959194509250565b600080600080600060a0868803121561339557600080fd5b60006133a388828901613061565b95505060206133b488828901612f99565b94505060406133c588828901612f99565b93505060606133d688828901613061565b92505060806133e788828901613076565b9150509295509295909350565b6133fd81613cec565b82525050565b61340c81613c59565b82525050565b61341b81613c59565b82525050565b61342a81613c7d565b82525050565b61343981613c89565b82525050565b600061344a82613ba2565b6134548185613bad565b9350613464818560208601613d22565b61346d81613e45565b840191505092915050565b600061348382613ba2565b61348d8185613bbe565b935061349d818560208601613d22565b6134a681613e45565b840191505092915050565b60006134be601283613bbe565b91506134c982613e56565b602082019050919050565b60006134e1600f83613bbe565b91506134ec82613e7f565b602082019050919050565b6000613504601d83613bbe565b915061350f82613ea8565b602082019050919050565b6000613527601d83613bbe565b915061353282613ed1565b602082019050919050565b600061354a604183613bbe565b915061355582613efa565b606082019050919050565b600061356d602d83613bbe565b915061357882613f6f565b604082019050919050565b6000613590600e83613bbe565b915061359b82613fbe565b602082019050919050565b60006135b3601083613bbe565b91506135be82613fe7565b602082019050919050565b6000610140830160008301516135e260008601826136b1565b5060208301516135f56020860182613403565b50604083015161360860408601826136b1565b50606083015161361b60608601826136b1565b50608083015161362e6080860182613403565b5060a083015161364160a0860182613403565b5060c083015161365460c08601826136cf565b5060e083015184820360e086015261366c828261343f565b915050610100830151848203610100860152613688828261343f565b9150506101208301518482036101208601526136a4828261343f565b9150508091505092915050565b6136ba81613cd5565b82525050565b6136c981613cd5565b82525050565b6136d881613cdf565b82525050565b6136e781613cdf565b82525050565b600060408201905061370260008301856133f4565b61370f60208301846136c0565b9392505050565b600060608201905061372b6000830186613412565b6137386020830185613412565b61374560408301846136c0565b949350505050565b60006040820190506137626000830185613412565b61376f60208301846136c0565b9392505050565b600060608201905061378b6000830186613412565b61379860208301856136c0565b6137a560408301846136c0565b949350505050565b60006080820190506137c26000830187613412565b6137cf60208301866136c0565b6137dc60408301856136c0565b6137e960608301846136c0565b95945050505050565b60006020820190506138076000830184613421565b92915050565b60006020820190506138226000830184613430565b92915050565b600060208201905081810360008301526138428184613478565b905092915050565b60006020820190508181036000830152613863816134b1565b9050919050565b60006020820190508181036000830152613883816134d4565b9050919050565b600060208201905081810360008301526138a3816134f7565b9050919050565b600060208201905081810360008301526138c38161351a565b9050919050565b600060208201905081810360008301526138e38161353d565b9050919050565b6000602082019050818103600083015261390381613560565b9050919050565b6000602082019050818103600083015261392381613583565b9050919050565b60006020820190508181036000830152613943816135a6565b9050919050565b6000602082019050818103600083015261396481846135c9565b905092915050565b600060208201905061398160008301846136c0565b92915050565b600060408201905061399c60008301856136c0565b6139a96020830184613412565b9392505050565b60006060820190506139c560008301866136c0565b6139d26020830185613412565b6139df60408301846133f4565b949350505050565b600060a0820190506139fc60008301886136c0565b613a096020830187613412565b613a166040830186613412565b613a2360608301856136c0565b613a3060808301846136c0565b9695505050505050565b600060c082019050613a4f60008301896136c0565b613a5c6020830188613412565b613a696040830187613412565b613a7660608301866136c0565b613a8360808301856136de565b613a9060a08301846136c0565b979650505050505050565b600061014082019050613ab1600083018d6136c0565b613abe602083018c613412565b613acb604083018b6136c0565b613ad8606083018a6136c0565b613ae56080830189613412565b613af260a0830188613412565b613aff60c08301876136de565b81810360e0830152613b118186613478565b9050818103610100830152613b268185613478565b9050818103610120830152613b3b8184613478565b90509b9a5050505050505050505050565b6000613b56613b67565b9050613b628282613d87565b919050565b6000604051905090565b600067ffffffffffffffff821115613b8c57613b8b613e16565b5b613b9582613e45565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613bda82613cd5565b9150613be583613cd5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613c1a57613c19613db8565b5b828201905092915050565b6000613c3082613cd5565b9150613c3b83613cd5565b925082821015613c4e57613c4d613db8565b5b828203905092915050565b6000613c6482613cb5565b9050919050565b6000613c7682613cb5565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613cf782613cfe565b9050919050565b6000613d0982613d10565b9050919050565b6000613d1b82613cb5565b9050919050565b60005b83811015613d40578082015181840152602081019050613d25565b83811115613d4f576000848401525b50505050565b60006002820490506001821680613d6d57607f821691505b60208210811415613d8157613d80613de7565b5b50919050565b613d9082613e45565b810181811067ffffffffffffffff82111715613daf57613dae613e16565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f546869732061736b20697320636c6f7365640000000000000000000000000000600082015250565b7f4f6e6c7920657363726f772063616e0000000000000000000000000000000000600082015250565b7f4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b000000600082015250565b7f4f6e6c7920746f6b656e206f776e65722063616e206d616b652061736b000000600082015250565b7f43616e277420616363657074207061796d656e7420776974686f757420636f6c60008201527f6c656374696f6e20616e64204944732c20757365206441707020746f2073656e60208201527f6400000000000000000000000000000000000000000000000000000000000000604082015250565b7f4e6f7420726967687420616d6f756e742073656e742c206861766520746f206260008201527f6520657175616c20707269636500000000000000000000000000000000000000602082015250565b7f4f6e6c79206f776e65722063616e000000000000000000000000000000000000600082015250565b7f4e6f20737563682066756e6374696f6e00000000000000000000000000000000600082015250565b61401981613c59565b811461402457600080fd5b50565b61403081613c6b565b811461403b57600080fd5b50565b61404781613c7d565b811461405257600080fd5b50565b61405e81613cd5565b811461406957600080fd5b50565b61407581613cdf565b811461408057600080fd5b5056fea2646970667358221220890578747aaeea7b95fb3ea4a6653fac314fe903c5ce54b6503bb8fc7b6b3a0264736f6c63430008040033", - "immutableReferences": {}, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:1317:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "70:80:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "80:22:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "95:6:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "89:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "89:13:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "80:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "138:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "111:26:18" - }, - "nodeType": "YulFunctionCall", - "src": "111:33:18" - }, - "nodeType": "YulExpressionStatement", - "src": "111:33:18" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "48:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "56:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "64:5:18", - "type": "" - } - ], - "src": "7:143:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "233:207:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "279:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "288:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "291:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "281:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "281:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "281:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "254:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "263:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "250:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "250:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "275:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "246:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "246:32:18" - }, - "nodeType": "YulIf", - "src": "243:2:18" - }, - { - "nodeType": "YulBlock", - "src": "305:128:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "320:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "324:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "349:74:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "395:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "406:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "391:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "391:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "415:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "359:31:18" - }, - "nodeType": "YulFunctionCall", - "src": "359:64:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "349:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "203:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "214:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "226:6:18", - "type": "" - } - ], - "src": "156:284:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "491:51:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "501:35:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "530:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "512:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "512:24:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "501:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "473:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "483:7:18", - "type": "" - } - ], - "src": "446:96:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "593:81:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "603:65:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "618:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "625:42:18", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "614:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "614:54:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "603:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "575:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "585:7:18", - "type": "" - } - ], - "src": "548:126:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "731:269:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "741:22:18", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "755:4:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "761:1:18", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "751:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "751:12:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "741:6:18" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "772:38:18", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "802:4:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "808:1:18", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "798:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "798:12:18" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "776:18:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "849:51:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "863:27:18", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "877:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "885:4:18", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "873:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "873:17:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "863:6:18" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "829:18:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "822:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "822:26:18" - }, - "nodeType": "YulIf", - "src": "819:2:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "952:42:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "966:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "966:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "966:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "916:18:18" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "939:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "947:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "936:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "936:14:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "913:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "913:38:18" - }, - "nodeType": "YulIf", - "src": "910:2:18" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "715:4:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "724:6:18", - "type": "" - } - ], - "src": "680:320:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1034:152:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1051:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1054:77:18", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1044:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1044:88:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1044:88:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1148:1:18", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1151:4:18", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1141:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1141:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1141:15:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1172:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1175:4:18", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1165:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1165:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1165:15:18" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "1006:180:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1235:79:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1292:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1301:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1304:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1294:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1294:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1294:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1258:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1283:5:18" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "1265:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "1265:24:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1255:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "1255:35:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1248:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1248:43:18" - }, - "nodeType": "YulIf", - "src": "1245:2:18" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1228:5:18", - "type": "" - } - ], - "src": "1192:122:18" - } - ] - }, - "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\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 panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", - "id": 18, - "language": "Yul", - "name": "#utility.yul" - } - ], - "deployedGeneratedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:32063:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "102:259:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "112:75:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "179:6:18" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "137:41:18" - }, - "nodeType": "YulFunctionCall", - "src": "137:49:18" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "121:15:18" - }, - "nodeType": "YulFunctionCall", - "src": "121:66:18" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "112:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "203:5:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "210:6:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "196:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "196:21:18" - }, - "nodeType": "YulExpressionStatement", - "src": "196:21:18" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "226:27:18", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "241:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "248:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "237:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "237:16:18" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "230:3:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "291:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "300:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "303:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "293:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "293:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "293:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "272:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "277:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "268:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "268:16:18" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "286:3:18" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "265:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "265:25:18" - }, - "nodeType": "YulIf", - "src": "262:2:18" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "338:3:18" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "343:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "348:6:18" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "316:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "316:39:18" - }, - "nodeType": "YulExpressionStatement", - "src": "316:39:18" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "75:3:18", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "80:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "88:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "96:5:18", - "type": "" - } - ], - "src": "7:354:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "419:87:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "429:29:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "451:6:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "438:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "438:20:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "429:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "494:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "467:26:18" - }, - "nodeType": "YulFunctionCall", - "src": "467:33:18" - }, - "nodeType": "YulExpressionStatement", - "src": "467:33:18" - } - ] - }, - "name": "abi_decode_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "397:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "405:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "413:5:18", - "type": "" - } - ], - "src": "367:139:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "575:80:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "585:22:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "600:6:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "594:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "594:13:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "585:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "643:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_address", - "nodeType": "YulIdentifier", - "src": "616:26:18" - }, - "nodeType": "YulFunctionCall", - "src": "616:33:18" - }, - "nodeType": "YulExpressionStatement", - "src": "616:33:18" - } - ] - }, - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "553:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "561:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "569:5:18", - "type": "" - } - ], - "src": "512:143:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "721:95:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "731:29:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "753:6:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "740:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "740:20:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "731:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "804:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_address_payable", - "nodeType": "YulIdentifier", - "src": "769:34:18" - }, - "nodeType": "YulFunctionCall", - "src": "769:41:18" - }, - "nodeType": "YulExpressionStatement", - "src": "769:41:18" - } - ] - }, - "name": "abi_decode_t_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "699:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "707:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "715:5:18", - "type": "" - } - ], - "src": "661:155:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "882:77:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "892:22:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "907:6:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "901:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "901:13:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "892:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "947:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_bool", - "nodeType": "YulIdentifier", - "src": "923:23:18" - }, - "nodeType": "YulFunctionCall", - "src": "923:30:18" - }, - "nodeType": "YulExpressionStatement", - "src": "923:30:18" - } - ] - }, - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "860:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "868:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "876:5:18", - "type": "" - } - ], - "src": "822:137:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1052:277:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1101:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1110:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1113:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1103:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1103:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1103:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1080:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1088:4:18", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1076:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1076:17:18" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1095:3:18" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1072:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1072:27:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1065:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1065:35:18" - }, - "nodeType": "YulIf", - "src": "1062:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "1126:30:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1149:6:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1136:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "1136:20:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1126:6:18" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1199:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1208:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1211:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1201:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1201:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1201:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1171:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1179:18:18", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1168:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "1168:30:18" - }, - "nodeType": "YulIf", - "src": "1165:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "1224:29:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1240:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1248:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1236:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1236:17:18" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "1224:8:18" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1307:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1316:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1319:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1309:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1309:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1309:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "1272:8:18" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1286:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1294:4:18", - "type": "", - "value": "0x01" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "1282:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1282:17:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1268:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1268:32:18" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1302:3:18" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1265:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "1265:41:18" - }, - "nodeType": "YulIf", - "src": "1262:2:18" - } - ] - }, - "name": "abi_decode_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1019:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1027:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "1035:8:18", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1045:6:18", - "type": "" - } - ], - "src": "978:351:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1422:215:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1471:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1480:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1483:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1473:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1473:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1473:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1450:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1458:4:18", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1446:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1446:17:18" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1465:3:18" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1442:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1442:27:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1435:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "1435:35:18" - }, - "nodeType": "YulIf", - "src": "1432:2:18" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1496:27:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1516:6:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1510:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "1510:13:18" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1500:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1532:99:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1604:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1612:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1600:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "1600:17:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1619:6:18" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1627:3:18" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "1541:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "1541:90:18" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1532:5:18" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1400:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1408:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "1416:5:18", - "type": "" - } - ], - "src": "1349:288:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1695:87:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1705:29:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1727:6:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1714:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "1714:20:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1705:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1770:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_uint256", - "nodeType": "YulIdentifier", - "src": "1743:26:18" - }, - "nodeType": "YulFunctionCall", - "src": "1743:33:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1743:33:18" - } - ] - }, - "name": "abi_decode_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1673:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1681:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1689:5:18", - "type": "" - } - ], - "src": "1643:139:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1838:85:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1848:29:18", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1870:6:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1857:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "1857:20:18" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1848:5:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1911:5:18" - } - ], - "functionName": { - "name": "validator_revert_t_uint8", - "nodeType": "YulIdentifier", - "src": "1886:24:18" - }, - "nodeType": "YulFunctionCall", - "src": "1886:31:18" - }, - "nodeType": "YulExpressionStatement", - "src": "1886:31:18" - } - ] - }, - "name": "abi_decode_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1816:6:18", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1824:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1832:5:18", - "type": "" - } - ], - "src": "1788:135:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1995:196:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2041:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2050:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2053:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2043:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "2043:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "2043:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2016:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2025:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2012:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2012:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2037:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2008:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2008:32:18" - }, - "nodeType": "YulIf", - "src": "2005:2:18" - }, - { - "nodeType": "YulBlock", - "src": "2067:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2082:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2096:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2086:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2111:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2146:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2157:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2142:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2142:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2166:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "2121:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "2121:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2111:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1965:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1976:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1988:6:18", - "type": "" - } - ], - "src": "1929:262:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2274:207:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2320:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2329:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2332:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2322:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "2322:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "2322:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2295:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2304:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2291:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2291:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2316:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2287:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2287:32:18" - }, - "nodeType": "YulIf", - "src": "2284:2:18" - }, - { - "nodeType": "YulBlock", - "src": "2346:128:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2361:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2375:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2365:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2390:74:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2436:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2447:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2432:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2432:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2456:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "2400:31:18" - }, - "nodeType": "YulFunctionCall", - "src": "2400:64:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2390:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2244:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2255:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2267:6:18", - "type": "" - } - ], - "src": "2197:284:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2623:693:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2670:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2679:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2682:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2672:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "2672:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "2672:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2644:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2653:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2640:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2640:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2665:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2636:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2636:33:18" - }, - "nodeType": "YulIf", - "src": "2633:2:18" - }, - { - "nodeType": "YulBlock", - "src": "2696:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2711:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2725:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2715:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2740:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2775:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2786:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2771:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2771:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2795:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "2750:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "2750:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2740:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "2823:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2838:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2852:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2842:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2868:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2903:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2914:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2899:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "2899:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2923:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "2878:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "2878:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2868:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "2951:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2966:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2980:2:18", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2970:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2996:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3031:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3042:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3027:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3027:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3051:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "3006:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "3006:53:18" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2996:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3079:230:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3094:46:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3125:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3136:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3121:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3121:18:18" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3108:12:18" - }, - "nodeType": "YulFunctionCall", - "src": "3108:32:18" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3098:6:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3187:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3196:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3199:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3189:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "3189:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "3189:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3159:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3167:18:18", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3156:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "3156:30:18" - }, - "nodeType": "YulIf", - "src": "3153:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "3217:82:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3271:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3282:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3267:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3267:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3291:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_bytes_calldata_ptr", - "nodeType": "YulIdentifier", - "src": "3235:31:18" - }, - "nodeType": "YulFunctionCall", - "src": "3235:64:18" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3217:6:18" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "3225:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2561:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2572:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2584:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2592:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2600:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2608:6:18", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "2616:6:18", - "type": "" - } - ], - "src": "2487:829:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3405:324:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3451:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3460:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3463:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3453:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "3453:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "3453:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3426:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3435:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3422:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3422:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3447:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3418:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3418:32:18" - }, - "nodeType": "YulIf", - "src": "3415:2:18" - }, - { - "nodeType": "YulBlock", - "src": "3477:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3492:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3506:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3496:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3521:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3556:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3567:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3552:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3552:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3576:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "3531:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "3531:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3521:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3604:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3619:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3633:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3623:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3649:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3684:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3695:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3680:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3680:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3704:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "3659:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "3659:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3649:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3367:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3378:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3390:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3398:6:18", - "type": "" - } - ], - "src": "3322:407:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3852:581:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3899:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3908:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3911:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3901:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "3901:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "3901:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3873:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3882:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3869:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3869:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3894:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3865:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "3865:33:18" - }, - "nodeType": "YulIf", - "src": "3862:2:18" - }, - { - "nodeType": "YulBlock", - "src": "3925:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3940:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3954:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3944:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3969:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4004:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4015:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4000:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4000:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4024:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "3979:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "3979:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3969:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4052:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4067:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4081:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4071:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4097:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4132:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4143:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4128:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4128:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4152:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "4107:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "4107:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4097:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4180:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4195:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4209:2:18", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4199:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4225:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4260:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4271:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4256:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4256:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4280:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4235:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "4235:53:18" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4225:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "4308:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4323:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4337:2:18", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4327:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4353:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4388:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4399:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4384:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4384:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4408:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "4363:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "4363:53:18" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4353:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3798:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3809:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3821:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3829:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3837:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3845:6:18", - "type": "" - } - ], - "src": "3735:698:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4513:204:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4559:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4571:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4561:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "4561:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "4561:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4534:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4543:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4530:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4530:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4555:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4526:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4526:32:18" - }, - "nodeType": "YulIf", - "src": "4523:2:18" - }, - { - "nodeType": "YulBlock", - "src": "4585:125:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4600:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4614:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4604:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4629:71:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4672:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4683:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4668:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4668:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4692:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "4639:28:18" - }, - "nodeType": "YulFunctionCall", - "src": "4639:61:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4629:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4483:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4494:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4506:6:18", - "type": "" - } - ], - "src": "4439:278:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4810:303:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4856:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4865:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4868:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4858:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "4858:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "4858:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4831:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4840:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4827:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4827:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4852:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4823:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4823:32:18" - }, - "nodeType": "YulIf", - "src": "4820:2:18" - }, - { - "nodeType": "YulBlock", - "src": "4882:224:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4897:38:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4921:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4932:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4917:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "4917:17:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4911:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "4911:24:18" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "4901:6:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4982:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4991:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4994:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4984:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "4984:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "4984:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4954:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4962:18:18", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4951:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "4951:30:18" - }, - "nodeType": "YulIf", - "src": "4948:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "5012:84:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5068:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5079:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5064:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5064:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5088:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "5022:41:18" - }, - "nodeType": "YulFunctionCall", - "src": "5022:74:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5012:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4780:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4791:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4803:6:18", - "type": "" - } - ], - "src": "4723:390:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5185:196:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5231:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5240:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5243:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5233:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "5233:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "5233:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5206:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5215:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5202:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5202:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5227:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5198:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5198:32:18" - }, - "nodeType": "YulIf", - "src": "5195:2:18" - }, - { - "nodeType": "YulBlock", - "src": "5257:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5272:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5286:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5276:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5301:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5336:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5347:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5332:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5332:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5356:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "5311:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "5311:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5301:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5155:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5166:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5178:6:18", - "type": "" - } - ], - "src": "5119:262:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5470:324:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5516:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5525:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5528:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5518:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "5518:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "5518:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5491:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5500:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5487:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5487:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5512:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5483:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5483:32:18" - }, - "nodeType": "YulIf", - "src": "5480:2:18" - }, - { - "nodeType": "YulBlock", - "src": "5542:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5557:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5571:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5561:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5586:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5621:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5632:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5617:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5617:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5641:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "5596:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "5596:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5586:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "5669:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5684:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5698:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5688:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5714:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5749:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5760:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5745:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5745:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5769:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "5724:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "5724:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5714:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5432:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5443:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5455:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5463:6:18", - "type": "" - } - ], - "src": "5387:407:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5908:460:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5954:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5963:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5966:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5956:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "5956:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "5956:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5929:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5938:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5925:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5925:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5950:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5921:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "5921:32:18" - }, - "nodeType": "YulIf", - "src": "5918:2:18" - }, - { - "nodeType": "YulBlock", - "src": "5980:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5995:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6009:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5999:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6024:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6059:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6070:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6055:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6055:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6079:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "6034:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "6034:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6024:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6107:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6122:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6136:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6126:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6152:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6187:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6198:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6183:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6183:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6207:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6162:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "6162:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6152:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6235:126:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6250:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6264:2:18", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6254:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6280:71:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6323:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6334:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6319:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6319:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6343:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address_payable", - "nodeType": "YulIdentifier", - "src": "6290:28:18" - }, - "nodeType": "YulFunctionCall", - "src": "6290:61:18" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6280:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_addresst_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5862:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5873:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5885:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5893:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5901:6:18", - "type": "" - } - ], - "src": "5800:568:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6491:581:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6538:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6547:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6550:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6540:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "6540:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "6540:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6512:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6521:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6508:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6508:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6533:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6504:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6504:33:18" - }, - "nodeType": "YulIf", - "src": "6501:2:18" - }, - { - "nodeType": "YulBlock", - "src": "6564:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6579:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6593:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6583:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6608:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6643:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6654:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6639:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6639:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6663:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "6618:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "6618:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6608:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6691:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6706:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6720:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6710:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6736:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6771:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6782:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6767:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6767:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6791:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6746:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "6746:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6736:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6819:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6834:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6848:2:18", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6838:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6864:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6899:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6910:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6895:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "6895:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6919:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6874:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "6874:53:18" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6864:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6947:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6962:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6976:2:18", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6966:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6992:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7027:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7038:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7023:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7023:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7047:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "7002:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "7002:53:18" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6992:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6437:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6448:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6460:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6468:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6476:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6484:6:18", - "type": "" - } - ], - "src": "6374:698:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7210:708:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7257:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7266:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7269:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7259:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "7259:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "7259:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7231:7:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7240:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7227:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7227:23:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7252:3:18", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7223:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7223:33:18" - }, - "nodeType": "YulIf", - "src": "7220:2:18" - }, - { - "nodeType": "YulBlock", - "src": "7283:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7298:15:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7312:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7302:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7327:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7362:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7373:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7358:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7358:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7382:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "7337:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "7337:53:18" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7327:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7410:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7425:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7439:2:18", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7429:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7455:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7490:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7501:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7486:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7486:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7510:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "7465:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "7465:53:18" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7455:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7538:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7553:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7567:2:18", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7557:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7583:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7618:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7629:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7614:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7614:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7638:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "7593:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "7593:53:18" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7583:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7666:118:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7681:16:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7695:2:18", - "type": "", - "value": "96" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7685:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7711:63:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7746:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7757:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7742:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7742:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7766:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "7721:20:18" - }, - "nodeType": "YulFunctionCall", - "src": "7721:53:18" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "7711:6:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7794:117:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7809:17:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7823:3:18", - "type": "", - "value": "128" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7813:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7840:61:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7873:9:18" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7884:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7869:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "7869:22:18" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7893:7:18" - } - ], - "functionName": { - "name": "abi_decode_t_uint8", - "nodeType": "YulIdentifier", - "src": "7850:18:18" - }, - "nodeType": "YulFunctionCall", - "src": "7850:51:18" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7840:6:18" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_addresst_addresst_uint256t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7148:9:18", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7159:7:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7171:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7179:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7187:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "7195:6:18", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "7203:6:18", - "type": "" - } - ], - "src": "7078:840:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7997:74:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8014:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8058:5:18" - } - ], - "functionName": { - "name": "convert_t_address_payable_to_t_address", - "nodeType": "YulIdentifier", - "src": "8019:38:18" - }, - "nodeType": "YulFunctionCall", - "src": "8019:45:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8007:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "8007:58:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8007:58:18" - } - ] - }, - "name": "abi_encode_t_address_payable_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7985:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7992:3:18", - "type": "" - } - ], - "src": "7924:147:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8132:53:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8149:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8172:5:18" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "8154:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "8154:24:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8142:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "8142:37:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8142:37:18" - } - ] - }, - "name": "abi_encode_t_address_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8120:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8127:3:18", - "type": "" - } - ], - "src": "8077:108:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8256:53:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8273:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8296:5:18" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "8278:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "8278:24:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8266:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "8266:37:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8266:37:18" - } - ] - }, - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8244:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8251:3:18", - "type": "" - } - ], - "src": "8191:118:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8374:50:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8391:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8411:5:18" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "8396:14:18" - }, - "nodeType": "YulFunctionCall", - "src": "8396:21:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8384:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "8384:34:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8384:34:18" - } - ] - }, - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8362:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8369:3:18", - "type": "" - } - ], - "src": "8315:109:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8493:52:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8510:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8532:5:18" - } - ], - "functionName": { - "name": "cleanup_t_bytes4", - "nodeType": "YulIdentifier", - "src": "8515:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "8515:23:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8503:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "8503:36:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8503:36:18" - } - ] - }, - "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8481:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8488:3:18", - "type": "" - } - ], - "src": "8430:115:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8633:262:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8643:53:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8690:5:18" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8657:32:18" - }, - "nodeType": "YulFunctionCall", - "src": "8657:39:18" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8647:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8705:68:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8761:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8766:6:18" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "8712:48:18" - }, - "nodeType": "YulFunctionCall", - "src": "8712:61:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8705:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8808:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8815:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8804:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "8804:16:18" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8822:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8827:6:18" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "8782:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "8782:52:18" - }, - "nodeType": "YulExpressionStatement", - "src": "8782:52:18" - }, - { - "nodeType": "YulAssignment", - "src": "8843:46:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8854:3:18" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8881:6:18" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "8859:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "8859:29:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8850:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "8850:39:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8843:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8614:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8621:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8629:3:18", - "type": "" - } - ], - "src": "8551:344:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8993:272:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9003:53:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9050:5:18" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "9017:32:18" - }, - "nodeType": "YulFunctionCall", - "src": "9017:39:18" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "9007:6:18", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9065:78:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9131:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9136:6:18" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9072:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "9072:71:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9065:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9178:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9185:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9174:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "9174:16:18" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9192:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9197:6:18" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "9152:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "9152:52:18" - }, - "nodeType": "YulExpressionStatement", - "src": "9152:52:18" - }, - { - "nodeType": "YulAssignment", - "src": "9213:46:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9224:3:18" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9251:6:18" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "9229:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "9229:29:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9220:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "9220:39:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9213:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8974:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8981:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8989:3:18", - "type": "" - } - ], - "src": "8901:364:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9417:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9427:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9493:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9498:2:18", - "type": "", - "value": "18" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9434:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "9434:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9427:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9599:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "nodeType": "YulIdentifier", - "src": "9510:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "9510:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "9510:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "9612:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9623:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9628:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9619:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "9619:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9612:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9405:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9413:3:18", - "type": "" - } - ], - "src": "9271:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9789:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9799:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9865:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9870:2:18", - "type": "", - "value": "15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "9806:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "9806:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9799:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9971:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "nodeType": "YulIdentifier", - "src": "9882:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "9882:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "9882:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "9984:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9995:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10000:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9991:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "9991:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9984:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9777:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9785:3:18", - "type": "" - } - ], - "src": "9643:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10161:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10171:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10237:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10242:2:18", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10178:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "10178:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10171:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10343:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "nodeType": "YulIdentifier", - "src": "10254:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "10254:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "10254:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "10356:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10367:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10372:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10363:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "10363:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "10356:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10149:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10157:3:18", - "type": "" - } - ], - "src": "10015:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10533:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10543:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10609:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10614:2:18", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10550:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "10550:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10543:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10715:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "nodeType": "YulIdentifier", - "src": "10626:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "10626:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "10626:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "10728:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10739:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10744:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10735:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "10735:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "10728:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10521:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10529:3:18", - "type": "" - } - ], - "src": "10387:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10905:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10915:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10981:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10986:2:18", - "type": "", - "value": "65" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "10922:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "10922:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10915:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11087:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "nodeType": "YulIdentifier", - "src": "10998:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "10998:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "10998:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "11100:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11111:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11116:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11107:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "11107:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11100:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10893:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10901:3:18", - "type": "" - } - ], - "src": "10759:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11277:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11287:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11353:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11358:2:18", - "type": "", - "value": "45" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11294:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "11294:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11287:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11459:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "nodeType": "YulIdentifier", - "src": "11370:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "11370:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "11370:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "11472:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11483:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11488:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11479:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "11479:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11472:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11265:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11273:3:18", - "type": "" - } - ], - "src": "11131:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11649:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11659:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11725:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11730:2:18", - "type": "", - "value": "14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "11666:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "11666:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11659:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11831:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "nodeType": "YulIdentifier", - "src": "11742:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "11742:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "11742:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "11844:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11855:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11860:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11851:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "11851:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11844:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11637:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11645:3:18", - "type": "" - } - ], - "src": "11503:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12021:220:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12031:74:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12097:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12102:2:18", - "type": "", - "value": "16" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "12038:58:18" - }, - "nodeType": "YulFunctionCall", - "src": "12038:67:18" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12031:3:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12203:3:18" - } - ], - "functionName": { - "name": "store_literal_in_memory_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "nodeType": "YulIdentifier", - "src": "12114:88:18" - }, - "nodeType": "YulFunctionCall", - "src": "12114:93:18" - }, - "nodeType": "YulExpressionStatement", - "src": "12114:93:18" - }, - { - "nodeType": "YulAssignment", - "src": "12216:19:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12227:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12232:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12223:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12223:12:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "12216:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12009:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "12017:3:18", - "type": "" - } - ], - "src": "11875:366:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12427:2057:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12437:28:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12453:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12458:6:18", - "type": "", - "value": "0x0140" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12449:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12449:16:18" - }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12441:4:18", - "type": "" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "12475:165:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12511:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12541:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12548:4:18", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12537:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12537:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12531:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "12531:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "12515:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "12601:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12619:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12624:4:18", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12615:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12615:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "12567:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "12567:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "12567:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "12650:172:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12693:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12723:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12730:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12719:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12719:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12713:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "12713:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "12697:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "12783:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12801:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12806:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12797:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12797:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address", - "nodeType": "YulIdentifier", - "src": "12749:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "12749:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "12749:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "12832:165:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12868:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12898:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12905:4:18", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12894:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12894:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12888:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "12888:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "12872:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "12958:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "12976:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12981:4:18", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12972:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "12972:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "12924:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "12924:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "12924:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13007:164:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13042:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13072:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13079:4:18", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13068:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13068:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13062:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "13062:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "13046:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "13132:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13150:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13155:4:18", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13146:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13146:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256", - "nodeType": "YulIdentifier", - "src": "13098:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "13098:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "13098:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13181:172:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13224:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13254:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13261:4:18", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13250:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13250:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13244:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "13244:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "13228:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "13314:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13332:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13337:4:18", - "type": "", - "value": "0x80" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13328:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13328:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address", - "nodeType": "YulIdentifier", - "src": "13280:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "13280:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "13280:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13363:169:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13403:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13433:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13440:4:18", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13429:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13429:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13423:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "13423:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "13407:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "13493:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13511:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13516:4:18", - "type": "", - "value": "0xa0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13507:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13507:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address", - "nodeType": "YulIdentifier", - "src": "13459:33:18" - }, - "nodeType": "YulFunctionCall", - "src": "13459:63:18" - }, - "nodeType": "YulExpressionStatement", - "src": "13459:63:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13542:166:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13583:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13613:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13620:4:18", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13609:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13609:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13603:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "13603:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "13587:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "13669:12:18" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13687:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13692:4:18", - "type": "", - "value": "0xc0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13683:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13683:14:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8", - "nodeType": "YulIdentifier", - "src": "13639:29:18" - }, - "nodeType": "YulFunctionCall", - "src": "13639:59:18" - }, - "nodeType": "YulExpressionStatement", - "src": "13639:59:18" - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13718:235:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13753:43:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13783:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13790:4:18", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13779:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13779:16:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13773:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "13773:23:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "13757:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13821:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13826:4:18", - "type": "", - "value": "0xe0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13817:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13817:14:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13837:4:18" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13843:3:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13833:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "13833:14:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13810:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "13810:38:18" - }, - "nodeType": "YulExpressionStatement", - "src": "13810:38:18" - }, - { - "nodeType": "YulAssignment", - "src": "13861:81:18", - "value": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "13923:12:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13937:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "13869:53:18" - }, - "nodeType": "YulFunctionCall", - "src": "13869:73:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13861:4:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "13963:241:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14000:45:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14030:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14037:6:18", - "type": "", - "value": "0x0100" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14026:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14026:18:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14020:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "14020:25:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "14004:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14070:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14075:6:18", - "type": "", - "value": "0x0100" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14066:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14066:16:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14088:4:18" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14094:3:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14084:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14084:14:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14059:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14059:40:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14059:40:18" - }, - { - "nodeType": "YulAssignment", - "src": "14112:81:18", - "value": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "14174:12:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14188:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "14120:53:18" - }, - "nodeType": "YulFunctionCall", - "src": "14120:73:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14112:4:18" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "14214:243:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "14253:45:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14283:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14290:6:18", - "type": "", - "value": "0x0120" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14279:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14279:18:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "14273:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "14273:25:18" - }, - "variables": [ - { - "name": "memberValue0", - "nodeType": "YulTypedName", - "src": "14257:12:18", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14323:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14328:6:18", - "type": "", - "value": "0x0120" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14319:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14319:16:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14341:4:18" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14347:3:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14337:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "14337:14:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14312:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14312:40:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14312:40:18" - }, - { - "nodeType": "YulAssignment", - "src": "14365:81:18", - "value": { - "arguments": [ - { - "name": "memberValue0", - "nodeType": "YulIdentifier", - "src": "14427:12:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14441:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "14373:53:18" - }, - "nodeType": "YulFunctionCall", - "src": "14373:73:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14365:4:18" - } - ] - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14467:11:18", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14474:4:18" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "14467:3:18" - } - ] - } - ] - }, - "name": "abi_encode_t_struct$_Order_$2593_memory_ptr_to_t_struct$_Order_$2593_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12406:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "12413:3:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "12422:3:18", - "type": "" - } - ], - "src": "12307:2177:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14545:53:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14562:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14585:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "14567:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "14567:24:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14555:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14555:37:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14555:37:18" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14533:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14540:3:18", - "type": "" - } - ], - "src": "14490:108:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14669:53:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14686:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14709:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "14691:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "14691:24:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14679:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14679:37:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14679:37:18" - } - ] - }, - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14657:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14664:3:18", - "type": "" - } - ], - "src": "14604:118:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14779:51:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14796:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14817:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "14801:15:18" - }, - "nodeType": "YulFunctionCall", - "src": "14801:22:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14789:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14789:35:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14789:35:18" - } - ] - }, - "name": "abi_encode_t_uint8_to_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14767:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14774:3:18", - "type": "" - } - ], - "src": "14728:102:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14897:51:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14914:3:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "14935:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "14919:15:18" - }, - "nodeType": "YulFunctionCall", - "src": "14919:22:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14907:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "14907:35:18" - }, - "nodeType": "YulExpressionStatement", - "src": "14907:35:18" - } - ] - }, - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "14885:5:18", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14892:3:18", - "type": "" - } - ], - "src": "14836:112:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15088:214:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15098:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15110:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15121:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15106:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15106:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15098:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15186:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15199:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15210:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15195:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15195:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_payable_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "15134:51:18" - }, - "nodeType": "YulFunctionCall", - "src": "15134:79:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15134:79:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15267:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15280:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15291:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15276:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15276:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "15223:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "15223:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15223:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15052:9:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15064:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15072:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15083:4:18", - "type": "" - } - ], - "src": "14954:348:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15462:288:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15472:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15484:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15495:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15480:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15480:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15472:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15552:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15565:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15576:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15561:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15561:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "15508:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "15508:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15508:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15633:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15646:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15657:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15642:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15642:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "15589:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "15589:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15589:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "15715:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15728:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15739:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15724:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15724:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "15671:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "15671:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15671:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15418:9:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "15430:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15438:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15446:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15457:4:18", - "type": "" - } - ], - "src": "15308:442:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15882:206:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "15892:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15904:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15915:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15900:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15900:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15892:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15972:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15985:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15996:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15981:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "15981:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "15928:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "15928:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "15928:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16053:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16066:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16077:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16062:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16062:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16009:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16009:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16009:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15846:9:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15858:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15866:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15877:4:18", - "type": "" - } - ], - "src": "15756:332:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16248:288:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16258:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16270:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16281:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16266:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16266:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16258:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16338:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16351:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16362:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16347:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16347:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "16294:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16294:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16294:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16419:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16432:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16443:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16428:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16428:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16375:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16375:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16375:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "16501:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16514:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16525:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16510:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16510:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16457:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16457:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16457:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16204:9:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "16216:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16224:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16232:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16243:4:18", - "type": "" - } - ], - "src": "16094:442:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16724:371:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16734:27:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16746:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16757:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16742:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16742:19:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16734:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16815:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16828:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16839:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16824:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16824:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "16771:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16771:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16771:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16896:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16909:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16920:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16905:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16905:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16852:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16852:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16852:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "16978:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16991:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17002:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16987:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "16987:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "16934:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "16934:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "16934:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "17060:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17073:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17084:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17069:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17069:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "17016:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "17016:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "17016:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16672:9:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "16684:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "16692:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16700:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16708:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16719:4:18", - "type": "" - } - ], - "src": "16542:553:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17193:118:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17203:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17215:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17226:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17211:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17211:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17203:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17277:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17290:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17301:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17286:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17286:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_bool_to_t_bool_fromStack", - "nodeType": "YulIdentifier", - "src": "17239:37:18" - }, - "nodeType": "YulFunctionCall", - "src": "17239:65:18" - }, - "nodeType": "YulExpressionStatement", - "src": "17239:65:18" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17165:9:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17177:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17188:4:18", - "type": "" - } - ], - "src": "17101:210:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17413:122:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17423:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17435:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17446:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17431:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17431:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17423:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17501:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17514:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17525:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17510:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17510:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", - "nodeType": "YulIdentifier", - "src": "17459:41:18" - }, - "nodeType": "YulFunctionCall", - "src": "17459:69:18" - }, - "nodeType": "YulExpressionStatement", - "src": "17459:69:18" - } - ] - }, - "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17385:9:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17397:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17408:4:18", - "type": "" - } - ], - "src": "17317:218:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17659:195:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17669:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17681:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17692:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17677:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17677:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17669:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17716:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17727:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17712:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17712:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17735:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17741:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17731:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "17731:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17705:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "17705:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "17705:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "17761:86:18", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17833:6:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17842:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "17769:63:18" - }, - "nodeType": "YulFunctionCall", - "src": "17769:78:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17761:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17631:9:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17643:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17654:4:18", - "type": "" - } - ], - "src": "17541:313:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18031:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18041:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18053:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18064:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18049:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18049:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18041:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18088:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18099:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18084:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18084:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18107:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18113:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18103:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18103:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18077:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "18077:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "18077:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "18133:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18267:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "18141:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "18141:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18133:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18011:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18026:4:18", - "type": "" - } - ], - "src": "17860:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18456:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18466:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18478:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18489:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18474:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18474:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18466:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18513:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18524:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18509:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18509:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18532:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18538:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18528:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18528:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18502:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "18502:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "18502:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "18558:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18692:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "18566:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "18566:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18558:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18436:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18451:4:18", - "type": "" - } - ], - "src": "18285:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18881:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18891:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18903:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18914:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18899:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18899:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18891:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18938:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18949:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18934:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18934:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18957:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18963:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18953:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "18953:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18927:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "18927:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "18927:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "18983:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19117:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "18991:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "18991:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18983:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18861:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18876:4:18", - "type": "" - } - ], - "src": "18710:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19306:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19316:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19328:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19339:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19324:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19324:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19316:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19363:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19374:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19359:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19359:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19382:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19388:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19378:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19378:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19352:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "19352:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "19352:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "19408:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19542:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19416:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "19416:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19408:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19286:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19301:4:18", - "type": "" - } - ], - "src": "19135:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19731:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19741:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19753:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19764:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19749:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19749:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19741:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19788:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19799:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19784:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19784:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19807:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19813:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19803:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "19803:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19777:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "19777:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "19777:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "19833:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19967:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19841:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "19841:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19833:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19711:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19726:4:18", - "type": "" - } - ], - "src": "19560:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20156:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20166:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20178:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20189:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20174:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20174:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20166:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20213:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20224:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20209:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20209:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20232:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20238:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20228:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20228:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20202:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "20202:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "20202:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "20258:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20392:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "20266:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "20266:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20258:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20136:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20151:4:18", - "type": "" - } - ], - "src": "19985:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20581:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20591:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20603:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20614:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20599:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20599:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20591:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20638:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20649:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20634:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20634:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20657:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "20663:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "20653:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "20653:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20627:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "20627:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "20627:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "20683:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20817:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "20691:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "20691:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "20683:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20561:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "20576:4:18", - "type": "" - } - ], - "src": "20410:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21006:248:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21016:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21028:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21039:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21024:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21024:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21016:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21063:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21074:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21059:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21059:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21082:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21088:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21078:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21078:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21052:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "21052:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "21052:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "21108:139:18", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21242:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21116:124:18" - }, - "nodeType": "YulFunctionCall", - "src": "21116:131:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21108:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "20986:9:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21001:4:18", - "type": "" - } - ], - "src": "20835:419:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21404:221:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21414:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21426:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21437:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21422:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21422:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21414:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21461:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21472:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21457:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21457:17:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21480:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21486:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21476:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21476:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21450:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "21450:47:18" - }, - "nodeType": "YulExpressionStatement", - "src": "21450:47:18" - }, - { - "nodeType": "YulAssignment", - "src": "21506:112:18", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21604:6:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21613:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_struct$_Order_$2593_memory_ptr_to_t_struct$_Order_$2593_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21514:89:18" - }, - "nodeType": "YulFunctionCall", - "src": "21514:104:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21506:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_struct$_Order_$2593_memory_ptr__to_t_struct$_Order_$2593_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21376:9:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21388:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21399:4:18", - "type": "" - } - ], - "src": "21260:365:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21729:124:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21739:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21751:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21762:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21747:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21747:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21739:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21819:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21832:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21843:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21828:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "21828:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "21775:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "21775:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "21775:71:18" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21701:9:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21713:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21724:4:18", - "type": "" - } - ], - "src": "21631:222:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21985:206:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21995:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22007:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22018:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22003:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22003:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21995:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22075:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22088:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22099:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22084:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22084:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22031:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22031:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22031:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22156:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22169:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22180:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22165:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22165:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22112:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22112:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22112:72:18" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21949:9:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "21961:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21969:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21980:4:18", - "type": "" - } - ], - "src": "21859:332:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22359:296:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22369:26:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22381:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22392:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22377:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22377:18:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22369:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22449:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22462:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22473:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22458:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22458:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22405:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22405:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22405:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22530:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22543:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22554:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22539:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22539:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22486:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22486:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22486:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22620:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22633:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22644:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22629:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22629:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_payable_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22568:51:18" - }, - "nodeType": "YulFunctionCall", - "src": "22568:80:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22568:80:18" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_address_payable__to_t_uint256_t_address_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22315:9:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22327:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22335:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22343:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22354:4:18", - "type": "" - } - ], - "src": "22197:458:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22871:454:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22881:27:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22893:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22904:3:18", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22889:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22889:19:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22881:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22962:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22975:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22986:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22971:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "22971:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22918:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22918:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22918:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "23043:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23056:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23067:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23052:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23052:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22999:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "22999:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "22999:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "23125:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23138:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23149:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23134:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23134:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "23081:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23081:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23081:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "23207:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23220:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23231:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23216:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23216:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "23163:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23163:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23163:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "23289:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23302:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23313:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23298:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23298:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "23245:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23245:73:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23245:73:18" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_address_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22811:9:18", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "22823:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22831:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22839:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22847:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22855:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22866:4:18", - "type": "" - } - ], - "src": "22661:664:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23565:533:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23575:27:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23587:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23598:3:18", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23583:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23583:19:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23575:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "23656:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23669:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23680:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23665:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23665:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "23612:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23612:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23612:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "23737:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23750:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23761:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23746:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23746:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "23693:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23693:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23693:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "23819:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23832:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23843:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23828:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23828:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "23775:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23775:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23775:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "23901:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23914:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23925:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23910:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23910:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "23857:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "23857:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23857:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "23979:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23992:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24003:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23988:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "23988:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "23939:39:18" - }, - "nodeType": "YulFunctionCall", - "src": "23939:69:18" - }, - "nodeType": "YulExpressionStatement", - "src": "23939:69:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "24062:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24075:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24086:3:18", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24071:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24071:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "24018:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24018:73:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24018:73:18" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_address_t_uint256_t_uint8_t_uint256__to_t_uint256_t_address_t_address_t_uint256_t_uint8_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "23497:9:18", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "23509:6:18", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "23517:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "23525:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "23533:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "23541:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "23549:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "23560:4:18", - "type": "" - } - ], - "src": "23331:767:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24510:1078:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24520:27:18", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24532:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24543:3:18", - "type": "", - "value": "320" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24528:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24528:19:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24520:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "24601:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24614:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24625:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24610:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24610:17:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "24557:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24557:71:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24557:71:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "24682:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24695:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24706:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24691:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24691:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "24638:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24638:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24638:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "24764:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24777:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24788:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24773:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24773:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "24720:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24720:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24720:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "24846:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24859:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24870:2:18", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24855:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24855:18:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "24802:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24802:72:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24802:72:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "24928:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24941:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24952:3:18", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24937:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "24937:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "24884:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24884:73:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24884:73:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "25011:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25024:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25035:3:18", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25020:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25020:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "24967:43:18" - }, - "nodeType": "YulFunctionCall", - "src": "24967:73:18" - }, - "nodeType": "YulExpressionStatement", - "src": "24967:73:18" - }, - { - "expression": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "25090:6:18" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25103:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25114:3:18", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25099:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25099:19:18" - } - ], - "functionName": { - "name": "abi_encode_t_uint8_to_t_uint8_fromStack", - "nodeType": "YulIdentifier", - "src": "25050:39:18" - }, - "nodeType": "YulFunctionCall", - "src": "25050:69:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25050:69:18" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25140:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25151:3:18", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25136:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25136:19:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25161:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25167:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25157:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25157:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25129:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "25129:49:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25129:49:18" - }, - { - "nodeType": "YulAssignment", - "src": "25187:86:18", - "value": { - "arguments": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "25259:6:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25268:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25195:63:18" - }, - "nodeType": "YulFunctionCall", - "src": "25195:78:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25187:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25294:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25305:3:18", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25290:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25290:19:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25315:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25321:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25311:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25311:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25283:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "25283:49:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25283:49:18" - }, - { - "nodeType": "YulAssignment", - "src": "25341:86:18", - "value": { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "25413:6:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25422:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25349:63:18" - }, - "nodeType": "YulFunctionCall", - "src": "25349:78:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25341:4:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25448:9:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25459:3:18", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25444:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25444:19:18" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25469:4:18" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25475:9:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25465:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "25465:20:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25437:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "25437:49:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25437:49:18" - }, - { - "nodeType": "YulAssignment", - "src": "25495:86:18", - "value": { - "arguments": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "25567:6:18" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25576:4:18" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "25503:63:18" - }, - "nodeType": "YulFunctionCall", - "src": "25503:78:18" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "25495:4:18" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_address_t_address_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_address_t_address_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "24410:9:18", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "24422:6:18", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "24430:6:18", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "24438:6:18", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "24446:6:18", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "24454:6:18", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "24462:6:18", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "24470:6:18", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "24478:6:18", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "24486:6:18", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "24494:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "24505:4:18", - "type": "" - } - ], - "src": "24104:1484:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25635:88:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25645:30:18", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "25655:18:18" - }, - "nodeType": "YulFunctionCall", - "src": "25655:20:18" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25645:6:18" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25704:6:18" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "25712:4:18" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "25684:19:18" - }, - "nodeType": "YulFunctionCall", - "src": "25684:33:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25684:33:18" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "25619:4:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "25628:6:18", - "type": "" - } - ], - "src": "25594:129:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25769:35:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "25779:19:18", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25795:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "25789:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "25789:9:18" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25779:6:18" - } - ] - } - ] - }, - "name": "allocate_unbounded", - "nodeType": "YulFunctionDefinition", - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "25762:6:18", - "type": "" - } - ], - "src": "25729:75:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25877:241:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "25982:22:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "25984:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "25984:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "25984:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "25954:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25962:18:18", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "25951:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "25951:30:18" - }, - "nodeType": "YulIf", - "src": "25948:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "26014:37:18", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "26044:6:18" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "26022:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "26022:29:18" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "26014:4:18" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "26088:23:18", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "26100:4:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26106:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26096:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "26096:15:18" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "26088:4:18" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "25861:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "25872:4:18", - "type": "" - } - ], - "src": "25810:308:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26183:40:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26194:22:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "26210:5:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "26204:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "26204:12:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "26194:6:18" - } - ] - } - ] - }, - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "26166:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "26176:6:18", - "type": "" - } - ], - "src": "26124:99:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26315:73:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26332:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "26337:6:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26325:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "26325:19:18" - }, - "nodeType": "YulExpressionStatement", - "src": "26325:19:18" - }, - { - "nodeType": "YulAssignment", - "src": "26353:29:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26372:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26377:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26368:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "26368:14:18" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "26353:11:18" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "26287:3:18", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "26292:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "26303:11:18", - "type": "" - } - ], - "src": "26229:159:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26490:73:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26507:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "26512:6:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26500:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "26500:19:18" - }, - "nodeType": "YulExpressionStatement", - "src": "26500:19:18" - }, - { - "nodeType": "YulAssignment", - "src": "26528:29:18", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26547:3:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26552:4:18", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26543:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "26543:14:18" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "26528:11:18" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "26462:3:18", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "26467:6:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "26478:11:18", - "type": "" - } - ], - "src": "26394:169:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26613:261:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26623:25:18", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26646:1:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "26628:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "26628:20:18" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26623:1:18" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "26657:25:18", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26680:1:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "26662:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "26662:20:18" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26657:1:18" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26820:22:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "26822:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "26822:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "26822:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26741:1:18" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26748:66:18", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26816:1:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26744:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "26744:74:18" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "26738:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "26738:81:18" - }, - "nodeType": "YulIf", - "src": "26735:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "26852:16:18", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26863:1:18" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26866:1:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26859:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "26859:9:18" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "26852:3:18" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "26600:1:18", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "26603:1:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "26609:3:18", - "type": "" - } - ], - "src": "26569:305:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26925:146:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26935:25:18", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26958:1:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "26940:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "26940:20:18" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26935:1:18" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "26969:25:18", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26992:1:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "26974:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "26974:20:18" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26969:1:18" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27016:22:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "27018:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "27018:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "27018:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "27010:1:18" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "27013:1:18" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "27007:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "27007:8:18" - }, - "nodeType": "YulIf", - "src": "27004:2:18" - }, - { - "nodeType": "YulAssignment", - "src": "27048:17:18", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "27060:1:18" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "27063:1:18" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27056:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "27056:9:18" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "27048:4:18" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "26911:1:18", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "26914:1:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "26920:4:18", - "type": "" - } - ], - "src": "26880:191:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27122:51:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27132:35:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27161:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "27143:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "27143:24:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27132:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27104:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27114:7:18", - "type": "" - } - ], - "src": "27077:96:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27232:51:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27242:35:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27271:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "27253:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "27253:24:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27242:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27214:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27224:7:18", - "type": "" - } - ], - "src": "27179:104:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27331:48:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27341:32:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27366:5:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "27359:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "27359:13:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "27352:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "27352:21:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27341:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27313:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27323:7:18", - "type": "" - } - ], - "src": "27289:90:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27429:105:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27439:89:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27454:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27461:66:18", - "type": "", - "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "27450:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "27450:78:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27439:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_bytes4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27411:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27421:7:18", - "type": "" - } - ], - "src": "27385:149:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27585:81:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27595:65:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27610:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27617:42:18", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "27606:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "27606:54:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27595:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27567:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27577:7:18", - "type": "" - } - ], - "src": "27540:126:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27717:32:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27727:16:18", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27738:5:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27727:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27699:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27709:7:18", - "type": "" - } - ], - "src": "27672:77:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27798:43:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27808:27:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27823:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27830:4:18", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "27819:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "27819:16:18" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "27808:7:18" - } - ] - } - ] - }, - "name": "cleanup_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27780:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "27790:7:18", - "type": "" - } - ], - "src": "27755:86:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27915:66:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27925:50:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "27969:5:18" - } - ], - "functionName": { - "name": "convert_t_uint160_to_t_address", - "nodeType": "YulIdentifier", - "src": "27938:30:18" - }, - "nodeType": "YulFunctionCall", - "src": "27938:37:18" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "27925:9:18" - } - ] - } - ] - }, - "name": "convert_t_address_payable_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "27895:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "27905:9:18", - "type": "" - } - ], - "src": "27847:134:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28047:66:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28057:50:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "28101:5:18" - } - ], - "functionName": { - "name": "convert_t_uint160_to_t_uint160", - "nodeType": "YulIdentifier", - "src": "28070:30:18" - }, - "nodeType": "YulFunctionCall", - "src": "28070:37:18" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "28057:9:18" - } - ] - } - ] - }, - "name": "convert_t_uint160_to_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "28027:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "28037:9:18", - "type": "" - } - ], - "src": "27987:126:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28179:53:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28189:37:18", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "28220:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint160", - "nodeType": "YulIdentifier", - "src": "28202:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "28202:24:18" - }, - "variableNames": [ - { - "name": "converted", - "nodeType": "YulIdentifier", - "src": "28189:9:18" - } - ] - } - ] - }, - "name": "convert_t_uint160_to_t_uint160", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "28159:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "converted", - "nodeType": "YulTypedName", - "src": "28169:9:18", - "type": "" - } - ], - "src": "28119:113:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28287:258:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "28297:10:18", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28306:1:18", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "28301:1:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28366:63:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "28391:3:18" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28396:1:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28387:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28387:11:18" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "28410:3:18" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28415:1:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28406:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28406:11:18" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "28400:5:18" - }, - "nodeType": "YulFunctionCall", - "src": "28400:18:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28380:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "28380:39:18" - }, - "nodeType": "YulExpressionStatement", - "src": "28380:39:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28327:1:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28330:6:18" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "28324:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "28324:13:18" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "28338:19:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28340:15:18", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28349:1:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28352:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28345:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28345:10:18" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28340:1:18" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "28320:3:18", - "statements": [] - }, - "src": "28316:113:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28463:76:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "28513:3:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28518:6:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28509:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28509:16:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28527:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28502:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "28502:27:18" - }, - "nodeType": "YulExpressionStatement", - "src": "28502:27:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "28444:1:18" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28447:6:18" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "28441:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "28441:13:18" - }, - "nodeType": "YulIf", - "src": "28438:2:18" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "28269:3:18", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "28274:3:18", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "28279:6:18", - "type": "" - } - ], - "src": "28238:307:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28602:269:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28612:22:18", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "28626:4:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28632:1:18", - "type": "", - "value": "2" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "28622:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28622:12:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28612:6:18" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "28643:38:18", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "28673:4:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28679:1:18", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "28669:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28669:12:18" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "28647:18:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28720:51:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28734:27:18", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28748:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28756:4:18", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "28744:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28744:17:18" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28734:6:18" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "28700:18:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "28693:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "28693:26:18" - }, - "nodeType": "YulIf", - "src": "28690:2:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28823:42:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x22", - "nodeType": "YulIdentifier", - "src": "28837:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "28837:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "28837:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "28787:18:18" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "28810:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28818:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "28807:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "28807:14:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "28784:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "28784:38:18" - }, - "nodeType": "YulIf", - "src": "28781:2:18" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "28586:4:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "28595:6:18", - "type": "" - } - ], - "src": "28551:320:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28920:238:18", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "28930:58:18", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "28952:6:18" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "28982:4:18" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "28960:21:18" - }, - "nodeType": "YulFunctionCall", - "src": "28960:27:18" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28948:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "28948:40:18" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "28934:10:18", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29099:22:18", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "29101:16:18" - }, - "nodeType": "YulFunctionCall", - "src": "29101:18:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29101:18:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "29042:10:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29054:18:18", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "29039:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "29039:34:18" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "29078:10:18" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29090:6:18" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "29075:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "29075:22:18" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "29036:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "29036:62:18" - }, - "nodeType": "YulIf", - "src": "29033:2:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29137:2:18", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "29141:10:18" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29130:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29130:22:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29130:22:18" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "28906:6:18", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "28914:4:18", - "type": "" - } - ], - "src": "28877:281:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29192:152:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29209:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29212:77:18", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29202:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29202:88:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29202:88:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29306:1:18", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29309:4:18", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29299:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29299:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29299:15:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29330:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29333:4:18", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29323:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29323:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29323:15:18" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "29164:180:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29378:152:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29395:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29398:77:18", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29388:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29388:88:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29388:88:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29492:1:18", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29495:4:18", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29485:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29485:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29485:15:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29516:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29519:4:18", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29509:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29509:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29509:15:18" - } - ] - }, - "name": "panic_error_0x22", - "nodeType": "YulFunctionDefinition", - "src": "29350:180:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29564:152:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29581:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29584:77:18", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29574:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29574:88:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29574:88:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29678:1:18", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29681:4:18", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29671:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29671:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29671:15:18" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29702:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29705:4:18", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29695:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29695:15:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29695:15:18" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "29536:180:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29770:54:18", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29780:38:18", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "29798:5:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29805:2:18", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29794:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "29794:14:18" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29814:2:18", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "29810:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "29810:7:18" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "29790:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "29790:28:18" - }, - "variableNames": [ - { - "name": "result", - "nodeType": "YulIdentifier", - "src": "29780:6:18" - } - ] - } - ] - }, - "name": "round_up_to_mul_of_32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "29753:5:18", - "type": "" - } - ], - "returnVariables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "29763:6:18", - "type": "" - } - ], - "src": "29722:102:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29936:62:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29958:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29966:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29954:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "29954:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "29970:20:18", - "type": "", - "value": "This ask is closed" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29947:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "29947:44:18" - }, - "nodeType": "YulExpressionStatement", - "src": "29947:44:18" - } - ] - }, - "name": "store_literal_in_memory_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "29928:6:18", - "type": "" - } - ], - "src": "29830:168:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30110:59:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30132:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30140:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30128:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30128:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30144:17:18", - "type": "", - "value": "Only escrow can" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30121:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30121:41:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30121:41:18" - } - ] - }, - "name": "store_literal_in_memory_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30102:6:18", - "type": "" - } - ], - "src": "30004:165:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30281:73:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30303:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30311:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30299:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30299:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30315:31:18", - "type": "", - "value": "Only token owner can edit ask" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30292:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30292:55:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30292:55:18" - } - ] - }, - "name": "store_literal_in_memory_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30273:6:18", - "type": "" - } - ], - "src": "30175:179:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30466:73:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30488:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30496:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30484:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30484:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30500:31:18", - "type": "", - "value": "Only token owner can make ask" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30477:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30477:55:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30477:55:18" - } - ] - }, - "name": "store_literal_in_memory_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30458:6:18", - "type": "" - } - ], - "src": "30360:179:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30651:183:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30673:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30681:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30669:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30669:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30685:34:18", - "type": "", - "value": "Can't accept payment without col" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30662:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30662:58:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30662:58:18" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30741:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30749:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30737:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30737:15:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30754:34:18", - "type": "", - "value": "lection and IDs, use dApp to sen" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30730:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30730:59:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30730:59:18" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30810:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30818:2:18", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30806:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30806:15:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30823:3:18", - "type": "", - "value": "d" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30799:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30799:28:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30799:28:18" - } - ] - }, - "name": "store_literal_in_memory_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30643:6:18", - "type": "" - } - ], - "src": "30545:289:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30946:126:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30968:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30976:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30964:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "30964:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "30980:34:18", - "type": "", - "value": "Not right amount sent, have to b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30957:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "30957:58:18" - }, - "nodeType": "YulExpressionStatement", - "src": "30957:58:18" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31036:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31044:2:18", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31032:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "31032:15:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "31049:15:18", - "type": "", - "value": "e equal price" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31025:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31025:40:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31025:40:18" - } - ] - }, - "name": "store_literal_in_memory_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30938:6:18", - "type": "" - } - ], - "src": "30840:232:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31184:58:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31206:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31214:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31202:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "31202:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "31218:16:18", - "type": "", - "value": "Only owner can" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31195:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31195:40:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31195:40:18" - } - ] - }, - "name": "store_literal_in_memory_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "31176:6:18", - "type": "" - } - ], - "src": "31078:164:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31354:60:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31376:6:18" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31384:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31372:3:18" - }, - "nodeType": "YulFunctionCall", - "src": "31372:14:18" - }, - { - "kind": "string", - "nodeType": "YulLiteral", - "src": "31388:18:18", - "type": "", - "value": "No such function" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31365:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31365:42:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31365:42:18" - } - ] - }, - "name": "store_literal_in_memory_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "31346:6:18", - "type": "" - } - ], - "src": "31248:166:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31463:79:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "31520:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31529:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31532:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31522:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31522:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31522:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31486:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31511:5:18" - } - ], - "functionName": { - "name": "cleanup_t_address", - "nodeType": "YulIdentifier", - "src": "31493:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "31493:24:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "31483:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "31483:35:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "31476:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31476:43:18" - }, - "nodeType": "YulIf", - "src": "31473:2:18" - } - ] - }, - "name": "validator_revert_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31456:5:18", - "type": "" - } - ], - "src": "31420:122:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31599:87:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "31664:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31673:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31676:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31666:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31666:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31666:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31622:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31655:5:18" - } - ], - "functionName": { - "name": "cleanup_t_address_payable", - "nodeType": "YulIdentifier", - "src": "31629:25:18" - }, - "nodeType": "YulFunctionCall", - "src": "31629:32:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "31619:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "31619:43:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "31612:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31612:51:18" - }, - "nodeType": "YulIf", - "src": "31609:2:18" - } - ] - }, - "name": "validator_revert_t_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31592:5:18", - "type": "" - } - ], - "src": "31548:138:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31732:76:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "31786:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31795:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31798:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31788:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31788:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31788:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31755:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31777:5:18" - } - ], - "functionName": { - "name": "cleanup_t_bool", - "nodeType": "YulIdentifier", - "src": "31762:14:18" - }, - "nodeType": "YulFunctionCall", - "src": "31762:21:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "31752:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "31752:32:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "31745:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31745:40:18" - }, - "nodeType": "YulIf", - "src": "31742:2:18" - } - ] - }, - "name": "validator_revert_t_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31725:5:18", - "type": "" - } - ], - "src": "31692:116:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31857:79:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "31914:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31923:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31926:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31916:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31916:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "31916:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31880:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31905:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "31887:17:18" - }, - "nodeType": "YulFunctionCall", - "src": "31887:24:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "31877:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "31877:35:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "31870:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31870:43:18" - }, - "nodeType": "YulIf", - "src": "31867:2:18" - } - ] - }, - "name": "validator_revert_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31850:5:18", - "type": "" - } - ], - "src": "31814:122:18" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31983:77:18", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "32038:16:18", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32047:1:18", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32050:1:18", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "32040:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "32040:12:18" - }, - "nodeType": "YulExpressionStatement", - "src": "32040:12:18" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32006:5:18" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32029:5:18" - } - ], - "functionName": { - "name": "cleanup_t_uint8", - "nodeType": "YulIdentifier", - "src": "32013:15:18" - }, - "nodeType": "YulFunctionCall", - "src": "32013:22:18" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "32003:2:18" - }, - "nodeType": "YulFunctionCall", - "src": "32003:33:18" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "31996:6:18" - }, - "nodeType": "YulFunctionCall", - "src": "31996:41:18" - }, - "nodeType": "YulIf", - "src": "31993:2:18" - } - ] - }, - "name": "validator_revert_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "31976:5:18", - "type": "" - } - ], - "src": "31942:118:18" - } - ] - }, - "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_memory_to_memory(src, dst, length)\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_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_payable(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\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(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert(0, 0) }\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\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_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(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_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value3, value4 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256t_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(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 abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(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 function abi_decode_tuple_t_uint256t_addresst_address_payable(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(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_address_payable(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(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_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_addresst_addresst_uint256t_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(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_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint8(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_payable_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_address_payable_to_t_address(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_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(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_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_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_t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 15)\n store_literal_in_memory_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 65)\n store_literal_in_memory_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75(pos)\n end := add(pos, 96)\n }\n\n function abi_encode_t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77(pos)\n end := add(pos, 32)\n }\n\n // struct MarketPlace.Order -> struct MarketPlace.Order\n function abi_encode_t_struct$_Order_$2593_memory_ptr_to_t_struct$_Order_$2593_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0140)\n\n {\n // idNFT\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // currencyCode\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // price\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x40))\n }\n\n {\n // time\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // idCollection\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x80))\n }\n\n {\n // ownerAddr\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0xa0))\n }\n\n {\n // flagActive\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_uint8_to_t_uint8(memberValue0, add(pos, 0xc0))\n }\n\n {\n // name\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // symbol\n\n let memberValue0 := mload(add(value, 0x0100))\n\n mstore(add(pos, 0x0100), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // tokenURI\n\n let memberValue0 := mload(add(value, 0x0120))\n\n mstore(add(pos, 0x0120), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_address_payable_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_payable_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\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_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_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_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599__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_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52__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_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f__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_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e__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_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75__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_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35__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_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c__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_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77__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_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_struct$_Order_$2593_memory_ptr__to_t_struct$_Order_$2593_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$_Order_$2593_memory_ptr_to_t_struct$_Order_$2593_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 }\n\n function abi_encode_tuple_t_uint256_t_address_t_address_payable__to_t_uint256_t_address_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\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 abi_encode_t_address_payable_to_t_address_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_address_t_uint256_t_uint256__to_t_uint256_t_address_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\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 abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value4, add(headStart, 128))\n\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_address_t_uint256_t_uint8_t_uint256__to_t_uint256_t_address_t_address_t_uint256_t_uint8_t_uint256__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\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 abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value5, add(headStart, 160))\n\n }\n\n function abi_encode_tuple_t_uint256_t_address_t_uint256_t_uint256_t_address_t_address_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_uint256_t_address_t_uint256_t_uint256_t_address_t_address_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart , value9, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 320)\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 abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value6, add(headStart, 192))\n\n mstore(add(headStart, 224), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value7, tail)\n\n mstore(add(headStart, 256), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value8, tail)\n\n mstore(add(headStart, 288), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value9, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\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 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_address_payable_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\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 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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599(memPtr) {\n\n mstore(add(memPtr, 0), \"This ask is closed\")\n\n }\n\n function store_literal_in_memory_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52(memPtr) {\n\n mstore(add(memPtr, 0), \"Only escrow can\")\n\n }\n\n function store_literal_in_memory_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f(memPtr) {\n\n mstore(add(memPtr, 0), \"Only token owner can edit ask\")\n\n }\n\n function store_literal_in_memory_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e(memPtr) {\n\n mstore(add(memPtr, 0), \"Only token owner can make ask\")\n\n }\n\n function store_literal_in_memory_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75(memPtr) {\n\n mstore(add(memPtr, 0), \"Can't accept payment without col\")\n\n mstore(add(memPtr, 32), \"lection and IDs, use dApp to sen\")\n\n mstore(add(memPtr, 64), \"d\")\n\n }\n\n function store_literal_in_memory_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35(memPtr) {\n\n mstore(add(memPtr, 0), \"Not right amount sent, have to b\")\n\n mstore(add(memPtr, 32), \"e equal price\")\n\n }\n\n function store_literal_in_memory_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can\")\n\n }\n\n function store_literal_in_memory_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77(memPtr) {\n\n mstore(add(memPtr, 0), \"No such function\")\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 validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", - "id": 18, - "language": "Yul", - "name": "#utility.yul" - } - ], - "sourceMap": "292:10131:14:-:0;;;1096:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1145:7;1136:6;;:16;;;;;;;;;;;;;;;;;;1170:10;1162:5;;:18;;;;;;;;;;;;;;;;;;1192:6;1204:212;;;;;;;;1239:1;1204:212;;;;1270:1;1204:212;;;;;;1294:1;1204:212;;;;1317:1;1204:212;;;;1348:1;1204:212;;;;;;1380:1;1204:212;;;;;;1404:1;1204:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1192:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1096:328;292:10131;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:143:18:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:284::-;226:6;275:2;263:9;254:7;250:23;246:32;243:2;;;291:1;288;281:12;243:2;334:1;359:64;415:7;406:6;395:9;391:22;359:64;:::i;:::-;349:74;;305:128;233:207;;;;:::o;446:96::-;483:7;512:24;530:5;512:24;:::i;:::-;501:35;;491:51;;;:::o;548:126::-;585:7;625:42;618:5;614:54;603:65;;593:81;;;:::o;680:320::-;724:6;761:1;755:4;751:12;741:22;;808:1;802:4;798:12;829:18;819:2;;885:4;877:6;873:17;863:27;;819:2;947;939:6;936:14;916:18;913:38;910:2;;;966:18;;:::i;:::-;910:2;731:269;;;;:::o;1006:180::-;1054:77;1051:1;1044:88;1151:4;1148:1;1141:15;1175:4;1172:1;1165:15;1192:122;1265:24;1283:5;1265:24;:::i;:::-;1258:5;1255:35;1245:2;;1304:1;1301;1294:12;1245:2;1235:79;:::o;292:10131:14:-;;;;;;;", - "deployedSourceMap": "292:10131:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2037:76;;;;;;;;;;:::i;:::-;;;;;;;;292:10131;2164:27;;;;;;;;;;:::i;:::-;;;;;;;;10187:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3213:1671;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1628:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5747:591;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1429:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4890:842;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6345:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10092:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8949:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;949:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;704:22;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;9177:600;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;747:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1528:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7236:780;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;836:62;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9821:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6541:690;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10187:234;10313:6;10349:60;10335:75;;10187:234;;;;;;;:::o;3213:1671::-;3412:16;3442:13;3431:33;;;3465:6;3431:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3412:60;;3503:10;3491:22;;:8;:22;;;3482:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3557:21;3588:23;3621:20;3666:13;3655:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3651:157;;3787:10;;;;;;;;;;;;;;3651:157;;;3742:5;3732:15;;3688:70;3651:157;3835:13;3824:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3820:167;;3964:12;;;;;;;;;;;;;;3820:167;;;3917:7;3905:19;;3859:76;3820:167;4013:13;4002:34;;;4037:6;4002:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;3998:163;;4141:9;;;;;;;;;;;;;;3998:163;;;4097:4;4088:13;;4045:67;3998:163;4178:6;4190:352;;;;;;;;4225:6;4190:352;;;;4253:13;4190:352;;;;;;4288:6;4190:352;;;;4316:15;4190:352;;;;4353:13;4190:352;;;;;;4388:10;4190:352;;;;;;4420:1;4190:352;;;;;;4460:7;4190:352;;;;4490:9;4190:352;;;;4521:6;4190:352;;;4178:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4570:12;4599:1;4585:6;:13;;;;:15;;;;:::i;:::-;4570:30;;4644:7;4614:4;:19;4619:13;4614:19;;;;;;;;;;;;;;;:27;4634:6;4614:27;;;;;;;;;;;:37;;;;4665:12;:24;4678:10;4665:24;;;;;;;;;;;;;;;4695:7;4665:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4728:13;4717:38;;;4756:10;4776:4;4783:6;4717:73;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4809:63;4818:6;4826:13;4841;4856:6;4864:7;4809:63;;;;;;;;;;:::i;:::-;;;;;;;;3213:1671;;;;;;;;;:::o;1628:92::-;1891:5;;;;;;;;;;;1877:19;;:10;:19;;;1869:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1708:5:::1;1695:10;;:18;;;;;;;;;;;;;;;;;;1628:92:::0;:::o;5747:591::-;5874:12;5890:4;:19;5895:13;5890:19;;;;;;;;;;;;;;;:27;5910:6;5890:27;;;;;;;;;;;;5874:43;;5966:10;5937:39;;:6;5944:7;5937:15;;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;5928:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;6059:1;6029:6;6036:7;6029:15;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:31;;;;6020:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6117:15;6094:6;6101:7;6094:15;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;:38;;;;6171:1;6142:6;6149:7;6142:15;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;:30;;;;;;;;;;;;;;;;;;6193:13;6182:38;;;6229:4;6235:6;6242:7;6235:15;;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;6262:6;6182:87;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6284:43;6296:13;6311:6;6319:7;6284:43;;;;;;;;:::i;:::-;;;;;;;;5747:591;;;:::o;1429:93::-;1891:5;;;;;;;;;;;1877:19;;:10;:19;;;1869:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1505:10:::1;1496:6;;:19;;;;;;;;;;;;;;;;;;1429:93:::0;:::o;4890:842::-;5113:12;5129:4;:19;5134:13;5129:19;;;;;;;;;;;;;;;:27;5149:6;5129:27;;;;;;;;;;;;5113:43;;5205:10;5176:39;;:6;5183:7;5176:15;;;;;;;;;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;5167:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;5298:1;5268:6;5275:7;5268:15;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:31;;;;5259:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;5344:1;5336:6;:9;5332:74;;;5386:6;5362;5369:7;5362:15;;;;;;;;;;;;;;;;;;;;;;;;;;:21;;:30;;;;5332:74;5453:1;5428:27;;:13;:27;;;5424:106;;5503:13;5472:6;5479:7;5472:15;;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:44;;;;;;;;;;;;;;;;;;5424:106;5563:15;5540:6;5547:7;5540:15;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;:38;;;;5617:7;5588:6;5595:7;5588:15;;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;:36;;;;;;;;;;;;;;;;;;5648:73;5658:6;5666:13;5681;5696:6;5704:7;5713;5648:73;;;;;;;;;;;:::i;:::-;;;;;;;;4890:842;;;;;;:::o;6345:190::-;1787:6;;;;;;;;;;;1773:20;;:10;:20;;;1765:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;6451:32:::1;6475:7;6451:10;:19;6462:7;6451:19;;;;;;;;;;;;;;;;:23;;:32;;;;:::i;:::-;6430:10;:19;6441:7;6430:19;;;;;;;;;;;;;;;:53;;;;6498:30;6511:7;6520;6498:30;;;;;;;:::i;:::-;;;;;;;;6345:190:::0;;:::o;10092:89::-;10138:4;10161:6;:13;;;;10154:20;;10092:89;:::o;8949:222::-;9019:16;1787:6;;;;;;;;;;;1773:20;;:10;:20;;;1765:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9061:10:::1;:19;9072:7;9061:19;;;;;;;;;;;;;;;;9047:33;;9111:1;9090:10;:19;9101:7;9090:19;;;;;;;;;;;;;;;:22;;;;9127:37;9143:7;9152:11;9127:37;;;;;;;:::i;:::-;;;;;;;;8949:222:::0;;;:::o;949:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;704:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9177:600::-;9288:11;1891:5;;;;;;;;;;;1877:19;;:10;:19;;;1869:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;9341:10:::1;;;;;;;;;;;9324:27;;:13;:27;;;9320:370;;9492:13;9485:30;;;9516:7;9525;9485:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9320:370;;;9630:7;9629:14;;:23;9644:7;9629:23;;;;;;;;;;;;;;;;;;;;;;;9619:33;;9320:370;9704:42;9714:7;9723:13;9738:7;9704:42;;;;;;;;:::i;:::-;;;;;;;;9177:600:::0;;;;;:::o;747:46::-;;;;;;;;;;;;;;;;;:::o;1528:94::-;1891:5;;;;;;;;;;;1877:19;;:10;:19;;;1869:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1605:10:::1;1596:6;;:19;;;;;;;;;;;;;;;;;;1528:94:::0;:::o;7236:780::-;7314:11;7378:18;7399:6;7406:4;:19;7411:13;7406:19;;;;;;;;;;;;;;;:27;7426:6;7406:27;;;;;;;;;;;;7399:35;;;;;;;;;;;;;;;;;;;;;;;;;;7378:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7517:5;:11;;;7504:9;:24;7495:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;7670:1;7620:6;7628:4;:19;7633:13;7628:19;;;;;;;;;;;;;;;:27;7648:6;7628:27;;;;;;;;;;;;7620:36;;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;:51;;;;;;;;;;;;;;;;;;7737:13;7726:38;;;7773:4;7780:10;7792:6;7726:73;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7875:5;:15;;;7867:29;;:43;7898:5;:11;;;7867:43;;;;;;;;;;;;;;;;;;;;;;;7858:52;;7926:74;7936:13;7951:6;7959:4;:19;7964:13;7959:19;;;;;;;;;;;;;;;:27;7979:6;7959:27;;;;;;;;;;;;7988:5;:11;;;7926:74;;;;;;;;;:::i;:::-;;;;;;;;7236:780;;;;;:::o;836:62::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9821:265::-;9900:12;;:::i;:::-;9924;9939:4;:19;9944:13;9939:19;;;;;;;;;;;;;;;:27;9959:6;9939:27;;;;;;;;;;;;9924:42;;9976:18;9997:6;10004:7;9997:15;;;;;;;;;;;;;;;;;;;;;;;;;;9976:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10074:5;10067:12;;;;9821:265;;;;:::o;6541:690::-;6659:18;6680:6;6688:4;:19;6693:13;6688:19;;;;;;;;;;;;;;;:27;6708:6;6688:27;;;;;;;;;;;;6680:36;;;;;;;;;;;;;;;;;;;;;;;;;;6659:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:65;6799:5;:11;;;6775:65;;;;;;;;;;;;;;;;;:10;:18;6786:6;6775:18;;;;;;;;;;;;;;;;:22;;:65;;;;;:::i;:::-;6754:10;:18;6765:6;6754:18;;;;;;;;;;;;;;;:86;;;;6880:45;6913:5;:11;;;6880:10;:27;6891:5;:15;;;6880:27;;;;;;;;;;;;;;;;:31;;:45;;;;:::i;:::-;6850:10;:27;6861:5;:15;;;6850:27;;;;;;;;;;;;;;;:75;;;;7011:1;6961:6;6969:4;:19;6974:13;6969:19;;;;;;;;;;;;;;;:27;6989:6;6969:27;;;;;;;;;;;;6961:36;;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;:51;;;;;;;;;;;;;;;;;;7069:13;7058:38;;;7105:4;7112:9;7123:6;7058:72;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7145:78;7159:13;7174:6;7182:4;:19;7187:13;7182:19;;;;;;;;;;;;;;;:27;7202:6;7182:27;;;;;;;;;;;;7211:5;:11;;;7145:78;;;;;;;;;:::i;:::-;;;;;;;;6541:690;;;;;:::o;2672:96:12:-;2730:7;2760:1;2756;:5;;;;:::i;:::-;2749:12;;2672:96;;;;:::o;4876:231::-;4992:7;5048:1;5043;:6;;5051:12;5035:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5089:1;5085;:5;5078:12;;4876:231;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:354:18:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:2;;;303:1;300;293:12;262:2;316:39;348:6;343:3;338;316:39;:::i;:::-;102:259;;;;;;:::o;367:139::-;413:5;451:6;438:20;429:29;;467:33;494:5;467:33;:::i;:::-;419:87;;;;:::o;512:143::-;569:5;600:6;594:13;585:22;;616:33;643:5;616:33;:::i;:::-;575:80;;;;:::o;661:155::-;715:5;753:6;740:20;731:29;;769:41;804:5;769:41;:::i;:::-;721:95;;;;:::o;822:137::-;876:5;907:6;901:13;892:22;;923:30;947:5;923:30;:::i;:::-;882:77;;;;:::o;978:351::-;1035:8;1045:6;1095:3;1088:4;1080:6;1076:17;1072:27;1062:2;;1113:1;1110;1103:12;1062:2;1149:6;1136:20;1126:30;;1179:18;1171:6;1168:30;1165:2;;;1211:1;1208;1201:12;1165:2;1248:4;1240:6;1236:17;1224:29;;1302:3;1294:4;1286:6;1282:17;1272:8;1268:32;1265:41;1262:2;;;1319:1;1316;1309:12;1262:2;1052:277;;;;;:::o;1349:288::-;1416:5;1465:3;1458:4;1450:6;1446:17;1442:27;1432:2;;1483:1;1480;1473:12;1432:2;1516:6;1510:13;1541:90;1627:3;1619:6;1612:4;1604:6;1600:17;1541:90;:::i;:::-;1532:99;;1422:215;;;;;:::o;1643:139::-;1689:5;1727:6;1714:20;1705:29;;1743:33;1770:5;1743:33;:::i;:::-;1695:87;;;;:::o;1788:135::-;1832:5;1870:6;1857:20;1848:29;;1886:31;1911:5;1886:31;:::i;:::-;1838:85;;;;:::o;1929:262::-;1988:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:2;;;2053:1;2050;2043:12;2005:2;2096:1;2121:53;2166:7;2157:6;2146:9;2142:22;2121:53;:::i;:::-;2111:63;;2067:117;1995:196;;;;:::o;2197:284::-;2267:6;2316:2;2304:9;2295:7;2291:23;2287:32;2284:2;;;2332:1;2329;2322:12;2284:2;2375:1;2400:64;2456:7;2447:6;2436:9;2432:22;2400:64;:::i;:::-;2390:74;;2346:128;2274:207;;;;:::o;2487:829::-;2584:6;2592;2600;2608;2616;2665:3;2653:9;2644:7;2640:23;2636:33;2633:2;;;2682:1;2679;2672:12;2633:2;2725:1;2750:53;2795:7;2786:6;2775:9;2771:22;2750:53;:::i;:::-;2740:63;;2696:117;2852:2;2878:53;2923:7;2914:6;2903:9;2899:22;2878:53;:::i;:::-;2868:63;;2823:118;2980:2;3006:53;3051:7;3042:6;3031:9;3027:22;3006:53;:::i;:::-;2996:63;;2951:118;3136:2;3125:9;3121:18;3108:32;3167:18;3159:6;3156:30;3153:2;;;3199:1;3196;3189:12;3153:2;3235:64;3291:7;3282:6;3271:9;3267:22;3235:64;:::i;:::-;3217:82;;;;3079:230;2623:693;;;;;;;;:::o;3322:407::-;3390:6;3398;3447:2;3435:9;3426:7;3422:23;3418:32;3415:2;;;3463:1;3460;3453:12;3415:2;3506:1;3531:53;3576:7;3567:6;3556:9;3552:22;3531:53;:::i;:::-;3521:63;;3477:117;3633:2;3659:53;3704:7;3695:6;3684:9;3680:22;3659:53;:::i;:::-;3649:63;;3604:118;3405:324;;;;;:::o;3735:698::-;3821:6;3829;3837;3845;3894:3;3882:9;3873:7;3869:23;3865:33;3862:2;;;3911:1;3908;3901:12;3862:2;3954:1;3979:53;4024:7;4015:6;4004:9;4000:22;3979:53;:::i;:::-;3969:63;;3925:117;4081:2;4107:53;4152:7;4143:6;4132:9;4128:22;4107:53;:::i;:::-;4097:63;;4052:118;4209:2;4235:53;4280:7;4271:6;4260:9;4256:22;4235:53;:::i;:::-;4225:63;;4180:118;4337:2;4363:53;4408:7;4399:6;4388:9;4384:22;4363:53;:::i;:::-;4353:63;;4308:118;3852:581;;;;;;;:::o;4439:278::-;4506:6;4555:2;4543:9;4534:7;4530:23;4526:32;4523:2;;;4571:1;4568;4561:12;4523:2;4614:1;4639:61;4692:7;4683:6;4672:9;4668:22;4639:61;:::i;:::-;4629:71;;4585:125;4513:204;;;;:::o;4723:390::-;4803:6;4852:2;4840:9;4831:7;4827:23;4823:32;4820:2;;;4868:1;4865;4858:12;4820:2;4932:1;4921:9;4917:17;4911:24;4962:18;4954:6;4951:30;4948:2;;;4994:1;4991;4984:12;4948:2;5022:74;5088:7;5079:6;5068:9;5064:22;5022:74;:::i;:::-;5012:84;;4882:224;4810:303;;;;:::o;5119:262::-;5178:6;5227:2;5215:9;5206:7;5202:23;5198:32;5195:2;;;5243:1;5240;5233:12;5195:2;5286:1;5311:53;5356:7;5347:6;5336:9;5332:22;5311:53;:::i;:::-;5301:63;;5257:117;5185:196;;;;:::o;5387:407::-;5455:6;5463;5512:2;5500:9;5491:7;5487:23;5483:32;5480:2;;;5528:1;5525;5518:12;5480:2;5571:1;5596:53;5641:7;5632:6;5621:9;5617:22;5596:53;:::i;:::-;5586:63;;5542:117;5698:2;5724:53;5769:7;5760:6;5749:9;5745:22;5724:53;:::i;:::-;5714:63;;5669:118;5470:324;;;;;:::o;5800:568::-;5885:6;5893;5901;5950:2;5938:9;5929:7;5925:23;5921:32;5918:2;;;5966:1;5963;5956:12;5918:2;6009:1;6034:53;6079:7;6070:6;6059:9;6055:22;6034:53;:::i;:::-;6024:63;;5980:117;6136:2;6162:53;6207:7;6198:6;6187:9;6183:22;6162:53;:::i;:::-;6152:63;;6107:118;6264:2;6290:61;6343:7;6334:6;6323:9;6319:22;6290:61;:::i;:::-;6280:71;;6235:126;5908:460;;;;;:::o;6374:698::-;6460:6;6468;6476;6484;6533:3;6521:9;6512:7;6508:23;6504:33;6501:2;;;6550:1;6547;6540:12;6501:2;6593:1;6618:53;6663:7;6654:6;6643:9;6639:22;6618:53;:::i;:::-;6608:63;;6564:117;6720:2;6746:53;6791:7;6782:6;6771:9;6767:22;6746:53;:::i;:::-;6736:63;;6691:118;6848:2;6874:53;6919:7;6910:6;6899:9;6895:22;6874:53;:::i;:::-;6864:63;;6819:118;6976:2;7002:53;7047:7;7038:6;7027:9;7023:22;7002:53;:::i;:::-;6992:63;;6947:118;6491:581;;;;;;;:::o;7078:840::-;7171:6;7179;7187;7195;7203;7252:3;7240:9;7231:7;7227:23;7223:33;7220:2;;;7269:1;7266;7259:12;7220:2;7312:1;7337:53;7382:7;7373:6;7362:9;7358:22;7337:53;:::i;:::-;7327:63;;7283:117;7439:2;7465:53;7510:7;7501:6;7490:9;7486:22;7465:53;:::i;:::-;7455:63;;7410:118;7567:2;7593:53;7638:7;7629:6;7618:9;7614:22;7593:53;:::i;:::-;7583:63;;7538:118;7695:2;7721:53;7766:7;7757:6;7746:9;7742:22;7721:53;:::i;:::-;7711:63;;7666:118;7823:3;7850:51;7893:7;7884:6;7873:9;7869:22;7850:51;:::i;:::-;7840:61;;7794:117;7210:708;;;;;;;;:::o;7924:147::-;8019:45;8058:5;8019:45;:::i;:::-;8014:3;8007:58;7997:74;;:::o;8077:108::-;8154:24;8172:5;8154:24;:::i;:::-;8149:3;8142:37;8132:53;;:::o;8191:118::-;8278:24;8296:5;8278:24;:::i;:::-;8273:3;8266:37;8256:53;;:::o;8315:109::-;8396:21;8411:5;8396:21;:::i;:::-;8391:3;8384:34;8374:50;;:::o;8430:115::-;8515:23;8532:5;8515:23;:::i;:::-;8510:3;8503:36;8493:52;;:::o;8551:344::-;8629:3;8657:39;8690:5;8657:39;:::i;:::-;8712:61;8766:6;8761:3;8712:61;:::i;:::-;8705:68;;8782:52;8827:6;8822:3;8815:4;8808:5;8804:16;8782:52;:::i;:::-;8859:29;8881:6;8859:29;:::i;:::-;8854:3;8850:39;8843:46;;8633:262;;;;;:::o;8901:364::-;8989:3;9017:39;9050:5;9017:39;:::i;:::-;9072:71;9136:6;9131:3;9072:71;:::i;:::-;9065:78;;9152:52;9197:6;9192:3;9185:4;9178:5;9174:16;9152:52;:::i;:::-;9229:29;9251:6;9229:29;:::i;:::-;9224:3;9220:39;9213:46;;8993:272;;;;;:::o;9271:366::-;9413:3;9434:67;9498:2;9493:3;9434:67;:::i;:::-;9427:74;;9510:93;9599:3;9510:93;:::i;:::-;9628:2;9623:3;9619:12;9612:19;;9417:220;;;:::o;9643:366::-;9785:3;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9799:74;;9882:93;9971:3;9882:93;:::i;:::-;10000:2;9995:3;9991:12;9984:19;;9789:220;;;:::o;10015:366::-;10157:3;10178:67;10242:2;10237:3;10178:67;:::i;:::-;10171:74;;10254:93;10343:3;10254:93;:::i;:::-;10372:2;10367:3;10363:12;10356:19;;10161:220;;;:::o;10387:366::-;10529:3;10550:67;10614:2;10609:3;10550:67;:::i;:::-;10543:74;;10626:93;10715:3;10626:93;:::i;:::-;10744:2;10739:3;10735:12;10728:19;;10533:220;;;:::o;10759:366::-;10901:3;10922:67;10986:2;10981:3;10922:67;:::i;:::-;10915:74;;10998:93;11087:3;10998:93;:::i;:::-;11116:2;11111:3;11107:12;11100:19;;10905:220;;;:::o;11131:366::-;11273:3;11294:67;11358:2;11353:3;11294:67;:::i;:::-;11287:74;;11370:93;11459:3;11370:93;:::i;:::-;11488:2;11483:3;11479:12;11472:19;;11277:220;;;:::o;11503:366::-;11645:3;11666:67;11730:2;11725:3;11666:67;:::i;:::-;11659:74;;11742:93;11831:3;11742:93;:::i;:::-;11860:2;11855:3;11851:12;11844:19;;11649:220;;;:::o;11875:366::-;12017:3;12038:67;12102:2;12097:3;12038:67;:::i;:::-;12031:74;;12114:93;12203:3;12114:93;:::i;:::-;12232:2;12227:3;12223:12;12216:19;;12021:220;;;:::o;12307:2177::-;12422:3;12458:6;12453:3;12449:16;12548:4;12541:5;12537:16;12531:23;12567:63;12624:4;12619:3;12615:14;12601:12;12567:63;:::i;:::-;12475:165;12730:4;12723:5;12719:16;12713:23;12749:63;12806:4;12801:3;12797:14;12783:12;12749:63;:::i;:::-;12650:172;12905:4;12898:5;12894:16;12888:23;12924:63;12981:4;12976:3;12972:14;12958:12;12924:63;:::i;:::-;12832:165;13079:4;13072:5;13068:16;13062:23;13098:63;13155:4;13150:3;13146:14;13132:12;13098:63;:::i;:::-;13007:164;13261:4;13254:5;13250:16;13244:23;13280:63;13337:4;13332:3;13328:14;13314:12;13280:63;:::i;:::-;13181:172;13440:4;13433:5;13429:16;13423:23;13459:63;13516:4;13511:3;13507:14;13493:12;13459:63;:::i;:::-;13363:169;13620:4;13613:5;13609:16;13603:23;13639:59;13692:4;13687:3;13683:14;13669:12;13639:59;:::i;:::-;13542:166;13790:4;13783:5;13779:16;13773:23;13843:3;13837:4;13833:14;13826:4;13821:3;13817:14;13810:38;13869:73;13937:4;13923:12;13869:73;:::i;:::-;13861:81;;13718:235;14037:6;14030:5;14026:18;14020:25;14094:3;14088:4;14084:14;14075:6;14070:3;14066:16;14059:40;14120:73;14188:4;14174:12;14120:73;:::i;:::-;14112:81;;13963:241;14290:6;14283:5;14279:18;14273:25;14347:3;14341:4;14337:14;14328:6;14323:3;14319:16;14312:40;14373:73;14441:4;14427:12;14373:73;:::i;:::-;14365:81;;14214:243;14474:4;14467:11;;12427:2057;;;;;:::o;14490:108::-;14567:24;14585:5;14567:24;:::i;:::-;14562:3;14555:37;14545:53;;:::o;14604:118::-;14691:24;14709:5;14691:24;:::i;:::-;14686:3;14679:37;14669:53;;:::o;14728:102::-;14801:22;14817:5;14801:22;:::i;:::-;14796:3;14789:35;14779:51;;:::o;14836:112::-;14919:22;14935:5;14919:22;:::i;:::-;14914:3;14907:35;14897:51;;:::o;14954:348::-;15083:4;15121:2;15110:9;15106:18;15098:26;;15134:79;15210:1;15199:9;15195:17;15186:6;15134:79;:::i;:::-;15223:72;15291:2;15280:9;15276:18;15267:6;15223:72;:::i;:::-;15088:214;;;;;:::o;15308:442::-;15457:4;15495:2;15484:9;15480:18;15472:26;;15508:71;15576:1;15565:9;15561:17;15552:6;15508:71;:::i;:::-;15589:72;15657:2;15646:9;15642:18;15633:6;15589:72;:::i;:::-;15671;15739:2;15728:9;15724:18;15715:6;15671:72;:::i;:::-;15462:288;;;;;;:::o;15756:332::-;15877:4;15915:2;15904:9;15900:18;15892:26;;15928:71;15996:1;15985:9;15981:17;15972:6;15928:71;:::i;:::-;16009:72;16077:2;16066:9;16062:18;16053:6;16009:72;:::i;:::-;15882:206;;;;;:::o;16094:442::-;16243:4;16281:2;16270:9;16266:18;16258:26;;16294:71;16362:1;16351:9;16347:17;16338:6;16294:71;:::i;:::-;16375:72;16443:2;16432:9;16428:18;16419:6;16375:72;:::i;:::-;16457;16525:2;16514:9;16510:18;16501:6;16457:72;:::i;:::-;16248:288;;;;;;:::o;16542:553::-;16719:4;16757:3;16746:9;16742:19;16734:27;;16771:71;16839:1;16828:9;16824:17;16815:6;16771:71;:::i;:::-;16852:72;16920:2;16909:9;16905:18;16896:6;16852:72;:::i;:::-;16934;17002:2;16991:9;16987:18;16978:6;16934:72;:::i;:::-;17016;17084:2;17073:9;17069:18;17060:6;17016:72;:::i;:::-;16724:371;;;;;;;:::o;17101:210::-;17188:4;17226:2;17215:9;17211:18;17203:26;;17239:65;17301:1;17290:9;17286:17;17277:6;17239:65;:::i;:::-;17193:118;;;;:::o;17317:218::-;17408:4;17446:2;17435:9;17431:18;17423:26;;17459:69;17525:1;17514:9;17510:17;17501:6;17459:69;:::i;:::-;17413:122;;;;:::o;17541:313::-;17654:4;17692:2;17681:9;17677:18;17669:26;;17741:9;17735:4;17731:20;17727:1;17716:9;17712:17;17705:47;17769:78;17842:4;17833:6;17769:78;:::i;:::-;17761:86;;17659:195;;;;:::o;17860:419::-;18026:4;18064:2;18053:9;18049:18;18041:26;;18113:9;18107:4;18103:20;18099:1;18088:9;18084:17;18077:47;18141:131;18267:4;18141:131;:::i;:::-;18133:139;;18031:248;;;:::o;18285:419::-;18451:4;18489:2;18478:9;18474:18;18466:26;;18538:9;18532:4;18528:20;18524:1;18513:9;18509:17;18502:47;18566:131;18692:4;18566:131;:::i;:::-;18558:139;;18456:248;;;:::o;18710:419::-;18876:4;18914:2;18903:9;18899:18;18891:26;;18963:9;18957:4;18953:20;18949:1;18938:9;18934:17;18927:47;18991:131;19117:4;18991:131;:::i;:::-;18983:139;;18881:248;;;:::o;19135:419::-;19301:4;19339:2;19328:9;19324:18;19316:26;;19388:9;19382:4;19378:20;19374:1;19363:9;19359:17;19352:47;19416:131;19542:4;19416:131;:::i;:::-;19408:139;;19306:248;;;:::o;19560:419::-;19726:4;19764:2;19753:9;19749:18;19741:26;;19813:9;19807:4;19803:20;19799:1;19788:9;19784:17;19777:47;19841:131;19967:4;19841:131;:::i;:::-;19833:139;;19731:248;;;:::o;19985:419::-;20151:4;20189:2;20178:9;20174:18;20166:26;;20238:9;20232:4;20228:20;20224:1;20213:9;20209:17;20202:47;20266:131;20392:4;20266:131;:::i;:::-;20258:139;;20156:248;;;:::o;20410:419::-;20576:4;20614:2;20603:9;20599:18;20591:26;;20663:9;20657:4;20653:20;20649:1;20638:9;20634:17;20627:47;20691:131;20817:4;20691:131;:::i;:::-;20683:139;;20581:248;;;:::o;20835:419::-;21001:4;21039:2;21028:9;21024:18;21016:26;;21088:9;21082:4;21078:20;21074:1;21063:9;21059:17;21052:47;21116:131;21242:4;21116:131;:::i;:::-;21108:139;;21006:248;;;:::o;21260:365::-;21399:4;21437:2;21426:9;21422:18;21414:26;;21486:9;21480:4;21476:20;21472:1;21461:9;21457:17;21450:47;21514:104;21613:4;21604:6;21514:104;:::i;:::-;21506:112;;21404:221;;;;:::o;21631:222::-;21724:4;21762:2;21751:9;21747:18;21739:26;;21775:71;21843:1;21832:9;21828:17;21819:6;21775:71;:::i;:::-;21729:124;;;;:::o;21859:332::-;21980:4;22018:2;22007:9;22003:18;21995:26;;22031:71;22099:1;22088:9;22084:17;22075:6;22031:71;:::i;:::-;22112:72;22180:2;22169:9;22165:18;22156:6;22112:72;:::i;:::-;21985:206;;;;;:::o;22197:458::-;22354:4;22392:2;22381:9;22377:18;22369:26;;22405:71;22473:1;22462:9;22458:17;22449:6;22405:71;:::i;:::-;22486:72;22554:2;22543:9;22539:18;22530:6;22486:72;:::i;:::-;22568:80;22644:2;22633:9;22629:18;22620:6;22568:80;:::i;:::-;22359:296;;;;;;:::o;22661:664::-;22866:4;22904:3;22893:9;22889:19;22881:27;;22918:71;22986:1;22975:9;22971:17;22962:6;22918:71;:::i;:::-;22999:72;23067:2;23056:9;23052:18;23043:6;22999:72;:::i;:::-;23081;23149:2;23138:9;23134:18;23125:6;23081:72;:::i;:::-;23163;23231:2;23220:9;23216:18;23207:6;23163:72;:::i;:::-;23245:73;23313:3;23302:9;23298:19;23289:6;23245:73;:::i;:::-;22871:454;;;;;;;;:::o;23331:767::-;23560:4;23598:3;23587:9;23583:19;23575:27;;23612:71;23680:1;23669:9;23665:17;23656:6;23612:71;:::i;:::-;23693:72;23761:2;23750:9;23746:18;23737:6;23693:72;:::i;:::-;23775;23843:2;23832:9;23828:18;23819:6;23775:72;:::i;:::-;23857;23925:2;23914:9;23910:18;23901:6;23857:72;:::i;:::-;23939:69;24003:3;23992:9;23988:19;23979:6;23939:69;:::i;:::-;24018:73;24086:3;24075:9;24071:19;24062:6;24018:73;:::i;:::-;23565:533;;;;;;;;;:::o;24104:1484::-;24505:4;24543:3;24532:9;24528:19;24520:27;;24557:71;24625:1;24614:9;24610:17;24601:6;24557:71;:::i;:::-;24638:72;24706:2;24695:9;24691:18;24682:6;24638:72;:::i;:::-;24720;24788:2;24777:9;24773:18;24764:6;24720:72;:::i;:::-;24802;24870:2;24859:9;24855:18;24846:6;24802:72;:::i;:::-;24884:73;24952:3;24941:9;24937:19;24928:6;24884:73;:::i;:::-;24967;25035:3;25024:9;25020:19;25011:6;24967:73;:::i;:::-;25050:69;25114:3;25103:9;25099:19;25090:6;25050:69;:::i;:::-;25167:9;25161:4;25157:20;25151:3;25140:9;25136:19;25129:49;25195:78;25268:4;25259:6;25195:78;:::i;:::-;25187:86;;25321:9;25315:4;25311:20;25305:3;25294:9;25290:19;25283:49;25349:78;25422:4;25413:6;25349:78;:::i;:::-;25341:86;;25475:9;25469:4;25465:20;25459:3;25448:9;25444:19;25437:49;25503:78;25576:4;25567:6;25503:78;:::i;:::-;25495:86;;24510:1078;;;;;;;;;;;;;:::o;25594:129::-;25628:6;25655:20;;:::i;:::-;25645:30;;25684:33;25712:4;25704:6;25684:33;:::i;:::-;25635:88;;;:::o;25729:75::-;25762:6;25795:2;25789:9;25779:19;;25769:35;:::o;25810:308::-;25872:4;25962:18;25954:6;25951:30;25948:2;;;25984:18;;:::i;:::-;25948:2;26022:29;26044:6;26022:29;:::i;:::-;26014:37;;26106:4;26100;26096:15;26088:23;;25877:241;;;:::o;26124:99::-;26176:6;26210:5;26204:12;26194:22;;26183:40;;;:::o;26229:159::-;26303:11;26337:6;26332:3;26325:19;26377:4;26372:3;26368:14;26353:29;;26315:73;;;;:::o;26394:169::-;26478:11;26512:6;26507:3;26500:19;26552:4;26547:3;26543:14;26528:29;;26490:73;;;;:::o;26569:305::-;26609:3;26628:20;26646:1;26628:20;:::i;:::-;26623:25;;26662:20;26680:1;26662:20;:::i;:::-;26657:25;;26816:1;26748:66;26744:74;26741:1;26738:81;26735:2;;;26822:18;;:::i;:::-;26735:2;26866:1;26863;26859:9;26852:16;;26613:261;;;;:::o;26880:191::-;26920:4;26940:20;26958:1;26940:20;:::i;:::-;26935:25;;26974:20;26992:1;26974:20;:::i;:::-;26969:25;;27013:1;27010;27007:8;27004:2;;;27018:18;;:::i;:::-;27004:2;27063:1;27060;27056:9;27048:17;;26925:146;;;;:::o;27077:96::-;27114:7;27143:24;27161:5;27143:24;:::i;:::-;27132:35;;27122:51;;;:::o;27179:104::-;27224:7;27253:24;27271:5;27253:24;:::i;:::-;27242:35;;27232:51;;;:::o;27289:90::-;27323:7;27366:5;27359:13;27352:21;27341:32;;27331:48;;;:::o;27385:149::-;27421:7;27461:66;27454:5;27450:78;27439:89;;27429:105;;;:::o;27540:126::-;27577:7;27617:42;27610:5;27606:54;27595:65;;27585:81;;;:::o;27672:77::-;27709:7;27738:5;27727:16;;27717:32;;;:::o;27755:86::-;27790:7;27830:4;27823:5;27819:16;27808:27;;27798:43;;;:::o;27847:134::-;27905:9;27938:37;27969:5;27938:37;:::i;:::-;27925:50;;27915:66;;;:::o;27987:126::-;28037:9;28070:37;28101:5;28070:37;:::i;:::-;28057:50;;28047:66;;;:::o;28119:113::-;28169:9;28202:24;28220:5;28202:24;:::i;:::-;28189:37;;28179:53;;;:::o;28238:307::-;28306:1;28316:113;28330:6;28327:1;28324:13;28316:113;;;28415:1;28410:3;28406:11;28400:18;28396:1;28391:3;28387:11;28380:39;28352:2;28349:1;28345:10;28340:15;;28316:113;;;28447:6;28444:1;28441:13;28438:2;;;28527:1;28518:6;28513:3;28509:16;28502:27;28438:2;28287:258;;;;:::o;28551:320::-;28595:6;28632:1;28626:4;28622:12;28612:22;;28679:1;28673:4;28669:12;28700:18;28690:2;;28756:4;28748:6;28744:17;28734:27;;28690:2;28818;28810:6;28807:14;28787:18;28784:38;28781:2;;;28837:18;;:::i;:::-;28781:2;28602:269;;;;:::o;28877:281::-;28960:27;28982:4;28960:27;:::i;:::-;28952:6;28948:40;29090:6;29078:10;29075:22;29054:18;29042:10;29039:34;29036:62;29033:2;;;29101:18;;:::i;:::-;29033:2;29141:10;29137:2;29130:22;28920:238;;;:::o;29164:180::-;29212:77;29209:1;29202:88;29309:4;29306:1;29299:15;29333:4;29330:1;29323:15;29350:180;29398:77;29395:1;29388:88;29495:4;29492:1;29485:15;29519:4;29516:1;29509:15;29536:180;29584:77;29581:1;29574:88;29681:4;29678:1;29671:15;29705:4;29702:1;29695:15;29722:102;29763:6;29814:2;29810:7;29805:2;29798:5;29794:14;29790:28;29780:38;;29770:54;;;:::o;29830:168::-;29970:20;29966:1;29958:6;29954:14;29947:44;29936:62;:::o;30004:165::-;30144:17;30140:1;30132:6;30128:14;30121:41;30110:59;:::o;30175:179::-;30315:31;30311:1;30303:6;30299:14;30292:55;30281:73;:::o;30360:179::-;30500:31;30496:1;30488:6;30484:14;30477:55;30466:73;:::o;30545:289::-;30685:34;30681:1;30673:6;30669:14;30662:58;30754:34;30749:2;30741:6;30737:15;30730:59;30823:3;30818:2;30810:6;30806:15;30799:28;30651:183;:::o;30840:232::-;30980:34;30976:1;30968:6;30964:14;30957:58;31049:15;31044:2;31036:6;31032:15;31025:40;30946:126;:::o;31078:164::-;31218:16;31214:1;31206:6;31202:14;31195:40;31184:58;:::o;31248:166::-;31388:18;31384:1;31376:6;31372:14;31365:42;31354:60;:::o;31420:122::-;31493:24;31511:5;31493:24;:::i;:::-;31486:5;31483:35;31473:2;;31532:1;31529;31522:12;31473:2;31463:79;:::o;31548:138::-;31629:32;31655:5;31629:32;:::i;:::-;31622:5;31619:43;31609:2;;31676:1;31673;31666:12;31609:2;31599:87;:::o;31692:116::-;31762:21;31777:5;31762:21;:::i;:::-;31755:5;31752:32;31742:2;;31798:1;31795;31788:12;31742:2;31732:76;:::o;31814:122::-;31887:24;31905:5;31887:24;:::i;:::-;31880:5;31877:35;31867:2;;31926:1;31923;31916:12;31867:2;31857:79;:::o;31942:118::-;32013:22;32029:5;32013:22;:::i;:::-;32006:5;32003:33;31993:2;;32050:1;32047;32040:12;31993:2;31983:77;:::o", - "source": "// SPDX-License-Identifier: Apache License\npragma solidity >= 0.8.0;\nimport \"./interfaces/IERC721ext.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport \"@openzeppelin/contracts/utils/math/SafeMath.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n\ncontract MarketPlace is IERC721Receiver {\n using SafeMath for uint;\n struct Order {\n \n uint256 idNFT;\n address currencyCode; // UNIQ tokens as address address (1); wKSM \n uint256 price;\n uint256 time;\n address idCollection;\n address ownerAddr;\n uint8 flagActive;\n string name;\n string symbol;\n string tokenURI; \n }\n Order[] public orders;\n uint test;\n mapping (address => uint256) public balanceKSM; // [ownerAddr][currency] => [KSMs]\n mapping (address => mapping (uint256 => uint256)) public asks ; // [buyer][idCollection][idNFT] => idorder\n\n mapping (address => uint[]) public asksbySeller; // [addressSeller] =>idorder\n\n address escrow;\n address owner;\n address nativecoin;\n\n constructor (address _escrow) {\n escrow = _escrow;\n owner = msg.sender;\n\n orders.push(Order( \n 0,\n address(0),\n 0,\n 0,\n address(0),\n address(0),\n 0, \"\",\"\",\"\"));\n }\n\n function setowner (address _newEscrow) public onlyOwner {\n escrow = _newEscrow;\n }\n\n function setEscrow (address _newEscrow) public onlyOwner {\n escrow = _newEscrow;\n }\n\n function setNativeCoin (address _coin) public onlyOwner {\n nativecoin = _coin;\n }\n\n \n\n modifier onlyEscrow () {\n require(msg.sender == escrow, \"Only escrow can\");\n _;\n }\n\n modifier onlyOwner () {\n require(msg.sender == owner, \"Only owner can\");\n _;\n }\n\n /**\n * Make bids (orders) to sell NFTs \n */\n \n receive () external payable {\n revert (\"Can't accept payment without collection and IDs, use dApp to send\");\n }\n fallback () external payable {\n revert (\"No such function\");\n }\n\n event AddedAsk (uint256 _price, \n address _currencyCode, \n address _idCollection, \n uint256 _idNFT,\n uint256 orderId\n );\n event EditedAsk (uint256 _price, \n address _currencyCode, \n address _idCollection, \n uint256 _idNFT,\n uint8 _active,\n uint orderId);\n\n event CanceledAsk (address _idCollection, \n uint256 _idNFT, \n uint orderId\n );\n\n event DepositedKSM (uint256 _amount, address _sender);\n\n event BoughtNFT4KSM (address _idCollection, uint256 _idNFT, uint orderID, uint orderPrice );\n\n event BoughtNFT (address _idCollection, uint256 _idNFT, uint orderID, uint orderPrice );\n\n event WithdrawnAllKSM (address _sender, uint256 balance); \n\n event Withdrawn (uint256 _amount, address _currencyCode, address _sender);\n \n function addAsk (uint256 _price, \n address _currencyCode, \n address _idCollection, \n uint256 _idNFT\n ) public { //\n address ownerNFT = IERC721ext(_idCollection).ownerOf(_idNFT);\n require (ownerNFT == msg.sender, \"Only token owner can make ask\");\n string memory nameNFT;\n string memory symbolNFT;\n string memory uriNFT;\n try IERC721ext(_idCollection).name() returns (string memory name_) {\n nameNFT = name_;\n }\n catch {\n nameNFT=\"\";\n } \n try IERC721ext(_idCollection).symbol() returns (string memory symbol_) {\n symbolNFT = symbol_;\n }\n catch {\n symbolNFT=\"\";\n } \n try IERC721ext(_idCollection).tokenURI(_idNFT) returns (string memory uri_) {\n uriNFT = uri_;\n }\n catch {\n uriNFT=\"\";\n } \n orders.push(Order( \n _idNFT,\n _currencyCode,\n _price,\n block.timestamp,\n _idCollection,\n msg.sender,\n 1, // 1 = is active\n nameNFT, \n symbolNFT,\n uriNFT\n ));\n \n uint orderId = orders.length-1;\n asks[_idCollection][_idNFT] = orderId;\n asksbySeller[msg.sender].push(orderId);\n IERC721ext(_idCollection).transferFrom(msg.sender, address(this), _idNFT);\n emit AddedAsk(_price, _currencyCode, _idCollection, _idNFT, orderId); \n }\n\n function editAsk (uint256 _price, \n address _currencyCode, \n address _idCollection, \n uint256 _idNFT,\n uint8 _active) public {\n \n\n uint orderID = asks[_idCollection][_idNFT];\n\n require (orders[orderID].ownerAddr == msg.sender, \"Only token owner can edit ask\");\n require (orders[orderID].flagActive != 0, \"This ask is closed\");\n if (_price> 0 ) {\n orders[orderID].price = _price ; \n }\n \n if (_currencyCode != address(0) ) {\n orders[orderID].currencyCode = _currencyCode ; \n }\n\n orders[orderID].time = block.timestamp;\n orders[orderID].flagActive = _active;\n \n emit EditedAsk(_price, _currencyCode, _idCollection, _idNFT, _active, orderID);\n }\n \n\n function cancelAsk (address _idCollection, \n uint256 _idNFT\n ) public {\n\n uint orderID = asks[_idCollection][_idNFT];\n\n require (orders[orderID].ownerAddr == msg.sender, \"Only token owner can edit ask\");\n require (orders[orderID].flagActive != 0, \"This ask is closed\");\n\n orders[orderID].time = block.timestamp;\n orders[orderID].flagActive = 0;\n IERC721ext(_idCollection).transferFrom(address(this),orders[orderID].ownerAddr, _idNFT);\n emit CanceledAsk(_idCollection, _idNFT, orderID);\n }\n\n\n function depositKSM (uint256 _amount, address _sender) public onlyEscrow {\n\n balanceKSM[_sender]= balanceKSM[_sender].add(_amount);\n emit DepositedKSM(_amount, _sender);\n }\n\n function buyKSM (address _idCollection, uint256 _idNFT, address _buyer, address _receiver ) public {\n \n Order memory order = orders[ asks[_idCollection][_idNFT]];\n //1. reduce balance\n balanceKSM[_buyer] = balanceKSM[_buyer].sub( order.price, \"Insuccificient KSMs funds\");\n balanceKSM[order.ownerAddr] = balanceKSM[order.ownerAddr].add( order.price);\n // 2. close order\n orders[ asks[_idCollection][_idNFT]].flagActive = 0;\n // 3. transfer NFT to buyer\n IERC721ext(_idCollection).transferFrom(address(this), _receiver, _idNFT);\n emit BoughtNFT4KSM(_idCollection, _idNFT, asks[_idCollection][_idNFT], order.price);\n\n }\n function buy (address _idCollection, uint256 _idNFT ) public payable returns (bool result) { //buing for UNQ like as ethers \n \n Order memory order = orders[asks[_idCollection][_idNFT]]; \n //1. check sent amount and send to seller\n require (msg.value == order.price, \"Not right amount sent, have to be equal price\" ); \n // 2. close order\n orders[ asks[_idCollection][_idNFT]].flagActive = 0;\n \n // 3. transfer NFT to buyer\n IERC721ext(_idCollection).transferFrom(address(this), msg.sender, _idNFT);\n //uint balance = address(this).balance;\n result = payable(order.ownerAddr).send (order.price); \n emit BoughtNFT(_idCollection, _idNFT, asks[_idCollection][_idNFT], order.price);\n \n }\n\n/* \n function buyOther (address _idCollection, uint256 _idNFT, address _currencyCode, uint _amount ) public { //buy for sny token if seller wants\n \n Order memory order = orders[ asks[_idCollection][_idNFT]];\n //1. check sent amount and transfer from buyer to seller\n require (order.price == _amount && order.currencyCode == _currencyCode, \"Not right amount or currency sent, have to be equal currency and price\" );\n // !!! transfer have to be approved to marketplace!\n IERC20(order.currencyCode).transferFrom(msg.sender, address(this), order.price); //to not disclojure buyer's address \n IERC20(order.currencyCode).transfer(order.ownerAddr, order.price);\n // 2. close order\n orders[ asks[_idCollection][_idNFT]].flagActive = 0;\n // 3. transfer NFT to buyer\n IERC721ext(_idCollection).transferFrom(address(this), msg.sender, _idNFT);\n\n\n }\n */\n\n function withdrawAllKSM (address _sender) public onlyEscrow returns (uint lastBalance ){\n lastBalance = balanceKSM[_sender];\n balanceKSM[_sender] =0;\n emit WithdrawnAllKSM(_sender, lastBalance);\n }\n\n function withdraw (uint256 _amount, address _currencyCode, address payable _sender) public onlyOwner returns (bool result ){\n \n if (_currencyCode != nativecoin ) { //erc20 compat. tokens on UNIQUE chain\n // uint balance = IERC20(_currencyCode).balanceOf(address(this));\n IERC20(_currencyCode).transfer(_sender, _amount);\n } else {\n // uint balance = address(this).balance;\n\n result = (_sender).send(_amount); // for UNQ like as ethers \n }\n emit Withdrawn(_amount, _currencyCode, _sender);\n return result;\n\n }\n // event GettedOrder(uint , Order);\n function getOrder (address _idCollection, uint256 _idNFT) public view returns (Order memory) {\n uint orderId = asks[_idCollection][_idNFT];\n Order memory order = orders[orderId];\n // emit GettedOrder (orderId, order);\n return order;\n }\n\n function getOrdersLen () public view returns (uint) {\n return orders.length;\n }\n\n function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) public override pure returns(bytes4) {\n return bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"));\n }\n}", - "sourcePath": "/mnt/512-2/Uniq/marketplace_backend/contracts/MarketPlace.sol", - "ast": { - "absolutePath": "project:/contracts/MarketPlace.sol", - "exportedSymbols": { - "IERC165": [ - 2183 - ], - "IERC20": [ - 623 - ], - "IERC721": [ - 1582 - ], - "IERC721Metadata": [ - 1627 - ], - "IERC721Receiver": [ - 1600 - ], - "IERC721ext": [ - 3572 - ], - "MarketPlace": [ - 3464 - ], - "SafeMath": [ - 2495 - ] - }, - "id": 3465, - "license": "Apache License", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2563, - "literals": [ - "solidity", - ">=", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "44:25:14" - }, - { - "absolutePath": "project:/contracts/interfaces/IERC721ext.sol", - "file": "./interfaces/IERC721ext.sol", - "id": 2564, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 3573, - "src": "70:37:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "id": 2565, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 1601, - "src": "108:66:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 2566, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 2496, - "src": "175:57:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2567, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 624, - "src": "233:56:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2568, - "name": "IERC721Receiver", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1600, - "src": "316:15:14" - }, - "id": 2569, - "nodeType": "InheritanceSpecifier", - "src": "316:15:14" - } - ], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3464, - "linearizedBaseContracts": [ - 3464, - 1600 - ], - "name": "MarketPlace", - "nameLocation": "301:11:14", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2572, - "libraryName": { - "id": 2570, - "name": "SafeMath", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2495, - "src": "344:8:14" - }, - "nodeType": "UsingForDirective", - "src": "338:24:14", - "typeName": { - "id": 2571, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "357:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "MarketPlace.Order", - "id": 2593, - "members": [ - { - "constant": false, - "id": 2574, - "mutability": "mutable", - "name": "idNFT", - "nameLocation": "407:5:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "399:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "399:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2576, - "mutability": "mutable", - "name": "currencyCode", - "nameLocation": "430:12:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "422:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2578, - "mutability": "mutable", - "name": "price", - "nameLocation": "505:5:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "497:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2580, - "mutability": "mutable", - "name": "time", - "nameLocation": "528:4:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "520:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2582, - "mutability": "mutable", - "name": "idCollection", - "nameLocation": "550:12:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "542:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2581, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2584, - "mutability": "mutable", - "name": "ownerAddr", - "nameLocation": "580:9:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "572:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2586, - "mutability": "mutable", - "name": "flagActive", - "nameLocation": "605:10:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "599:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2585, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "599:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2588, - "mutability": "mutable", - "name": "name", - "nameLocation": "632:4:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "625:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2587, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "625:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2590, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "653:6:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "646:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2589, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "646:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2592, - "mutability": "mutable", - "name": "tokenURI", - "nameLocation": "676:8:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "669:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2591, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "669:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "name": "Order", - "nameLocation": "374:5:14", - "nodeType": "StructDefinition", - "scope": 3464, - "src": "367:332:14", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a85c38ef", - "id": 2597, - "mutability": "mutable", - "name": "orders", - "nameLocation": "720:6:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "704:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order[]" - }, - "typeName": { - "baseType": { - "id": 2595, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2594, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "704:5:14" - }, - "referencedDeclaration": 2593, - "src": "704:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "id": 2596, - "nodeType": "ArrayTypeName", - "src": "704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr", - "typeString": "struct MarketPlace.Order[]" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2599, - "mutability": "mutable", - "name": "test", - "nameLocation": "737:4:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "732:9:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2598, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "732:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "b4c3e8ea", - "id": 2603, - "mutability": "mutable", - "name": "balanceKSM", - "nameLocation": "783:10:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "747:46:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2602, - "keyType": { - "id": 2600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "756:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "747:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "767:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e22d4f7d", - "id": 2609, - "mutability": "mutable", - "name": "asks", - "nameLocation": "894:4:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "836:62:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 2608, - "keyType": { - "id": 2604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "845:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "836:49:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 2607, - "keyType": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "865:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "856:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 2606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "876:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "99f2d4eb", - "id": 2614, - "mutability": "mutable", - "name": "asksbySeller", - "nameLocation": "984:12:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "949:47:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 2613, - "keyType": { - "id": 2610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "958:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "949:27:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 2611, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "969:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2612, - "nodeType": "ArrayTypeName", - "src": "969:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2616, - "mutability": "mutable", - "name": "escrow", - "nameLocation": "1040:6:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1032:14:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2615, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1032:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2618, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1060:5:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1052:13:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2617, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2620, - "mutability": "mutable", - "name": "nativecoin", - "nameLocation": "1079:10:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1071:18:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2619, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1071:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 2660, - "nodeType": "Block", - "src": "1126:298:14", - "statements": [ - { - "expression": { - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2625, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2626, - "name": "_escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2622, - "src": "1145:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1136:16:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2628, - "nodeType": "ExpressionStatement", - "src": "1136:16:14" - }, - { - "expression": { - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2629, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2618, - "src": "1162:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 2630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1170:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1170:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1162:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2633, - "nodeType": "ExpressionStatement", - "src": "1162:18:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1239:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1270:1:14", - "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": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1262:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2639, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1262:7:14", - "typeDescriptions": {} - } - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1262:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1294:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1317:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1348:1:14", - "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": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1340:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1340:7:14", - "typeDescriptions": {} - } - }, - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1340:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1380:1:14", - "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": 2650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1372:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1372:7:14", - "typeDescriptions": {} - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1372:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1404:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "", - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1407:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "hexValue": "", - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1410:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "hexValue": "", - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1413:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 2637, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "1204:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$2593_storage_ptr_$", - "typeString": "type(struct MarketPlace.Order storage pointer)" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1204:212:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - ], - "expression": { - "id": 2634, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "1192:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "1192:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$_t_struct$_Order_$2593_storage_$returns$__$bound_to$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$", - "typeString": "function (struct MarketPlace.Order storage ref[] storage pointer,struct MarketPlace.Order storage ref)" - } - }, - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1192:225:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2659, - "nodeType": "ExpressionStatement", - "src": "1192:225:14" - } - ] - }, - "id": 2661, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2622, - "mutability": "mutable", - "name": "_escrow", - "nameLocation": "1117:7:14", - "nodeType": "VariableDeclaration", - "scope": 2661, - "src": "1109:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1109:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1108:17:14" - }, - "returnParameters": { - "id": 2624, - "nodeType": "ParameterList", - "parameters": [], - "src": "1126:0:14" - }, - "scope": 3464, - "src": "1096:328:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2672, - "nodeType": "Block", - "src": "1486:36:14", - "statements": [ - { - "expression": { - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2668, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1496:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2669, - "name": "_newEscrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "1505:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1496:19:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2671, - "nodeType": "ExpressionStatement", - "src": "1496:19:14" - } - ] - }, - "functionSelector": "592bd705", - "id": 2673, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2666, - "kind": "modifierInvocation", - "modifierName": { - "id": 2665, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1476:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1476:9:14" - } - ], - "name": "setowner", - "nameLocation": "1438:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2663, - "mutability": "mutable", - "name": "_newEscrow", - "nameLocation": "1457:10:14", - "nodeType": "VariableDeclaration", - "scope": 2673, - "src": "1449:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1448:20:14" - }, - "returnParameters": { - "id": 2667, - "nodeType": "ParameterList", - "parameters": [], - "src": "1486:0:14" - }, - "scope": 3464, - "src": "1429:93:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2684, - "nodeType": "Block", - "src": "1586:36:14", - "statements": [ - { - "expression": { - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2680, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1596:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2681, - "name": "_newEscrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "1605:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1596:19:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2683, - "nodeType": "ExpressionStatement", - "src": "1596:19:14" - } - ] - }, - "functionSelector": "c10c3546", - "id": 2685, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2678, - "kind": "modifierInvocation", - "modifierName": { - "id": 2677, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1576:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1576:9:14" - } - ], - "name": "setEscrow", - "nameLocation": "1537:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2675, - "mutability": "mutable", - "name": "_newEscrow", - "nameLocation": "1557:10:14", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "1549:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1549:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1548:20:14" - }, - "returnParameters": { - "id": 2679, - "nodeType": "ParameterList", - "parameters": [], - "src": "1586:0:14" - }, - "scope": 3464, - "src": "1528:94:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2696, - "nodeType": "Block", - "src": "1685:35:14", - "statements": [ - { - "expression": { - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2692, - "name": "nativecoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "1695:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2693, - "name": "_coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2687, - "src": "1708:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1695:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2695, - "nodeType": "ExpressionStatement", - "src": "1695:18:14" - } - ] - }, - "functionSelector": "3ce61756", - "id": 2697, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2690, - "kind": "modifierInvocation", - "modifierName": { - "id": 2689, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1675:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1675:9:14" - } - ], - "name": "setNativeCoin", - "nameLocation": "1637:13:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2687, - "mutability": "mutable", - "name": "_coin", - "nameLocation": "1661:5:14", - "nodeType": "VariableDeclaration", - "scope": 2697, - "src": "1653:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1653:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1652:15:14" - }, - "returnParameters": { - "id": 2691, - "nodeType": "ParameterList", - "parameters": [], - "src": "1685:0:14" - }, - "scope": 3464, - "src": "1628:92:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2708, - "nodeType": "Block", - "src": "1755:76:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2700, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1773:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1773:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2702, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1787:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1773:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920657363726f772063616e", - "id": 2704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1795:17:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "typeString": "literal_string \"Only escrow can\"" - }, - "value": "Only escrow can" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "typeString": "literal_string \"Only escrow can\"" - } - ], - "id": 2699, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1765:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1765:48:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "1765:48:14" - }, - { - "id": 2707, - "nodeType": "PlaceholderStatement", - "src": "1823:1:14" - } - ] - }, - "id": 2709, - "name": "onlyEscrow", - "nameLocation": "1741:10:14", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2698, - "nodeType": "ParameterList", - "parameters": [], - "src": "1752:2:14" - }, - "src": "1732:99:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2720, - "nodeType": "Block", - "src": "1859:74:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2712, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1877:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1877:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2714, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2618, - "src": "1891:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1877:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c79206f776e65722063616e", - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1898:16:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "typeString": "literal_string \"Only owner can\"" - }, - "value": "Only owner can" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "typeString": "literal_string \"Only owner can\"" - } - ], - "id": 2711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1869:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1869:46:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2718, - "nodeType": "ExpressionStatement", - "src": "1869:46:14" - }, - { - "id": 2719, - "nodeType": "PlaceholderStatement", - "src": "1925:1:14" - } - ] - }, - "id": 2721, - "name": "onlyOwner", - "nameLocation": "1846:9:14", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2710, - "nodeType": "ParameterList", - "parameters": [], - "src": "1856:2:14" - }, - "src": "1837:96:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2729, - "nodeType": "Block", - "src": "2027:93:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "43616e277420616363657074207061796d656e7420776974686f757420636f6c6c656374696f6e20616e64204944732c20757365206441707020746f2073656e64", - "id": 2726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2045:67:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "typeString": "literal_string \"Can't accept payment without collection and IDs, use dApp to send\"" - }, - "value": "Can't accept payment without collection and IDs, use dApp to send" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "typeString": "literal_string \"Can't accept payment without collection and IDs, use dApp to send\"" - } - ], - "id": 2725, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "2037:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2037:76:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2728, - "nodeType": "ExpressionStatement", - "src": "2037:76:14" - } - ] - }, - "documentation": { - "id": 2722, - "nodeType": "StructuredDocumentation", - "src": "1939:49:14", - "text": " Make bids (orders) to sell NFTs " - }, - "id": 2730, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2723, - "nodeType": "ParameterList", - "parameters": [], - "src": "2007:2:14" - }, - "returnParameters": { - "id": 2724, - "nodeType": "ParameterList", - "parameters": [], - "src": "2027:0:14" - }, - "scope": 3464, - "src": "1998:122:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2737, - "nodeType": "Block", - "src": "2154:44:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4e6f20737563682066756e6374696f6e", - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2172:18:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "typeString": "literal_string \"No such function\"" - }, - "value": "No such function" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "typeString": "literal_string \"No such function\"" - } - ], - "id": 2733, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "2164:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2164:27:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2736, - "nodeType": "ExpressionStatement", - "src": "2164:27:14" - } - ] - }, - "id": 2738, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [], - "src": "2134:2:14" - }, - "returnParameters": { - "id": 2732, - "nodeType": "ParameterList", - "parameters": [], - "src": "2154:0:14" - }, - "scope": 3464, - "src": "2125:73:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "id": 2750, - "name": "AddedAsk", - "nameLocation": "2210:8:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2740, - "indexed": false, - "mutability": "mutable", - "name": "_price", - "nameLocation": "2228:6:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2220:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2220:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2742, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "2266:13:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2257:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2257:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2744, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2310:13:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2302:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2302:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2746, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2354:6:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2346:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2748, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2390:7:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2382:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2382:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2219:198:14" - }, - "src": "2204:214:14" - }, - { - "anonymous": false, - "id": 2764, - "name": "EditedAsk", - "nameLocation": "2429:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2752, - "indexed": false, - "mutability": "mutable", - "name": "_price", - "nameLocation": "2448:6:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2440:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2440:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2754, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "2486:13:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2477:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2753, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2477:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2756, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2530:13:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2522:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2522:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2758, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2574:6:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2566:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2566:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2760, - "indexed": false, - "mutability": "mutable", - "name": "_active", - "nameLocation": "2609:7:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2602:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2759, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2762, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2643:7:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2638:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2761, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2638:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:212:14" - }, - "src": "2423:229:14" - }, - { - "anonymous": false, - "id": 2772, - "name": "CanceledAsk", - "nameLocation": "2665:11:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2766, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2686:13:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2678:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2678:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2768, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2734:6:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2726:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2726:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2770, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2772:7:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2767:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2769, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2677:128:14" - }, - "src": "2658:148:14" - }, - { - "anonymous": false, - "id": 2778, - "name": "DepositedKSM", - "nameLocation": "2818:12:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2774, - "indexed": false, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "2840:7:14", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "2832:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2832:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2776, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "2858:7:14", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "2850:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2850:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2831:35:14" - }, - "src": "2812:55:14" - }, - { - "anonymous": false, - "id": 2788, - "name": "BoughtNFT4KSM", - "nameLocation": "2879:13:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2902:13:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2894:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2894:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2925:6:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2917:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2917:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2784, - "indexed": false, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "2938:7:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2933:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2783, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2933:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2786, - "indexed": false, - "mutability": "mutable", - "name": "orderPrice", - "nameLocation": "2952:10:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2947:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2785, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2947:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2893:71:14" - }, - "src": "2873:92:14" - }, - { - "anonymous": false, - "id": 2798, - "name": "BoughtNFT", - "nameLocation": "2977:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2790, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2996:13:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2988:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2988:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2792, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "3019:6:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3011:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3011:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2794, - "indexed": false, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "3032:7:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3027:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2793, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3027:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2796, - "indexed": false, - "mutability": "mutable", - "name": "orderPrice", - "nameLocation": "3046:10:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3041:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2795, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3041:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2987:71:14" - }, - "src": "2971:88:14" - }, - { - "anonymous": false, - "id": 2804, - "name": "WithdrawnAllKSM", - "nameLocation": "3071:15:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3096:7:14", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3088:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3088:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": false, - "mutability": "mutable", - "name": "balance", - "nameLocation": "3113:7:14", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3105:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3105:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:34:14" - }, - "src": "3065:57:14" - }, - { - "anonymous": false, - "id": 2812, - "name": "Withdrawn", - "nameLocation": "3135:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2806, - "indexed": false, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "3154:7:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3146:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3146:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2808, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "3171:13:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3163:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3163:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3194:7:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3186:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3186:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3145:57:14" - }, - "src": "3129:74:14" - }, - { - "body": { - "id": 2976, - "nodeType": "Block", - "src": "3399:1485:14", - "statements": [ - { - "assignments": [ - 2824 - ], - "declarations": [ - { - "constant": false, - "id": 2824, - "mutability": "mutable", - "name": "ownerNFT", - "nameLocation": "3420:8:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3412:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3412:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2831, - "initialValue": { - "arguments": [ - { - "id": 2829, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "3465:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2826, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3442:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2825, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3431:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 1515, - "src": "3431:33:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:41:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3412:60:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2833, - "name": "ownerNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2824, - "src": "3491:8:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2834, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3503:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3503:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3491:22:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e206d616b652061736b", - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3515:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "typeString": "literal_string \"Only token owner can make ask\"" - }, - "value": "Only token owner can make ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "typeString": "literal_string \"Only token owner can make ask\"" - } - ], - "id": 2832, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3482:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3482:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2839, - "nodeType": "ExpressionStatement", - "src": "3482:65:14" - }, - { - "assignments": [ - 2841 - ], - "declarations": [ - { - "constant": false, - "id": 2841, - "mutability": "mutable", - "name": "nameNFT", - "nameLocation": "3571:7:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3557:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3557:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2842, - "nodeType": "VariableDeclarationStatement", - "src": "3557:21:14" - }, - { - "assignments": [ - 2844 - ], - "declarations": [ - { - "constant": false, - "id": 2844, - "mutability": "mutable", - "name": "symbolNFT", - "nameLocation": "3602:9:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3588:23:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2843, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3588:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2845, - "nodeType": "VariableDeclarationStatement", - "src": "3588:23:14" - }, - { - "assignments": [ - 2847 - ], - "declarations": [ - { - "constant": false, - "id": 2847, - "mutability": "mutable", - "name": "uriNFT", - "nameLocation": "3635:6:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3621:20:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2846, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3621:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2848, - "nodeType": "VariableDeclarationStatement", - "src": "3621:20:14" - }, - { - "clauses": [ - { - "block": { - "id": 2861, - "nodeType": "Block", - "src": "3718:40:14", - "statements": [ - { - "expression": { - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2857, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "3732:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2858, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2855, - "src": "3742:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3732:15:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2860, - "nodeType": "ExpressionStatement", - "src": "3732:15:14" - } - ] - }, - "errorName": "", - "id": 2862, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2855, - "mutability": "mutable", - "name": "name_", - "nameLocation": "3711:5:14", - "nodeType": "VariableDeclaration", - "scope": 2862, - "src": "3697:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2854, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3697:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3696:21:14" - }, - "src": "3688:70:14" - }, - { - "block": { - "id": 2867, - "nodeType": "Block", - "src": "3773:35:14", - "statements": [ - { - "expression": { - "id": 2865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2863, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "3787:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3795:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "3787:10:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2866, - "nodeType": "ExpressionStatement", - "src": "3787:10:14" - } - ] - }, - "errorName": "", - "id": 2868, - "nodeType": "TryCatchClause", - "src": "3767:41:14" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 2850, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3666:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2849, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3655:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3655:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1612, - "src": "3655:30:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 2853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3655:32:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2869, - "nodeType": "TryStatement", - "src": "3651:157:14" - }, - { - "clauses": [ - { - "block": { - "id": 2882, - "nodeType": "Block", - "src": "3891:44:14", - "statements": [ - { - "expression": { - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2878, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "3905:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2879, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2876, - "src": "3917:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3905:19:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2881, - "nodeType": "ExpressionStatement", - "src": "3905:19:14" - } - ] - }, - "errorName": "", - "id": 2883, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2877, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2876, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "3882:7:14", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3868:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2875, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3868:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3867:23:14" - }, - "src": "3859:76:14" - }, - { - "block": { - "id": 2888, - "nodeType": "Block", - "src": "3950:37:14", - "statements": [ - { - "expression": { - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2884, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "3964:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3974:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "3964:12:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2887, - "nodeType": "ExpressionStatement", - "src": "3964:12:14" - } - ] - }, - "errorName": "", - "id": 2889, - "nodeType": "TryCatchClause", - "src": "3944:43:14" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 2871, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3835:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2870, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3824:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3824:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "symbol", - "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "3824:32:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3824:34:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2890, - "nodeType": "TryStatement", - "src": "3820:167:14" - }, - { - "clauses": [ - { - "block": { - "id": 2904, - "nodeType": "Block", - "src": "4074:38:14", - "statements": [ - { - "expression": { - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2900, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4088:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2901, - "name": "uri_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2898, - "src": "4097:4:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4088:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2903, - "nodeType": "ExpressionStatement", - "src": "4088:13:14" - } - ] - }, - "errorName": "", - "id": 2905, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2898, - "mutability": "mutable", - "name": "uri_", - "nameLocation": "4068:4:14", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "4054:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2897, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4054:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4053:20:14" - }, - "src": "4045:67:14" - }, - { - "block": { - "id": 2910, - "nodeType": "Block", - "src": "4127:34:14", - "statements": [ - { - "expression": { - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2906, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4141:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4148:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "4141:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2909, - "nodeType": "ExpressionStatement", - "src": "4141:9:14" - } - ] - }, - "errorName": "", - "id": 2911, - "nodeType": "TryCatchClause", - "src": "4121:40:14" - } - ], - "externalCall": { - "arguments": [ - { - "id": 2895, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4037:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2892, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4013:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2891, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "4002:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4002:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 1626, - "src": "4002:34:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4002:42:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2912, - "nodeType": "TryStatement", - "src": "3998:163:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2917, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4225:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2918, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "4253:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2919, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "4288:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2920, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "4316:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "4316:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2922, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4353:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4388:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4388:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "31", - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4420:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2926, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "4460:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2927, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "4490:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2928, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4521:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2916, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "4190:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$2593_storage_ptr_$", - "typeString": "type(struct MarketPlace.Order storage pointer)" - } - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:352:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - ], - "expression": { - "id": 2913, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "4178:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4178:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$_t_struct$_Order_$2593_storage_$returns$__$bound_to$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$", - "typeString": "function (struct MarketPlace.Order storage ref[] storage pointer,struct MarketPlace.Order storage ref)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4178:365:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2931, - "nodeType": "ExpressionStatement", - "src": "4178:365:14" - }, - { - "assignments": [ - 2933 - ], - "declarations": [ - { - "constant": false, - "id": 2933, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "4575:7:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "4570:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4570:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2938, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2934, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "4585:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4585:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4599:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4585:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4570:30:14" - }, - { - "expression": { - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2939, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "4614:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 2942, - "indexExpression": { - "id": 2940, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4619:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4614:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2943, - "indexExpression": { - "id": 2941, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4634:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4614:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2944, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4644:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4614:37:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "nodeType": "ExpressionStatement", - "src": "4614:37:14" - }, - { - "expression": { - "arguments": [ - { - "id": 2952, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4695:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 2947, - "name": "asksbySeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "4665:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2950, - "indexExpression": { - "expression": { - "id": 2948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4678:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4678:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4665:24:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4665:29:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4665:38:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "ExpressionStatement", - "src": "4665:38:14" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4756:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4756:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2963, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "4776:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4768:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:14", - "typeDescriptions": {} - } - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2965, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4783:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2956, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4728:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2955, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "4717:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "4717:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 2966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2967, - "nodeType": "ExpressionStatement", - "src": "4717:73:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2969, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "4818:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2970, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "4826:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2971, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4841:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2972, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4856:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2973, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4864:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2968, - "name": "AddedAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2750, - "src": "4809:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint256)" - } - }, - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4809:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2975, - "nodeType": "EmitStatement", - "src": "4804:68:14" - } - ] - }, - "functionSelector": "37c4eb58", - "id": 2977, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addAsk", - "nameLocation": "3222:6:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2814, - "mutability": "mutable", - "name": "_price", - "nameLocation": "3238:6:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3230:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3230:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2816, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "3276:13:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3267:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3267:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2818, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "3320:13:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3312:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3312:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2820, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "3364:6:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3356:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3356:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3229:161:14" - }, - "returnParameters": { - "id": 2822, - "nodeType": "ParameterList", - "parameters": [], - "src": "3399:0:14" - }, - "scope": 3464, - "src": "3213:1671:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3070, - "nodeType": "Block", - "src": "5093:639:14", - "statements": [ - { - "assignments": [ - 2991 - ], - "declarations": [ - { - "constant": false, - "id": 2991, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "5118:7:14", - "nodeType": "VariableDeclaration", - "scope": 3070, - "src": "5113:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2990, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5113:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2997, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 2992, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "5129:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 2994, - "indexExpression": { - "id": 2993, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5134:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5129:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2996, - "indexExpression": { - "id": 2995, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5149:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5129:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5113:43:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2999, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5176:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3001, - "indexExpression": { - "id": 3000, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5176:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "5176:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3003, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5205:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5205:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5176:39:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b", - "id": 3006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5217:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - }, - "value": "Only token owner can edit ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - } - ], - "id": 2998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5167:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5167:82:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3008, - "nodeType": "ExpressionStatement", - "src": "5167:82:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3010, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5268:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3012, - "indexExpression": { - "id": 3011, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5275:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5268:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "5268:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5298:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5268:31:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732061736b20697320636c6f736564", - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5301:20:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - }, - "value": "This ask is closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - } - ], - "id": 3009, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5259:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5259:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3018, - "nodeType": "ExpressionStatement", - "src": "5259:63:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3019, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5336:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5344:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5336:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3030, - "nodeType": "IfStatement", - "src": "5332:74:14", - "trueBody": { - "id": 3029, - "nodeType": "Block", - "src": "5348:58:14", - "statements": [ - { - "expression": { - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3022, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5362:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3024, - "indexExpression": { - "id": 3023, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5369:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5362:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "5362:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3026, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5386:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5362:30:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "5362:30:14" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3031, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5428:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5453:1:14", - "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": 3033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5445:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5445:7:14", - "typeDescriptions": {} - } - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5445:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5428:27:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3045, - "nodeType": "IfStatement", - "src": "5424:106:14", - "trueBody": { - "id": 3044, - "nodeType": "Block", - "src": "5458:72:14", - "statements": [ - { - "expression": { - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3037, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5472:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3039, - "indexExpression": { - "id": 3038, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5479:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5472:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currencyCode", - "nodeType": "MemberAccess", - "referencedDeclaration": 2576, - "src": "5472:28:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3041, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5503:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5472:44:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3043, - "nodeType": "ExpressionStatement", - "src": "5472:44:14" - } - ] - } - }, - { - "expression": { - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3046, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5540:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3048, - "indexExpression": { - "id": 3047, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5547:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5540:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "time", - "nodeType": "MemberAccess", - "referencedDeclaration": 2580, - "src": "5540:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 3050, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "5563:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5563:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5540:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "5540:38:14" - }, - { - "expression": { - "id": 3059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3054, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5588:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3056, - "indexExpression": { - "id": 3055, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5595:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5588:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "5588:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3058, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "5617:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5588:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3060, - "nodeType": "ExpressionStatement", - "src": "5588:36:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3062, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5658:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3063, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5666:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3064, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5681:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3065, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5696:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3066, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "5704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 3067, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5713:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3061, - "name": "EditedAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2764, - "src": "5648:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint8,uint256)" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5648:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3069, - "nodeType": "EmitStatement", - "src": "5643:78:14" - } - ] - }, - "functionSelector": "6b084b25", - "id": 3071, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "editAsk", - "nameLocation": "4899:7:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2988, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2979, - "mutability": "mutable", - "name": "_price", - "nameLocation": "4916:6:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4908:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4908:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2981, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "4954:13:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4945:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4945:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2983, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "4998:13:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4990:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4990:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2985, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "5042:6:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "5034:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5034:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2987, - "mutability": "mutable", - "name": "_active", - "nameLocation": "5077:7:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "5070:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2986, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5070:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "4907:178:14" - }, - "returnParameters": { - "id": 2989, - "nodeType": "ParameterList", - "parameters": [], - "src": "5093:0:14" - }, - "scope": 3464, - "src": "4890:842:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3143, - "nodeType": "Block", - "src": "5863:475:14", - "statements": [ - { - "assignments": [ - 3079 - ], - "declarations": [ - { - "constant": false, - "id": 3079, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "5879:7:14", - "nodeType": "VariableDeclaration", - "scope": 3143, - "src": "5874:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3078, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5874:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3085, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3080, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "5890:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3082, - "indexExpression": { - "id": 3081, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "5895:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5890:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3084, - "indexExpression": { - "id": 3083, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "5910:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5890:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5874:43:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3087, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5937:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3089, - "indexExpression": { - "id": 3088, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "5944:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5937:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "5937:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3091, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5966:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5966:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5937:39:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b", - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5978:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - }, - "value": "Only token owner can edit ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - } - ], - "id": 3086, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5928:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5928:82:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3096, - "nodeType": "ExpressionStatement", - "src": "5928:82:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3098, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6029:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3100, - "indexExpression": { - "id": 3099, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6036:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6029:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6029:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6059:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6029:31:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732061736b20697320636c6f736564", - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6062:20:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - }, - "value": "This ask is closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - } - ], - "id": 3097, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6020:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6020:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3106, - "nodeType": "ExpressionStatement", - "src": "6020:63:14" - }, - { - "expression": { - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3107, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6094:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3109, - "indexExpression": { - "id": 3108, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6101:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6094:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "time", - "nodeType": "MemberAccess", - "referencedDeclaration": 2580, - "src": "6094:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 3111, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "6117:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6117:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6094:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3114, - "nodeType": "ExpressionStatement", - "src": "6094:38:14" - }, - { - "expression": { - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3115, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6142:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3117, - "indexExpression": { - "id": 3116, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6149:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6142:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6142:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6142:30:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3121, - "nodeType": "ExpressionStatement", - "src": "6142:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3128, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "6229:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6221:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6221:7:14", - "typeDescriptions": {} - } - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6221:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "id": 3130, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6235:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3132, - "indexExpression": { - "id": 3131, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6242:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6235:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6235:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3134, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "6262:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3123, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6193:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3122, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "6182:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "6182:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:87:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3136, - "nodeType": "ExpressionStatement", - "src": "6182:87:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3138, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6296:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3139, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "6311:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3140, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6319:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3137, - "name": "CanceledAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "6284:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6284:43:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3142, - "nodeType": "EmitStatement", - "src": "6279:48:14" - } - ] - }, - "functionSelector": "40b80746", - "id": 3144, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "cancelAsk", - "nameLocation": "5756:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3073, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "5775:13:14", - "nodeType": "VariableDeclaration", - "scope": 3144, - "src": "5767:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5767:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "5823:6:14", - "nodeType": "VariableDeclaration", - "scope": 3144, - "src": "5815:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5815:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5766:89:14" - }, - "returnParameters": { - "id": 3077, - "nodeType": "ParameterList", - "parameters": [], - "src": "5863:0:14" - }, - "scope": 3464, - "src": "5747:591:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3169, - "nodeType": "Block", - "src": "6419:116:14", - "statements": [ - { - "expression": { - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3153, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6430:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3155, - "indexExpression": { - "id": 3154, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6441:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6430:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3160, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "6475:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 3156, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6451:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3158, - "indexExpression": { - "id": 3157, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6462:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6451:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2359, - "src": "6451:23:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6451:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6430:53:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3163, - "nodeType": "ExpressionStatement", - "src": "6430:53:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3165, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "6511:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3166, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6520:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3164, - "name": "DepositedKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2778, - "src": "6498:12:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6498:30:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3168, - "nodeType": "EmitStatement", - "src": "6493:35:14" - } - ] - }, - "functionSelector": "791bd866", - "id": 3170, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3151, - "kind": "modifierInvocation", - "modifierName": { - "id": 3150, - "name": "onlyEscrow", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2709, - "src": "6408:10:14" - }, - "nodeType": "ModifierInvocation", - "src": "6408:10:14" - } - ], - "name": "depositKSM", - "nameLocation": "6354:10:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3146, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "6374:7:14", - "nodeType": "VariableDeclaration", - "scope": 3170, - "src": "6366:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6366:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3148, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "6392:7:14", - "nodeType": "VariableDeclaration", - "scope": 3170, - "src": "6384:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6384:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6365:35:14" - }, - "returnParameters": { - "id": 3152, - "nodeType": "ParameterList", - "parameters": [], - "src": "6419:0:14" - }, - "scope": 3464, - "src": "6345:190:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3254, - "nodeType": "Block", - "src": "6640:591:14", - "statements": [ - { - "assignments": [ - 3183 - ], - "declarations": [ - { - "constant": false, - "id": 3183, - "mutability": "mutable", - "name": "order", - "nameLocation": "6672:5:14", - "nodeType": "VariableDeclaration", - "scope": 3254, - "src": "6659:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3182, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3181, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "6659:5:14" - }, - "referencedDeclaration": 2593, - "src": "6659:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3191, - "initialValue": { - "baseExpression": { - "id": 3184, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6680:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3190, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3185, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "6688:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3187, - "indexExpression": { - "id": 3186, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "6693:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6688:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3189, - "indexExpression": { - "id": 3188, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "6708:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6688:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6680:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6659:57:14" - }, - { - "expression": { - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3192, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6754:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3194, - "indexExpression": { - "id": 3193, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "6765:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6754:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3199, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6799:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "6799:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "496e737563636966696369656e74204b534d732066756e6473", - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6812:27:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_959258fd5c55b55f70609189cfa0335ab5ab9d569c5a25409d0d84696238a3c8", - "typeString": "literal_string \"Insuccificient KSMs funds\"" - }, - "value": "Insuccificient KSMs funds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_959258fd5c55b55f70609189cfa0335ab5ab9d569c5a25409d0d84696238a3c8", - "typeString": "literal_string \"Insuccificient KSMs funds\"" - } - ], - "expression": { - "baseExpression": { - "id": 3195, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6775:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3197, - "indexExpression": { - "id": 3196, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "6786:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6775:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2444, - "src": "6775:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6775:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6754:86:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "nodeType": "ExpressionStatement", - "src": "6754:86:14" - }, - { - "expression": { - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3205, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6850:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3208, - "indexExpression": { - "expression": { - "id": 3206, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6861:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3207, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6861:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6850:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3214, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6913:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "6913:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 3209, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6880:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3212, - "indexExpression": { - "expression": { - "id": 3210, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6891:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6891:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6880:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2359, - "src": "6880:31:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6880:45:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6850:75:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3218, - "nodeType": "ExpressionStatement", - "src": "6850:75:14" - }, - { - "expression": { - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3219, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6961:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3225, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3220, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "6969:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3222, - "indexExpression": { - "id": 3221, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "6974:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6969:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3224, - "indexExpression": { - "id": 3223, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "6989:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6969:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6961:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6961:47:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7011:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6961:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3229, - "nodeType": "ExpressionStatement", - "src": "6961:51:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3236, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "7105:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7097:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7097:7:14", - "typeDescriptions": {} - } - }, - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7097:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3238, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3178, - "src": "7112:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3239, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7123:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3231, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7069:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3230, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "7058:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7058:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "7058:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7058:72:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3241, - "nodeType": "ExpressionStatement", - "src": "7058:72:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3243, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7159:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3244, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7174:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "id": 3245, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7182:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3247, - "indexExpression": { - "id": 3246, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7187:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7182:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3249, - "indexExpression": { - "id": 3248, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7202:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7182:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3250, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "7211:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7211:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3242, - "name": "BoughtNFT4KSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "7145:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7145:78:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3253, - "nodeType": "EmitStatement", - "src": "7140:83:14" - } - ] - }, - "functionSelector": "fd8868c7", - "id": 3255, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyKSM", - "nameLocation": "6550:6:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3172, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "6566:13:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6558:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6558:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3174, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "6589:6:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6581:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6581:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3176, - "mutability": "mutable", - "name": "_buyer", - "nameLocation": "6605:6:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6597:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6597:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3178, - "mutability": "mutable", - "name": "_receiver", - "nameLocation": "6621:9:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6613:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6613:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6557:75:14" - }, - "returnParameters": { - "id": 3180, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:14" - }, - "scope": 3464, - "src": "6541:690:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3332, - "nodeType": "Block", - "src": "7327:689:14", - "statements": [ - { - "assignments": [ - 3266 - ], - "declarations": [ - { - "constant": false, - "id": 3266, - "mutability": "mutable", - "name": "order", - "nameLocation": "7391:5:14", - "nodeType": "VariableDeclaration", - "scope": 3332, - "src": "7378:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3265, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3264, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "7378:5:14" - }, - "referencedDeclaration": 2593, - "src": "7378:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3274, - "initialValue": { - "baseExpression": { - "id": 3267, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "7399:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3273, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3268, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7406:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3270, - "indexExpression": { - "id": 3269, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7411:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7406:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3272, - "indexExpression": { - "id": 3271, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7426:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7406:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7399:35:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7378:56:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3276, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7504:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "7504:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3278, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7517:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7517:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7504:24:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f7420726967687420616d6f756e742073656e742c206861766520746f20626520657175616c207072696365", - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7530:47:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "typeString": "literal_string \"Not right amount sent, have to be equal price\"" - }, - "value": "Not right amount sent, have to be equal price" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "typeString": "literal_string \"Not right amount sent, have to be equal price\"" - } - ], - "id": 3275, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7495:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7495:84:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "7495:84:14" - }, - { - "expression": { - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3284, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "7620:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3290, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3285, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7628:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3287, - "indexExpression": { - "id": 3286, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7633:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7628:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "id": 3288, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7648:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7628:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7620:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "7620:47:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7670:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7620:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3294, - "nodeType": "ExpressionStatement", - "src": "7620:51:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3301, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "7773:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7765:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3299, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7765:7:14", - "typeDescriptions": {} - } - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 3303, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7780:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7780:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3305, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7792:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3296, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7737:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3295, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "7726:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7726:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "7726:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7726:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "ExpressionStatement", - "src": "7726:73:14" - }, - { - "expression": { - "id": 3318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3308, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3262, - "src": "7858:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3315, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7898:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7898:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 3311, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7875:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "7875:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 3309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:8:14", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "src": "7867:29:14", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:43:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7858:52:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3319, - "nodeType": "ExpressionStatement", - "src": "7858:52:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3321, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7936:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3322, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7951:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "id": 3323, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7959:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3325, - "indexExpression": { - "id": 3324, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7964:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7959:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3327, - "indexExpression": { - "id": 3326, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7979:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7959:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3328, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7988:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7988:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3320, - "name": "BoughtNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2798, - "src": "7926:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:74:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3331, - "nodeType": "EmitStatement", - "src": "7921:79:14" - } - ] - }, - "functionSelector": "cce7ec13", - "id": 3333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nameLocation": "7245:3:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3257, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "7258:13:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7250:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3256, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7250:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3259, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "7281:6:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7273:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7273:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7249:40:14" - }, - "returnParameters": { - "id": 3263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3262, - "mutability": "mutable", - "name": "result", - "nameLocation": "7319:6:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7314:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3261, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7314:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7313:13:14" - }, - "scope": 3464, - "src": "7236:780:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3359, - "nodeType": "Block", - "src": "9037:134:14", - "statements": [ - { - "expression": { - "id": 3346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3342, - "name": "lastBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "9047:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 3343, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "9061:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3345, - "indexExpression": { - "id": 3344, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9072:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9061:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9047:33:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3347, - "nodeType": "ExpressionStatement", - "src": "9047:33:14" - }, - { - "expression": { - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3348, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "9090:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3350, - "indexExpression": { - "id": 3349, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9101:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9090:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9111:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9090:22:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3353, - "nodeType": "ExpressionStatement", - "src": "9090:22:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3355, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9143:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3356, - "name": "lastBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "9152:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3354, - "name": "WithdrawnAllKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "9127:15:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9127:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3358, - "nodeType": "EmitStatement", - "src": "9122:42:14" - } - ] - }, - "functionSelector": "93cdd334", - "id": 3360, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3338, - "kind": "modifierInvocation", - "modifierName": { - "id": 3337, - "name": "onlyEscrow", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2709, - "src": "8999:10:14" - }, - "nodeType": "ModifierInvocation", - "src": "8999:10:14" - } - ], - "name": "withdrawAllKSM", - "nameLocation": "8958:14:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "8982:7:14", - "nodeType": "VariableDeclaration", - "scope": 3360, - "src": "8974:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8974:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "8973:17:14" - }, - "returnParameters": { - "id": 3341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3340, - "mutability": "mutable", - "name": "lastBalance", - "nameLocation": "9024:11:14", - "nodeType": "VariableDeclaration", - "scope": 3360, - "src": "9019:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9019:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9018:19:14" - }, - "scope": 3464, - "src": "8949:222:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3403, - "nodeType": "Block", - "src": "9301:476:14", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3373, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9324:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 3374, - "name": "nativecoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "9341:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9324:27:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3393, - "nodeType": "Block", - "src": "9550:140:14", - "statements": [ - { - "expression": { - "id": 3391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3385, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "9619:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3389, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9644:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "components": [ - { - "id": 3386, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9630:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3387, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9629:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "src": "9629:14:14", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9629:23:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9619:33:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3392, - "nodeType": "ExpressionStatement", - "src": "9619:33:14" - } - ] - }, - "id": 3394, - "nodeType": "IfStatement", - "src": "9320:370:14", - "trueBody": { - "id": 3384, - "nodeType": "Block", - "src": "9354:190:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3380, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9516:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 3381, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9525:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3377, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9492:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3376, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "9485:6:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$623_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 3378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:21:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$623", - "typeString": "contract IERC20" - } - }, - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 572, - "src": "9485:30:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:48:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3383, - "nodeType": "ExpressionStatement", - "src": "9485:48:14" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 3396, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9714:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3397, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9723:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3398, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9738:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3395, - "name": "Withdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2812, - "src": "9704:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", - "typeString": "function (uint256,address,address)" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9704:42:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3400, - "nodeType": "EmitStatement", - "src": "9699:47:14" - }, - { - "expression": { - "id": 3401, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "9763:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3372, - "id": 3402, - "nodeType": "Return", - "src": "9756:13:14" - } - ] - }, - "functionSelector": "b460af94", - "id": 3404, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3369, - "kind": "modifierInvocation", - "modifierName": { - "id": 3368, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "9269:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "9269:9:14" - } - ], - "name": "withdraw", - "nameLocation": "9186:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3362, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "9204:7:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9196:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9196:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3364, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "9221:13:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9213:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9213:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3366, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "9252:7:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9236:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 3365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9236:15:14", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "9195:65:14" - }, - "returnParameters": { - "id": 3372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3371, - "mutability": "mutable", - "name": "result", - "nameLocation": "9293:6:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9288:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9288:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "9287:14:14" - }, - "scope": 3464, - "src": "9177:600:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3431, - "nodeType": "Block", - "src": "9914:172:14", - "statements": [ - { - "assignments": [ - 3415 - ], - "declarations": [ - { - "constant": false, - "id": 3415, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "9929:7:14", - "nodeType": "VariableDeclaration", - "scope": 3431, - "src": "9924:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3414, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9924:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3421, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3416, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "9939:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3418, - "indexExpression": { - "id": 3417, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "9944:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9939:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3420, - "indexExpression": { - "id": 3419, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "9959:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9939:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9924:42:14" - }, - { - "assignments": [ - 3424 - ], - "declarations": [ - { - "constant": false, - "id": 3424, - "mutability": "mutable", - "name": "order", - "nameLocation": "9989:5:14", - "nodeType": "VariableDeclaration", - "scope": 3431, - "src": "9976:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3423, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3422, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "9976:5:14" - }, - "referencedDeclaration": 2593, - "src": "9976:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3428, - "initialValue": { - "baseExpression": { - "id": 3425, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "9997:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3427, - "indexExpression": { - "id": 3426, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "10004:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9997:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9976:36:14" - }, - { - "expression": { - "id": 3429, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3424, - "src": "10074:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "functionReturnParameters": 3413, - "id": 3430, - "nodeType": "Return", - "src": "10067:12:14" - } - ] - }, - "functionSelector": "edb25841", - "id": 3432, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOrder", - "nameLocation": "9830:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3406, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "9848:13:14", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9840:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3405, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9840:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3408, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "9871:6:14", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9863:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9863:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9839:39:14" - }, - "returnParameters": { - "id": 3413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3412, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9900:12:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3411, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3410, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "9900:5:14" - }, - "referencedDeclaration": 2593, - "src": "9900:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "src": "9899:14:14" - }, - "scope": 3464, - "src": "9821:265:14", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3440, - "nodeType": "Block", - "src": "10144:37:14", - "statements": [ - { - "expression": { - "expression": { - "id": 3437, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "10161:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10161:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3436, - "id": 3439, - "nodeType": "Return", - "src": "10154:20:14" - } - ] - }, - "functionSelector": "8c088f00", - "id": 3441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOrdersLen", - "nameLocation": "10101:12:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3433, - "nodeType": "ParameterList", - "parameters": [], - "src": "10114:2:14" - }, - "returnParameters": { - "id": 3436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3435, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3441, - "src": "10138:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3434, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10138:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10137:6:14" - }, - "scope": 3464, - "src": "10092:89:14", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1599 - ], - "body": { - "id": 3462, - "nodeType": "Block", - "src": "10321:100:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329", - "id": 3458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10359:49:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", - "typeString": "literal_string \"onERC721Received(address,address,uint256,bytes)\"" - }, - "value": "onERC721Received(address,address,uint256,bytes)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", - "typeString": "literal_string \"onERC721Received(address,address,uint256,bytes)\"" - } - ], - "id": 3457, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "10349:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10349:60:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10342:6:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 3455, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "10342:6:14", - "typeDescriptions": {} - } - }, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10342:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 3454, - "id": 3461, - "nodeType": "Return", - "src": "10335:75:14" - } - ] - }, - "functionSelector": "150b7a02", - "id": 3463, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "10196:16:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3451, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10291:8:14" - }, - "parameters": { - "id": 3450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3443, - "mutability": "mutable", - "name": "operator", - "nameLocation": "10221:8:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10213:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10213:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3445, - "mutability": "mutable", - "name": "from", - "nameLocation": "10239:4:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10231:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10231:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3447, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10253:7:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10245:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10245:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3449, - "mutability": "mutable", - "name": "data", - "nameLocation": "10277:4:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10262:19:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3448, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10262:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "10212:70:14" - }, - "returnParameters": { - "id": 3454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3453, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10313:6:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3452, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "10313:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "10312:8:14" - }, - "scope": 3464, - "src": "10187:234:14", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3465, - "src": "292:10131:14", - "usedErrors": [] - } - ], - "src": "44:10379:14" - }, - "legacyAST": { - "absolutePath": "project:/contracts/MarketPlace.sol", - "exportedSymbols": { - "IERC165": [ - 2183 - ], - "IERC20": [ - 623 - ], - "IERC721": [ - 1582 - ], - "IERC721Metadata": [ - 1627 - ], - "IERC721Receiver": [ - 1600 - ], - "IERC721ext": [ - 3572 - ], - "MarketPlace": [ - 3464 - ], - "SafeMath": [ - 2495 - ] - }, - "id": 3465, - "license": "Apache License", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2563, - "literals": [ - "solidity", - ">=", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "44:25:14" - }, - { - "absolutePath": "project:/contracts/interfaces/IERC721ext.sol", - "file": "./interfaces/IERC721ext.sol", - "id": 2564, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 3573, - "src": "70:37:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "id": 2565, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 1601, - "src": "108:66:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "file": "@openzeppelin/contracts/utils/math/SafeMath.sol", - "id": 2566, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 2496, - "src": "175:57:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2567, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3465, - "sourceUnit": 624, - "src": "233:56:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 2568, - "name": "IERC721Receiver", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1600, - "src": "316:15:14" - }, - "id": 2569, - "nodeType": "InheritanceSpecifier", - "src": "316:15:14" - } - ], - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3464, - "linearizedBaseContracts": [ - 3464, - 1600 - ], - "name": "MarketPlace", - "nameLocation": "301:11:14", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2572, - "libraryName": { - "id": 2570, - "name": "SafeMath", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2495, - "src": "344:8:14" - }, - "nodeType": "UsingForDirective", - "src": "338:24:14", - "typeName": { - "id": 2571, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "357:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "canonicalName": "MarketPlace.Order", - "id": 2593, - "members": [ - { - "constant": false, - "id": 2574, - "mutability": "mutable", - "name": "idNFT", - "nameLocation": "407:5:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "399:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "399:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2576, - "mutability": "mutable", - "name": "currencyCode", - "nameLocation": "430:12:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "422:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2578, - "mutability": "mutable", - "name": "price", - "nameLocation": "505:5:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "497:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2580, - "mutability": "mutable", - "name": "time", - "nameLocation": "528:4:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "520:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2582, - "mutability": "mutable", - "name": "idCollection", - "nameLocation": "550:12:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "542:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2581, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "542:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2584, - "mutability": "mutable", - "name": "ownerAddr", - "nameLocation": "580:9:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "572:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2583, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "572:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2586, - "mutability": "mutable", - "name": "flagActive", - "nameLocation": "605:10:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "599:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2585, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "599:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2588, - "mutability": "mutable", - "name": "name", - "nameLocation": "632:4:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "625:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2587, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "625:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2590, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "653:6:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "646:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2589, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "646:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2592, - "mutability": "mutable", - "name": "tokenURI", - "nameLocation": "676:8:14", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "669:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2591, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "669:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "name": "Order", - "nameLocation": "374:5:14", - "nodeType": "StructDefinition", - "scope": 3464, - "src": "367:332:14", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a85c38ef", - "id": 2597, - "mutability": "mutable", - "name": "orders", - "nameLocation": "720:6:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "704:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order[]" - }, - "typeName": { - "baseType": { - "id": 2595, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2594, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "704:5:14" - }, - "referencedDeclaration": 2593, - "src": "704:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "id": 2596, - "nodeType": "ArrayTypeName", - "src": "704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr", - "typeString": "struct MarketPlace.Order[]" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2599, - "mutability": "mutable", - "name": "test", - "nameLocation": "737:4:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "732:9:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2598, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "732:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "functionSelector": "b4c3e8ea", - "id": 2603, - "mutability": "mutable", - "name": "balanceKSM", - "nameLocation": "783:10:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "747:46:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2602, - "keyType": { - "id": 2600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "756:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "747:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2601, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "767:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e22d4f7d", - "id": 2609, - "mutability": "mutable", - "name": "asks", - "nameLocation": "894:4:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "836:62:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 2608, - "keyType": { - "id": 2604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "845:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "836:49:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 2607, - "keyType": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "865:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "856:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 2606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "876:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "99f2d4eb", - "id": 2614, - "mutability": "mutable", - "name": "asksbySeller", - "nameLocation": "984:12:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "949:47:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 2613, - "keyType": { - "id": 2610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "958:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "949:27:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 2611, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "969:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2612, - "nodeType": "ArrayTypeName", - "src": "969:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 2616, - "mutability": "mutable", - "name": "escrow", - "nameLocation": "1040:6:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1032:14:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2615, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1032:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2618, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1060:5:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1052:13:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2617, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1052:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2620, - "mutability": "mutable", - "name": "nativecoin", - "nameLocation": "1079:10:14", - "nodeType": "VariableDeclaration", - "scope": 3464, - "src": "1071:18:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2619, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1071:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 2660, - "nodeType": "Block", - "src": "1126:298:14", - "statements": [ - { - "expression": { - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2625, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2626, - "name": "_escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2622, - "src": "1145:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1136:16:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2628, - "nodeType": "ExpressionStatement", - "src": "1136:16:14" - }, - { - "expression": { - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2629, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2618, - "src": "1162:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 2630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1170:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1170:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1162:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2633, - "nodeType": "ExpressionStatement", - "src": "1162:18:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1239:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1270:1:14", - "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": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1262:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2639, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1262:7:14", - "typeDescriptions": {} - } - }, - "id": 2642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1262:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1294:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1317:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1348:1:14", - "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": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1340:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2645, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1340:7:14", - "typeDescriptions": {} - } - }, - "id": 2648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1340:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 2651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1380:1:14", - "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": 2650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1372:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1372:7:14", - "typeDescriptions": {} - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1372:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 2653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1404:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "", - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1407:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "hexValue": "", - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1410:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - { - "hexValue": "", - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1413:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 2637, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "1204:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$2593_storage_ptr_$", - "typeString": "type(struct MarketPlace.Order storage pointer)" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1204:212:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - ], - "expression": { - "id": 2634, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "1192:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "1192:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$_t_struct$_Order_$2593_storage_$returns$__$bound_to$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$", - "typeString": "function (struct MarketPlace.Order storage ref[] storage pointer,struct MarketPlace.Order storage ref)" - } - }, - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1192:225:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2659, - "nodeType": "ExpressionStatement", - "src": "1192:225:14" - } - ] - }, - "id": 2661, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2622, - "mutability": "mutable", - "name": "_escrow", - "nameLocation": "1117:7:14", - "nodeType": "VariableDeclaration", - "scope": 2661, - "src": "1109:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1109:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1108:17:14" - }, - "returnParameters": { - "id": 2624, - "nodeType": "ParameterList", - "parameters": [], - "src": "1126:0:14" - }, - "scope": 3464, - "src": "1096:328:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2672, - "nodeType": "Block", - "src": "1486:36:14", - "statements": [ - { - "expression": { - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2668, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1496:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2669, - "name": "_newEscrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "1505:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1496:19:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2671, - "nodeType": "ExpressionStatement", - "src": "1496:19:14" - } - ] - }, - "functionSelector": "592bd705", - "id": 2673, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2666, - "kind": "modifierInvocation", - "modifierName": { - "id": 2665, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1476:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1476:9:14" - } - ], - "name": "setowner", - "nameLocation": "1438:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2663, - "mutability": "mutable", - "name": "_newEscrow", - "nameLocation": "1457:10:14", - "nodeType": "VariableDeclaration", - "scope": 2673, - "src": "1449:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1448:20:14" - }, - "returnParameters": { - "id": 2667, - "nodeType": "ParameterList", - "parameters": [], - "src": "1486:0:14" - }, - "scope": 3464, - "src": "1429:93:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2684, - "nodeType": "Block", - "src": "1586:36:14", - "statements": [ - { - "expression": { - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2680, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1596:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2681, - "name": "_newEscrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "1605:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1596:19:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2683, - "nodeType": "ExpressionStatement", - "src": "1596:19:14" - } - ] - }, - "functionSelector": "c10c3546", - "id": 2685, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2678, - "kind": "modifierInvocation", - "modifierName": { - "id": 2677, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1576:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1576:9:14" - } - ], - "name": "setEscrow", - "nameLocation": "1537:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2676, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2675, - "mutability": "mutable", - "name": "_newEscrow", - "nameLocation": "1557:10:14", - "nodeType": "VariableDeclaration", - "scope": 2685, - "src": "1549:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2674, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1549:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1548:20:14" - }, - "returnParameters": { - "id": 2679, - "nodeType": "ParameterList", - "parameters": [], - "src": "1586:0:14" - }, - "scope": 3464, - "src": "1528:94:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2696, - "nodeType": "Block", - "src": "1685:35:14", - "statements": [ - { - "expression": { - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2692, - "name": "nativecoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "1695:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2693, - "name": "_coin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2687, - "src": "1708:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1695:18:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2695, - "nodeType": "ExpressionStatement", - "src": "1695:18:14" - } - ] - }, - "functionSelector": "3ce61756", - "id": 2697, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2690, - "kind": "modifierInvocation", - "modifierName": { - "id": 2689, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "1675:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "1675:9:14" - } - ], - "name": "setNativeCoin", - "nameLocation": "1637:13:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2687, - "mutability": "mutable", - "name": "_coin", - "nameLocation": "1661:5:14", - "nodeType": "VariableDeclaration", - "scope": 2697, - "src": "1653:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2686, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1653:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1652:15:14" - }, - "returnParameters": { - "id": 2691, - "nodeType": "ParameterList", - "parameters": [], - "src": "1685:0:14" - }, - "scope": 3464, - "src": "1628:92:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2708, - "nodeType": "Block", - "src": "1755:76:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2700, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1773:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1773:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2702, - "name": "escrow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2616, - "src": "1787:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1773:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920657363726f772063616e", - "id": 2704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1795:17:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "typeString": "literal_string \"Only escrow can\"" - }, - "value": "Only escrow can" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4a6874248ff95fab8ba200a7dfd68cf58f95b629cd4b60a5933cc3aeb9a18d52", - "typeString": "literal_string \"Only escrow can\"" - } - ], - "id": 2699, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1765:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1765:48:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2706, - "nodeType": "ExpressionStatement", - "src": "1765:48:14" - }, - { - "id": 2707, - "nodeType": "PlaceholderStatement", - "src": "1823:1:14" - } - ] - }, - "id": 2709, - "name": "onlyEscrow", - "nameLocation": "1741:10:14", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2698, - "nodeType": "ParameterList", - "parameters": [], - "src": "1752:2:14" - }, - "src": "1732:99:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2720, - "nodeType": "Block", - "src": "1859:74:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2712, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1877:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1877:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 2714, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2618, - "src": "1891:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1877:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c79206f776e65722063616e", - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1898:16:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "typeString": "literal_string \"Only owner can\"" - }, - "value": "Only owner can" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c375e602017121f4cde6e6d9c2b09b22f072bb791a5ece431f7c49b5d895db6c", - "typeString": "literal_string \"Only owner can\"" - } - ], - "id": 2711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1869:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1869:46:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2718, - "nodeType": "ExpressionStatement", - "src": "1869:46:14" - }, - { - "id": 2719, - "nodeType": "PlaceholderStatement", - "src": "1925:1:14" - } - ] - }, - "id": 2721, - "name": "onlyOwner", - "nameLocation": "1846:9:14", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2710, - "nodeType": "ParameterList", - "parameters": [], - "src": "1856:2:14" - }, - "src": "1837:96:14", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2729, - "nodeType": "Block", - "src": "2027:93:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "43616e277420616363657074207061796d656e7420776974686f757420636f6c6c656374696f6e20616e64204944732c20757365206441707020746f2073656e64", - "id": 2726, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2045:67:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "typeString": "literal_string \"Can't accept payment without collection and IDs, use dApp to send\"" - }, - "value": "Can't accept payment without collection and IDs, use dApp to send" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b01a29bcf3d4d4d5b6cd10a24fd0dc38943c9228641d3457459e3d925ed3fc75", - "typeString": "literal_string \"Can't accept payment without collection and IDs, use dApp to send\"" - } - ], - "id": 2725, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "2037:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2037:76:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2728, - "nodeType": "ExpressionStatement", - "src": "2037:76:14" - } - ] - }, - "documentation": { - "id": 2722, - "nodeType": "StructuredDocumentation", - "src": "1939:49:14", - "text": " Make bids (orders) to sell NFTs " - }, - "id": 2730, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2723, - "nodeType": "ParameterList", - "parameters": [], - "src": "2007:2:14" - }, - "returnParameters": { - "id": 2724, - "nodeType": "ParameterList", - "parameters": [], - "src": "2027:0:14" - }, - "scope": 3464, - "src": "1998:122:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2737, - "nodeType": "Block", - "src": "2154:44:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4e6f20737563682066756e6374696f6e", - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2172:18:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "typeString": "literal_string \"No such function\"" - }, - "value": "No such function" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f903b08f7a55995ff76f01fe74c87e9388def2b05c4fabdcd50cadc6c5504a77", - "typeString": "literal_string \"No such function\"" - } - ], - "id": 2733, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967277, - 4294967277 - ], - "referencedDeclaration": 4294967277, - "src": "2164:6:14", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2164:27:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2736, - "nodeType": "ExpressionStatement", - "src": "2164:27:14" - } - ] - }, - "id": 2738, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [], - "src": "2134:2:14" - }, - "returnParameters": { - "id": 2732, - "nodeType": "ParameterList", - "parameters": [], - "src": "2154:0:14" - }, - "scope": 3464, - "src": "2125:73:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "id": 2750, - "name": "AddedAsk", - "nameLocation": "2210:8:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2740, - "indexed": false, - "mutability": "mutable", - "name": "_price", - "nameLocation": "2228:6:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2220:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2739, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2220:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2742, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "2266:13:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2257:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2257:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2744, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2310:13:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2302:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2743, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2302:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2746, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2354:6:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2346:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2346:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2748, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2390:7:14", - "nodeType": "VariableDeclaration", - "scope": 2750, - "src": "2382:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2382:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2219:198:14" - }, - "src": "2204:214:14" - }, - { - "anonymous": false, - "id": 2764, - "name": "EditedAsk", - "nameLocation": "2429:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2752, - "indexed": false, - "mutability": "mutable", - "name": "_price", - "nameLocation": "2448:6:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2440:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2440:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2754, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "2486:13:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2477:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2753, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2477:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2756, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2530:13:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2522:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2522:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2758, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2574:6:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2566:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2566:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2760, - "indexed": false, - "mutability": "mutable", - "name": "_active", - "nameLocation": "2609:7:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2602:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2759, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2602:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2762, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2643:7:14", - "nodeType": "VariableDeclaration", - "scope": 2764, - "src": "2638:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2761, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2638:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2439:212:14" - }, - "src": "2423:229:14" - }, - { - "anonymous": false, - "id": 2772, - "name": "CanceledAsk", - "nameLocation": "2665:11:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2766, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2686:13:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2678:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2678:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2768, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2734:6:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2726:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2726:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2770, - "indexed": false, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "2772:7:14", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "2767:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2769, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2677:128:14" - }, - "src": "2658:148:14" - }, - { - "anonymous": false, - "id": 2778, - "name": "DepositedKSM", - "nameLocation": "2818:12:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2774, - "indexed": false, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "2840:7:14", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "2832:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2832:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2776, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "2858:7:14", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "2850:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2850:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2831:35:14" - }, - "src": "2812:55:14" - }, - { - "anonymous": false, - "id": 2788, - "name": "BoughtNFT4KSM", - "nameLocation": "2879:13:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2787, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2902:13:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2894:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2894:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "2925:6:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2917:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2917:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2784, - "indexed": false, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "2938:7:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2933:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2783, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2933:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2786, - "indexed": false, - "mutability": "mutable", - "name": "orderPrice", - "nameLocation": "2952:10:14", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "2947:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2785, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2947:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2893:71:14" - }, - "src": "2873:92:14" - }, - { - "anonymous": false, - "id": 2798, - "name": "BoughtNFT", - "nameLocation": "2977:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2790, - "indexed": false, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "2996:13:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2988:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2988:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2792, - "indexed": false, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "3019:6:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3011:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3011:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2794, - "indexed": false, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "3032:7:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3027:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2793, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3027:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2796, - "indexed": false, - "mutability": "mutable", - "name": "orderPrice", - "nameLocation": "3046:10:14", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "3041:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2795, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3041:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2987:71:14" - }, - "src": "2971:88:14" - }, - { - "anonymous": false, - "id": 2804, - "name": "WithdrawnAllKSM", - "nameLocation": "3071:15:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3096:7:14", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3088:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3088:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": false, - "mutability": "mutable", - "name": "balance", - "nameLocation": "3113:7:14", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "3105:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3105:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3087:34:14" - }, - "src": "3065:57:14" - }, - { - "anonymous": false, - "id": 2812, - "name": "Withdrawn", - "nameLocation": "3135:9:14", - "nodeType": "EventDefinition", - "parameters": { - "id": 2811, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2806, - "indexed": false, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "3154:7:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3146:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3146:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2808, - "indexed": false, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "3171:13:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3163:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3163:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": false, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3194:7:14", - "nodeType": "VariableDeclaration", - "scope": 2812, - "src": "3186:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3186:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3145:57:14" - }, - "src": "3129:74:14" - }, - { - "body": { - "id": 2976, - "nodeType": "Block", - "src": "3399:1485:14", - "statements": [ - { - "assignments": [ - 2824 - ], - "declarations": [ - { - "constant": false, - "id": 2824, - "mutability": "mutable", - "name": "ownerNFT", - "nameLocation": "3420:8:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3412:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2823, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3412:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2831, - "initialValue": { - "arguments": [ - { - "id": 2829, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "3465:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2826, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3442:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2825, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3431:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 1515, - "src": "3431:33:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:41:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3412:60:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2833, - "name": "ownerNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2824, - "src": "3491:8:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2834, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "3503:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3503:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3491:22:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e206d616b652061736b", - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3515:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "typeString": "literal_string \"Only token owner can make ask\"" - }, - "value": "Only token owner can make ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_591e36b0345ce132fce6be91a2fdf2a6cd0a090f61403f27227ed69dd8f3293e", - "typeString": "literal_string \"Only token owner can make ask\"" - } - ], - "id": 2832, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "3482:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3482:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2839, - "nodeType": "ExpressionStatement", - "src": "3482:65:14" - }, - { - "assignments": [ - 2841 - ], - "declarations": [ - { - "constant": false, - "id": 2841, - "mutability": "mutable", - "name": "nameNFT", - "nameLocation": "3571:7:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3557:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3557:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2842, - "nodeType": "VariableDeclarationStatement", - "src": "3557:21:14" - }, - { - "assignments": [ - 2844 - ], - "declarations": [ - { - "constant": false, - "id": 2844, - "mutability": "mutable", - "name": "symbolNFT", - "nameLocation": "3602:9:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3588:23:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2843, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3588:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2845, - "nodeType": "VariableDeclarationStatement", - "src": "3588:23:14" - }, - { - "assignments": [ - 2847 - ], - "declarations": [ - { - "constant": false, - "id": 2847, - "mutability": "mutable", - "name": "uriNFT", - "nameLocation": "3635:6:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "3621:20:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2846, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3621:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2848, - "nodeType": "VariableDeclarationStatement", - "src": "3621:20:14" - }, - { - "clauses": [ - { - "block": { - "id": 2861, - "nodeType": "Block", - "src": "3718:40:14", - "statements": [ - { - "expression": { - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2857, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "3732:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2858, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2855, - "src": "3742:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3732:15:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2860, - "nodeType": "ExpressionStatement", - "src": "3732:15:14" - } - ] - }, - "errorName": "", - "id": 2862, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2855, - "mutability": "mutable", - "name": "name_", - "nameLocation": "3711:5:14", - "nodeType": "VariableDeclaration", - "scope": 2862, - "src": "3697:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2854, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3697:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3696:21:14" - }, - "src": "3688:70:14" - }, - { - "block": { - "id": 2867, - "nodeType": "Block", - "src": "3773:35:14", - "statements": [ - { - "expression": { - "id": 2865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2863, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "3787:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3795:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "3787:10:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2866, - "nodeType": "ExpressionStatement", - "src": "3787:10:14" - } - ] - }, - "errorName": "", - "id": 2868, - "nodeType": "TryCatchClause", - "src": "3767:41:14" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 2850, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3666:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2849, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3655:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3655:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1612, - "src": "3655:30:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 2853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3655:32:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2869, - "nodeType": "TryStatement", - "src": "3651:157:14" - }, - { - "clauses": [ - { - "block": { - "id": 2882, - "nodeType": "Block", - "src": "3891:44:14", - "statements": [ - { - "expression": { - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2878, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "3905:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2879, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2876, - "src": "3917:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3905:19:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2881, - "nodeType": "ExpressionStatement", - "src": "3905:19:14" - } - ] - }, - "errorName": "", - "id": 2883, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2877, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2876, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "3882:7:14", - "nodeType": "VariableDeclaration", - "scope": 2883, - "src": "3868:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2875, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3868:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3867:23:14" - }, - "src": "3859:76:14" - }, - { - "block": { - "id": 2888, - "nodeType": "Block", - "src": "3950:37:14", - "statements": [ - { - "expression": { - "id": 2886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2884, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "3964:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3974:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "3964:12:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2887, - "nodeType": "ExpressionStatement", - "src": "3964:12:14" - } - ] - }, - "errorName": "", - "id": 2889, - "nodeType": "TryCatchClause", - "src": "3944:43:14" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 2871, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "3835:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2870, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "3824:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3824:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "symbol", - "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "3824:32:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view external returns (string memory)" - } - }, - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3824:34:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2890, - "nodeType": "TryStatement", - "src": "3820:167:14" - }, - { - "clauses": [ - { - "block": { - "id": 2904, - "nodeType": "Block", - "src": "4074:38:14", - "statements": [ - { - "expression": { - "id": 2902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2900, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4088:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2901, - "name": "uri_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2898, - "src": "4097:4:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4088:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2903, - "nodeType": "ExpressionStatement", - "src": "4088:13:14" - } - ] - }, - "errorName": "", - "id": 2905, - "nodeType": "TryCatchClause", - "parameters": { - "id": 2899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2898, - "mutability": "mutable", - "name": "uri_", - "nameLocation": "4068:4:14", - "nodeType": "VariableDeclaration", - "scope": 2905, - "src": "4054:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2897, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4054:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4053:20:14" - }, - "src": "4045:67:14" - }, - { - "block": { - "id": 2910, - "nodeType": "Block", - "src": "4127:34:14", - "statements": [ - { - "expression": { - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2906, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4141:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "", - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4148:2:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "src": "4141:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2909, - "nodeType": "ExpressionStatement", - "src": "4141:9:14" - } - ] - }, - "errorName": "", - "id": 2911, - "nodeType": "TryCatchClause", - "src": "4121:40:14" - } - ], - "externalCall": { - "arguments": [ - { - "id": 2895, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4037:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2892, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4013:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2891, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "4002:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4002:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenURI", - "nodeType": "MemberAccess", - "referencedDeclaration": 1626, - "src": "4002:34:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4002:42:14", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 2912, - "nodeType": "TryStatement", - "src": "3998:163:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2917, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4225:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2918, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "4253:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2919, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "4288:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 2920, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "4316:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "4316:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2922, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4353:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 2923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4388:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4388:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "31", - "id": 2925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4420:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "id": 2926, - "name": "nameNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2841, - "src": "4460:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2927, - "name": "symbolNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2844, - "src": "4490:9:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2928, - "name": "uriNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2847, - "src": "4521:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2916, - "name": "Order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "4190:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Order_$2593_storage_ptr_$", - "typeString": "type(struct MarketPlace.Order storage pointer)" - } - }, - "id": 2929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4190:352:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - ], - "expression": { - "id": 2913, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "4178:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4178:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$_t_struct$_Order_$2593_storage_$returns$__$bound_to$_t_array$_t_struct$_Order_$2593_storage_$dyn_storage_ptr_$", - "typeString": "function (struct MarketPlace.Order storage ref[] storage pointer,struct MarketPlace.Order storage ref)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4178:365:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2931, - "nodeType": "ExpressionStatement", - "src": "4178:365:14" - }, - { - "assignments": [ - 2933 - ], - "declarations": [ - { - "constant": false, - "id": 2933, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "4575:7:14", - "nodeType": "VariableDeclaration", - "scope": 2976, - "src": "4570:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4570:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2938, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2934, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "4585:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4585:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 2936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4599:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4585:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4570:30:14" - }, - { - "expression": { - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 2939, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "4614:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 2942, - "indexExpression": { - "id": 2940, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4619:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4614:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2943, - "indexExpression": { - "id": 2941, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4634:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4614:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2944, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4644:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4614:37:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "nodeType": "ExpressionStatement", - "src": "4614:37:14" - }, - { - "expression": { - "arguments": [ - { - "id": 2952, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4695:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 2947, - "name": "asksbySeller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "4665:12:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2950, - "indexExpression": { - "expression": { - "id": 2948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4678:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4678:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4665:24:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "src": "4665:29:14", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4665:38:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "ExpressionStatement", - "src": "4665:38:14" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 2959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "4756:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4756:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2963, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "4776:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 2962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4768:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4768:7:14", - "typeDescriptions": {} - } - }, - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2965, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4783:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2956, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4728:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2955, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "4717:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 2958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "4717:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 2966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4717:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2967, - "nodeType": "ExpressionStatement", - "src": "4717:73:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2969, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "4818:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2970, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2816, - "src": "4826:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2971, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2818, - "src": "4841:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2972, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "4856:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2973, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2933, - "src": "4864:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2968, - "name": "AddedAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2750, - "src": "4809:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint256)" - } - }, - "id": 2974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4809:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2975, - "nodeType": "EmitStatement", - "src": "4804:68:14" - } - ] - }, - "functionSelector": "37c4eb58", - "id": 2977, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addAsk", - "nameLocation": "3222:6:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2821, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2814, - "mutability": "mutable", - "name": "_price", - "nameLocation": "3238:6:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3230:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2813, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3230:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2816, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "3276:13:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3267:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3267:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2818, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "3320:13:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3312:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2817, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3312:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2820, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "3364:6:14", - "nodeType": "VariableDeclaration", - "scope": 2977, - "src": "3356:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2819, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3356:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3229:161:14" - }, - "returnParameters": { - "id": 2822, - "nodeType": "ParameterList", - "parameters": [], - "src": "3399:0:14" - }, - "scope": 3464, - "src": "3213:1671:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3070, - "nodeType": "Block", - "src": "5093:639:14", - "statements": [ - { - "assignments": [ - 2991 - ], - "declarations": [ - { - "constant": false, - "id": 2991, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "5118:7:14", - "nodeType": "VariableDeclaration", - "scope": 3070, - "src": "5113:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2990, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5113:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2997, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 2992, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "5129:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 2994, - "indexExpression": { - "id": 2993, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5134:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5129:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 2996, - "indexExpression": { - "id": 2995, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5149:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5129:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5113:43:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 2999, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5176:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3001, - "indexExpression": { - "id": 3000, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5176:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "5176:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3003, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5205:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5205:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5176:39:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b", - "id": 3006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5217:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - }, - "value": "Only token owner can edit ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - } - ], - "id": 2998, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5167:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5167:82:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3008, - "nodeType": "ExpressionStatement", - "src": "5167:82:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3010, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5268:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3012, - "indexExpression": { - "id": 3011, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5275:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5268:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "5268:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5298:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5268:31:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732061736b20697320636c6f736564", - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5301:20:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - }, - "value": "This ask is closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - } - ], - "id": 3009, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5259:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5259:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3018, - "nodeType": "ExpressionStatement", - "src": "5259:63:14" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3019, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5336:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5344:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5336:9:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3030, - "nodeType": "IfStatement", - "src": "5332:74:14", - "trueBody": { - "id": 3029, - "nodeType": "Block", - "src": "5348:58:14", - "statements": [ - { - "expression": { - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3022, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5362:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3024, - "indexExpression": { - "id": 3023, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5369:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5362:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "5362:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3026, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5386:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5362:30:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "5362:30:14" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3031, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5428:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5453:1:14", - "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": 3033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5445:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5445:7:14", - "typeDescriptions": {} - } - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5445:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5428:27:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3045, - "nodeType": "IfStatement", - "src": "5424:106:14", - "trueBody": { - "id": 3044, - "nodeType": "Block", - "src": "5458:72:14", - "statements": [ - { - "expression": { - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3037, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5472:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3039, - "indexExpression": { - "id": 3038, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5479:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5472:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3040, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currencyCode", - "nodeType": "MemberAccess", - "referencedDeclaration": 2576, - "src": "5472:28:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3041, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5503:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5472:44:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3043, - "nodeType": "ExpressionStatement", - "src": "5472:44:14" - } - ] - } - }, - { - "expression": { - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3046, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5540:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3048, - "indexExpression": { - "id": 3047, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5547:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5540:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "time", - "nodeType": "MemberAccess", - "referencedDeclaration": 2580, - "src": "5540:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 3050, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "5563:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "5563:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5540:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "5540:38:14" - }, - { - "expression": { - "id": 3059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3054, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5588:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3056, - "indexExpression": { - "id": 3055, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5595:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5588:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "5588:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3058, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "5617:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "5588:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3060, - "nodeType": "ExpressionStatement", - "src": "5588:36:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3062, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "5658:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3063, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2981, - "src": "5666:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3064, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2983, - "src": "5681:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3065, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2985, - "src": "5696:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3066, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2987, - "src": "5704:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 3067, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2991, - "src": "5713:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3061, - "name": "EditedAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2764, - "src": "5648:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$_t_uint8_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256,uint8,uint256)" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5648:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3069, - "nodeType": "EmitStatement", - "src": "5643:78:14" - } - ] - }, - "functionSelector": "6b084b25", - "id": 3071, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "editAsk", - "nameLocation": "4899:7:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2988, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2979, - "mutability": "mutable", - "name": "_price", - "nameLocation": "4916:6:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4908:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4908:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2981, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "4954:13:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4945:22:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2980, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4945:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2983, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "4998:13:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "4990:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2982, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4990:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2985, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "5042:6:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "5034:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5034:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2987, - "mutability": "mutable", - "name": "_active", - "nameLocation": "5077:7:14", - "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "5070:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2986, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "5070:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "4907:178:14" - }, - "returnParameters": { - "id": 2989, - "nodeType": "ParameterList", - "parameters": [], - "src": "5093:0:14" - }, - "scope": 3464, - "src": "4890:842:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3143, - "nodeType": "Block", - "src": "5863:475:14", - "statements": [ - { - "assignments": [ - 3079 - ], - "declarations": [ - { - "constant": false, - "id": 3079, - "mutability": "mutable", - "name": "orderID", - "nameLocation": "5879:7:14", - "nodeType": "VariableDeclaration", - "scope": 3143, - "src": "5874:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3078, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5874:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3085, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3080, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "5890:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3082, - "indexExpression": { - "id": 3081, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "5895:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5890:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3084, - "indexExpression": { - "id": 3083, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "5910:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5890:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5874:43:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3087, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "5937:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3089, - "indexExpression": { - "id": 3088, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "5944:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5937:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "5937:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3091, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "5966:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5966:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5937:39:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f6e6c7920746f6b656e206f776e65722063616e20656469742061736b", - "id": 3094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5978:31:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - }, - "value": "Only token owner can edit ask" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4b607cf2a29d29a78e87ef9375972c7d5b7b4e21618ae183e22442c08768549f", - "typeString": "literal_string \"Only token owner can edit ask\"" - } - ], - "id": 3086, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "5928:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5928:82:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3096, - "nodeType": "ExpressionStatement", - "src": "5928:82:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 3098, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6029:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3100, - "indexExpression": { - "id": 3099, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6036:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6029:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6029:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6059:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6029:31:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "546869732061736b20697320636c6f736564", - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6062:20:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - }, - "value": "This ask is closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_27170d948d4d60fa46b62c786d6c2d864178f0bf509f922a4935aa8bea947599", - "typeString": "literal_string \"This ask is closed\"" - } - ], - "id": 3097, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6020:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6020:63:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3106, - "nodeType": "ExpressionStatement", - "src": "6020:63:14" - }, - { - "expression": { - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3107, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6094:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3109, - "indexExpression": { - "id": 3108, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6101:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6094:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "time", - "nodeType": "MemberAccess", - "referencedDeclaration": 2580, - "src": "6094:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 3111, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967292, - "src": "6117:5:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6117:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6094:38:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3114, - "nodeType": "ExpressionStatement", - "src": "6094:38:14" - }, - { - "expression": { - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3115, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6142:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3117, - "indexExpression": { - "id": 3116, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6149:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6142:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6142:26:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6142:30:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3121, - "nodeType": "ExpressionStatement", - "src": "6142:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3128, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "6229:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6221:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6221:7:14", - "typeDescriptions": {} - } - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6221:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "baseExpression": { - "id": 3130, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6235:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3132, - "indexExpression": { - "id": 3131, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6242:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6235:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6235:25:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3134, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "6262:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3123, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6193:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3122, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "6182:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "6182:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6182:87:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3136, - "nodeType": "ExpressionStatement", - "src": "6182:87:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3138, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "6296:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3139, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "6311:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3140, - "name": "orderID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3079, - "src": "6319:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3137, - "name": "CanceledAsk", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "6284:11:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6284:43:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3142, - "nodeType": "EmitStatement", - "src": "6279:48:14" - } - ] - }, - "functionSelector": "40b80746", - "id": 3144, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "cancelAsk", - "nameLocation": "5756:9:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3076, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3073, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "5775:13:14", - "nodeType": "VariableDeclaration", - "scope": 3144, - "src": "5767:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3072, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5767:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "5823:6:14", - "nodeType": "VariableDeclaration", - "scope": 3144, - "src": "5815:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3074, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5815:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5766:89:14" - }, - "returnParameters": { - "id": 3077, - "nodeType": "ParameterList", - "parameters": [], - "src": "5863:0:14" - }, - "scope": 3464, - "src": "5747:591:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3169, - "nodeType": "Block", - "src": "6419:116:14", - "statements": [ - { - "expression": { - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3153, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6430:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3155, - "indexExpression": { - "id": 3154, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6441:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6430:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3160, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "6475:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 3156, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6451:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3158, - "indexExpression": { - "id": 3157, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6462:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6451:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2359, - "src": "6451:23:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6451:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6430:53:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3163, - "nodeType": "ExpressionStatement", - "src": "6430:53:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3165, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3146, - "src": "6511:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3166, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3148, - "src": "6520:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3164, - "name": "DepositedKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2778, - "src": "6498:12:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6498:30:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3168, - "nodeType": "EmitStatement", - "src": "6493:35:14" - } - ] - }, - "functionSelector": "791bd866", - "id": 3170, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3151, - "kind": "modifierInvocation", - "modifierName": { - "id": 3150, - "name": "onlyEscrow", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2709, - "src": "6408:10:14" - }, - "nodeType": "ModifierInvocation", - "src": "6408:10:14" - } - ], - "name": "depositKSM", - "nameLocation": "6354:10:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3146, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "6374:7:14", - "nodeType": "VariableDeclaration", - "scope": 3170, - "src": "6366:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6366:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3148, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "6392:7:14", - "nodeType": "VariableDeclaration", - "scope": 3170, - "src": "6384:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6384:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6365:35:14" - }, - "returnParameters": { - "id": 3152, - "nodeType": "ParameterList", - "parameters": [], - "src": "6419:0:14" - }, - "scope": 3464, - "src": "6345:190:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3254, - "nodeType": "Block", - "src": "6640:591:14", - "statements": [ - { - "assignments": [ - 3183 - ], - "declarations": [ - { - "constant": false, - "id": 3183, - "mutability": "mutable", - "name": "order", - "nameLocation": "6672:5:14", - "nodeType": "VariableDeclaration", - "scope": 3254, - "src": "6659:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3182, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3181, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "6659:5:14" - }, - "referencedDeclaration": 2593, - "src": "6659:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3191, - "initialValue": { - "baseExpression": { - "id": 3184, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6680:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3190, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3185, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "6688:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3187, - "indexExpression": { - "id": 3186, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "6693:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6688:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3189, - "indexExpression": { - "id": 3188, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "6708:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6688:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6680:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6659:57:14" - }, - { - "expression": { - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3192, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6754:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3194, - "indexExpression": { - "id": 3193, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "6765:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6754:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3199, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6799:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "6799:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "496e737563636966696369656e74204b534d732066756e6473", - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6812:27:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_959258fd5c55b55f70609189cfa0335ab5ab9d569c5a25409d0d84696238a3c8", - "typeString": "literal_string \"Insuccificient KSMs funds\"" - }, - "value": "Insuccificient KSMs funds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_959258fd5c55b55f70609189cfa0335ab5ab9d569c5a25409d0d84696238a3c8", - "typeString": "literal_string \"Insuccificient KSMs funds\"" - } - ], - "expression": { - "baseExpression": { - "id": 3195, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6775:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3197, - "indexExpression": { - "id": 3196, - "name": "_buyer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "6786:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6775:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2444, - "src": "6775:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6775:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6754:86:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "nodeType": "ExpressionStatement", - "src": "6754:86:14" - }, - { - "expression": { - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3205, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6850:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3208, - "indexExpression": { - "expression": { - "id": 3206, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6861:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3207, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6861:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6850:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3214, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6913:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "6913:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 3209, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "6880:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3212, - "indexExpression": { - "expression": { - "id": 3210, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "6891:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "6891:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6880:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2359, - "src": "6880:31:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6880:45:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6850:75:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3218, - "nodeType": "ExpressionStatement", - "src": "6850:75:14" - }, - { - "expression": { - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3219, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "6961:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3225, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3220, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "6969:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3222, - "indexExpression": { - "id": 3221, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "6974:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6969:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3224, - "indexExpression": { - "id": 3223, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "6989:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6969:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6961:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "6961:47:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7011:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6961:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3229, - "nodeType": "ExpressionStatement", - "src": "6961:51:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3236, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "7105:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7097:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7097:7:14", - "typeDescriptions": {} - } - }, - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7097:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3238, - "name": "_receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3178, - "src": "7112:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3239, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7123:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3231, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7069:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3230, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "7058:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7058:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "7058:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7058:72:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3241, - "nodeType": "ExpressionStatement", - "src": "7058:72:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3243, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7159:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3244, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7174:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "id": 3245, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7182:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3247, - "indexExpression": { - "id": 3246, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "7187:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7182:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3249, - "indexExpression": { - "id": 3248, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "7202:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7182:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3250, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "7211:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7211:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3242, - "name": "BoughtNFT4KSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "7145:13:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7145:78:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3253, - "nodeType": "EmitStatement", - "src": "7140:83:14" - } - ] - }, - "functionSelector": "fd8868c7", - "id": 3255, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyKSM", - "nameLocation": "6550:6:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3172, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "6566:13:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6558:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6558:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3174, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "6589:6:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6581:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6581:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3176, - "mutability": "mutable", - "name": "_buyer", - "nameLocation": "6605:6:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6597:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6597:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3178, - "mutability": "mutable", - "name": "_receiver", - "nameLocation": "6621:9:14", - "nodeType": "VariableDeclaration", - "scope": 3255, - "src": "6613:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3177, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6613:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6557:75:14" - }, - "returnParameters": { - "id": 3180, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:14" - }, - "scope": 3464, - "src": "6541:690:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3332, - "nodeType": "Block", - "src": "7327:689:14", - "statements": [ - { - "assignments": [ - 3266 - ], - "declarations": [ - { - "constant": false, - "id": 3266, - "mutability": "mutable", - "name": "order", - "nameLocation": "7391:5:14", - "nodeType": "VariableDeclaration", - "scope": 3332, - "src": "7378:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3265, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3264, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "7378:5:14" - }, - "referencedDeclaration": 2593, - "src": "7378:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3274, - "initialValue": { - "baseExpression": { - "id": 3267, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "7399:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3273, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3268, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7406:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3270, - "indexExpression": { - "id": 3269, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7411:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7406:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3272, - "indexExpression": { - "id": 3271, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7426:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7406:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7399:35:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7378:56:14" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3276, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7504:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "7504:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 3278, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7517:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7517:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7504:24:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4e6f7420726967687420616d6f756e742073656e742c206861766520746f20626520657175616c207072696365", - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7530:47:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "typeString": "literal_string \"Not right amount sent, have to be equal price\"" - }, - "value": "Not right amount sent, have to be equal price" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b01b5d1ff63f3fca6a42ec065680d6bd50dca69b54f87d75bfb2c9d59831cf35", - "typeString": "literal_string \"Not right amount sent, have to be equal price\"" - } - ], - "id": 3275, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7495:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7495:84:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "7495:84:14" - }, - { - "expression": { - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 3284, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "7620:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3290, - "indexExpression": { - "baseExpression": { - "baseExpression": { - "id": 3285, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7628:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3287, - "indexExpression": { - "id": 3286, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7633:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7628:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "id": 3288, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7648:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7628:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7620:36:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "flagActive", - "nodeType": "MemberAccess", - "referencedDeclaration": 2586, - "src": "7620:47:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7670:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7620:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3294, - "nodeType": "ExpressionStatement", - "src": "7620:51:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3301, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967268, - "src": "7773:4:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketPlace_$3464", - "typeString": "contract MarketPlace" - } - ], - "id": 3300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7765:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3299, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7765:7:14", - "typeDescriptions": {} - } - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:13:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 3303, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "7780:3:14", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7780:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3305, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7792:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3296, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7737:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3295, - "name": "IERC721ext", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3572, - "src": "7726:10:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721ext_$3572_$", - "typeString": "type(contract IERC721ext)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7726:25:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721ext_$3572", - "typeString": "contract IERC721ext" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 1535, - "src": "7726:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7726:73:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "ExpressionStatement", - "src": "7726:73:14" - }, - { - "expression": { - "id": 3318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3308, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3262, - "src": "7858:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 3315, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7898:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7898:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "expression": { - "id": 3311, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7875:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerAddr", - "nodeType": "MemberAccess", - "referencedDeclaration": 2584, - "src": "7875:15:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7867:8:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 3309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7867:8:14", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "src": "7867:29:14", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7867:43:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7858:52:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3319, - "nodeType": "ExpressionStatement", - "src": "7858:52:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3321, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7936:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3322, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7951:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "baseExpression": { - "id": 3323, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "7959:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3325, - "indexExpression": { - "id": 3324, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3257, - "src": "7964:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7959:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3327, - "indexExpression": { - "id": 3326, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3259, - "src": "7979:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7959:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 3328, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3266, - "src": "7988:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "id": 3329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 2578, - "src": "7988:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3320, - "name": "BoughtNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2798, - "src": "7926:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:74:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3331, - "nodeType": "EmitStatement", - "src": "7921:79:14" - } - ] - }, - "functionSelector": "cce7ec13", - "id": 3333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nameLocation": "7245:3:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3257, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "7258:13:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7250:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3256, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7250:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3259, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "7281:6:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7273:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7273:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7249:40:14" - }, - "returnParameters": { - "id": 3263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3262, - "mutability": "mutable", - "name": "result", - "nameLocation": "7319:6:14", - "nodeType": "VariableDeclaration", - "scope": 3333, - "src": "7314:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3261, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7314:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7313:13:14" - }, - "scope": 3464, - "src": "7236:780:14", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3359, - "nodeType": "Block", - "src": "9037:134:14", - "statements": [ - { - "expression": { - "id": 3346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3342, - "name": "lastBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "9047:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 3343, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "9061:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3345, - "indexExpression": { - "id": 3344, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9072:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9061:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9047:33:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3347, - "nodeType": "ExpressionStatement", - "src": "9047:33:14" - }, - { - "expression": { - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3348, - "name": "balanceKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "9090:10:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3350, - "indexExpression": { - "id": 3349, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9101:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9090:19:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9111:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9090:22:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3353, - "nodeType": "ExpressionStatement", - "src": "9090:22:14" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3355, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "9143:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3356, - "name": "lastBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3340, - "src": "9152:11:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3354, - "name": "WithdrawnAllKSM", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "9127:15:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9127:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3358, - "nodeType": "EmitStatement", - "src": "9122:42:14" - } - ] - }, - "functionSelector": "93cdd334", - "id": 3360, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3338, - "kind": "modifierInvocation", - "modifierName": { - "id": 3337, - "name": "onlyEscrow", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2709, - "src": "8999:10:14" - }, - "nodeType": "ModifierInvocation", - "src": "8999:10:14" - } - ], - "name": "withdrawAllKSM", - "nameLocation": "8958:14:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "8982:7:14", - "nodeType": "VariableDeclaration", - "scope": 3360, - "src": "8974:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8974:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "8973:17:14" - }, - "returnParameters": { - "id": 3341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3340, - "mutability": "mutable", - "name": "lastBalance", - "nameLocation": "9024:11:14", - "nodeType": "VariableDeclaration", - "scope": 3360, - "src": "9019:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3339, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9019:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9018:19:14" - }, - "scope": 3464, - "src": "8949:222:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3403, - "nodeType": "Block", - "src": "9301:476:14", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3373, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9324:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 3374, - "name": "nativecoin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2620, - "src": "9341:10:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9324:27:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3393, - "nodeType": "Block", - "src": "9550:140:14", - "statements": [ - { - "expression": { - "id": 3391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3385, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "9619:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3389, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9644:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "components": [ - { - "id": 3386, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9630:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 3387, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9629:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "src": "9629:14:14", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9629:23:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9619:33:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3392, - "nodeType": "ExpressionStatement", - "src": "9619:33:14" - } - ] - }, - "id": 3394, - "nodeType": "IfStatement", - "src": "9320:370:14", - "trueBody": { - "id": 3384, - "nodeType": "Block", - "src": "9354:190:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3380, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9516:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 3381, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9525:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 3377, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9492:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3376, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "9485:6:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$623_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 3378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:21:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$623", - "typeString": "contract IERC20" - } - }, - "id": 3379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 572, - "src": "9485:30:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9485:48:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3383, - "nodeType": "ExpressionStatement", - "src": "9485:48:14" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 3396, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "9714:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 3397, - "name": "_currencyCode", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3364, - "src": "9723:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3398, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3366, - "src": "9738:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3395, - "name": "Withdrawn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2812, - "src": "9704:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$", - "typeString": "function (uint256,address,address)" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9704:42:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3400, - "nodeType": "EmitStatement", - "src": "9699:47:14" - }, - { - "expression": { - "id": 3401, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3371, - "src": "9763:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3372, - "id": 3402, - "nodeType": "Return", - "src": "9756:13:14" - } - ] - }, - "functionSelector": "b460af94", - "id": 3404, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3369, - "kind": "modifierInvocation", - "modifierName": { - "id": 3368, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2721, - "src": "9269:9:14" - }, - "nodeType": "ModifierInvocation", - "src": "9269:9:14" - } - ], - "name": "withdraw", - "nameLocation": "9186:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3362, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "9204:7:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9196:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9196:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3364, - "mutability": "mutable", - "name": "_currencyCode", - "nameLocation": "9221:13:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9213:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9213:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3366, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "9252:7:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9236:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 3365, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9236:15:14", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "9195:65:14" - }, - "returnParameters": { - "id": 3372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3371, - "mutability": "mutable", - "name": "result", - "nameLocation": "9293:6:14", - "nodeType": "VariableDeclaration", - "scope": 3404, - "src": "9288:11:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9288:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "9287:14:14" - }, - "scope": 3464, - "src": "9177:600:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3431, - "nodeType": "Block", - "src": "9914:172:14", - "statements": [ - { - "assignments": [ - 3415 - ], - "declarations": [ - { - "constant": false, - "id": 3415, - "mutability": "mutable", - "name": "orderId", - "nameLocation": "9929:7:14", - "nodeType": "VariableDeclaration", - "scope": 3431, - "src": "9924:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3414, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "9924:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3421, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3416, - "name": "asks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2609, - "src": "9939:4:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3418, - "indexExpression": { - "id": 3417, - "name": "_idCollection", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "9944:13:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9939:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3420, - "indexExpression": { - "id": 3419, - "name": "_idNFT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "9959:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9939:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9924:42:14" - }, - { - "assignments": [ - 3424 - ], - "declarations": [ - { - "constant": false, - "id": 3424, - "mutability": "mutable", - "name": "order", - "nameLocation": "9989:5:14", - "nodeType": "VariableDeclaration", - "scope": 3431, - "src": "9976:18:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3423, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3422, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "9976:5:14" - }, - "referencedDeclaration": 2593, - "src": "9976:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "id": 3428, - "initialValue": { - "baseExpression": { - "id": 3425, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "9997:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3427, - "indexExpression": { - "id": 3426, - "name": "orderId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "10004:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9997:15:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage", - "typeString": "struct MarketPlace.Order storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9976:36:14" - }, - { - "expression": { - "id": 3429, - "name": "order", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3424, - "src": "10074:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order memory" - } - }, - "functionReturnParameters": 3413, - "id": 3430, - "nodeType": "Return", - "src": "10067:12:14" - } - ] - }, - "functionSelector": "edb25841", - "id": 3432, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOrder", - "nameLocation": "9830:8:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3406, - "mutability": "mutable", - "name": "_idCollection", - "nameLocation": "9848:13:14", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9840:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3405, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9840:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3408, - "mutability": "mutable", - "name": "_idNFT", - "nameLocation": "9871:6:14", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9863:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9863:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9839:39:14" - }, - "returnParameters": { - "id": 3413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3412, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3432, - "src": "9900:12:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_memory_ptr", - "typeString": "struct MarketPlace.Order" - }, - "typeName": { - "id": 3411, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 3410, - "name": "Order", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2593, - "src": "9900:5:14" - }, - "referencedDeclaration": 2593, - "src": "9900:5:14", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Order_$2593_storage_ptr", - "typeString": "struct MarketPlace.Order" - } - }, - "visibility": "internal" - } - ], - "src": "9899:14:14" - }, - "scope": 3464, - "src": "9821:265:14", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3440, - "nodeType": "Block", - "src": "10144:37:14", - "statements": [ - { - "expression": { - "expression": { - "id": 3437, - "name": "orders", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "10161:6:14", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Order_$2593_storage_$dyn_storage", - "typeString": "struct MarketPlace.Order storage ref[] storage ref" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10161:13:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3436, - "id": 3439, - "nodeType": "Return", - "src": "10154:20:14" - } - ] - }, - "functionSelector": "8c088f00", - "id": 3441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getOrdersLen", - "nameLocation": "10101:12:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3433, - "nodeType": "ParameterList", - "parameters": [], - "src": "10114:2:14" - }, - "returnParameters": { - "id": 3436, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3435, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3441, - "src": "10138:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3434, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "10138:4:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10137:6:14" - }, - "scope": 3464, - "src": "10092:89:14", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1599 - ], - "body": { - "id": 3462, - "nodeType": "Block", - "src": "10321:100:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "6f6e455243373231526563656976656428616464726573732c616464726573732c75696e743235362c627974657329", - "id": 3458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10359:49:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", - "typeString": "literal_string \"onERC721Received(address,address,uint256,bytes)\"" - }, - "value": "onERC721Received(address,address,uint256,bytes)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f", - "typeString": "literal_string \"onERC721Received(address,address,uint256,bytes)\"" - } - ], - "id": 3457, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967288, - "src": "10349:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10349:60:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10342:6:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 3455, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "10342:6:14", - "typeDescriptions": {} - } - }, - "id": 3460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10342:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 3454, - "id": 3461, - "nodeType": "Return", - "src": "10335:75:14" - } - ] - }, - "functionSelector": "150b7a02", - "id": 3463, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nameLocation": "10196:16:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3451, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10291:8:14" - }, - "parameters": { - "id": 3450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3443, - "mutability": "mutable", - "name": "operator", - "nameLocation": "10221:8:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10213:16:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10213:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3445, - "mutability": "mutable", - "name": "from", - "nameLocation": "10239:4:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10231:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10231:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3447, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "10253:7:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10245:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10245:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3449, - "mutability": "mutable", - "name": "data", - "nameLocation": "10277:4:14", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10262:19:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3448, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10262:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "10212:70:14" - }, - "returnParameters": { - "id": 3454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3453, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3463, - "src": "10313:6:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3452, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "10313:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "10312:8:14" - }, - "scope": 3464, - "src": "10187:234:14", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3465, - "src": "292:10131:14", - "usedErrors": [] - } - ], - "src": "44:10379:14" - }, - "compiler": { - "name": "solc", - "version": "0.8.4+commit.c7e474f2.Emscripten.clang" - }, - "networks": { - "8888": { - "events": {}, - "links": {}, - "address": "0xc96E34C891c6f4f6fcD5dC870cA04f1c3A895378", - "transactionHash": "0x32750768b06d9050a4152203666d743fca5941881a709b850e2b4c19ed51705a" - } - }, - "schemaVersion": "3.4.3", - "updatedAt": "2021-11-03T14:07:48.447Z", - "networkType": "ethereum", - "devdoc": { - "kind": "dev", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } -} \ No newline at end of file --- /dev/null +++ b/tests/src/eth/marketplace/MarketPlace.sol @@ -0,0 +1,389 @@ +// SPDX-License-Identifier: Apache License +pragma solidity >=0.8.0; +import "../api/UniqueNFT.sol"; + +// Inline +interface ERC20Events { + event Transfer(address indexed from, address indexed to, uint256 value); + event Approval( + address indexed owner, + address indexed spender, + uint256 value + ); +} + +interface ERC20 is Dummy, ERC165, ERC20Events { + // Selector: name() 06fdde03 + function name() external view returns (string memory); + + // Selector: symbol() 95d89b41 + function symbol() external view returns (string memory); + + // Selector: totalSupply() 18160ddd + function totalSupply() external view returns (uint256); + + // Selector: decimals() 313ce567 + function decimals() external view returns (uint8); + + // Selector: balanceOf(address) 70a08231 + function balanceOf(address owner) external view returns (uint256); + + // Selector: transfer(address,uint256) a9059cbb + function transfer(address to, uint256 amount) external returns (bool); + + // Selector: transferFrom(address,address,uint256) 23b872dd + function transferFrom( + address from, + address to, + uint256 amount + ) external returns (bool); + + // Selector: approve(address,uint256) 095ea7b3 + function approve(address spender, uint256 amount) external returns (bool); + + // Selector: allowance(address,address) dd62ed3e + function allowance(address owner, address spender) + external + view + returns (uint256); +} + +interface UniqueFungible is Dummy, ERC165, ERC20 {} + +contract MarketPlace { + struct Order { + uint256 idNFT; + address currencyCode; // UNIQ tokens as address address (1); wKSM + uint256 price; + uint256 time; + address idCollection; + address ownerAddr; + uint8 flagActive; + string name; + string symbol; + string tokenURI; + } + Order[] public orders; + uint256 test; + mapping(address => uint256) public balanceKSM; // [ownerAddr][currency] => [KSMs] + mapping(address => mapping(uint256 => uint256)) public asks; // [buyer][idCollection][idNFT] => idorder + + mapping(address => uint256[]) public asksbySeller; // [addressSeller] =>idorder + + address escrow; + address owner; + address nativecoin; + + constructor(address _escrow) { + escrow = _escrow; + owner = msg.sender; + + orders.push( + Order(0, address(0), 0, 0, address(0), address(0), 0, "", "", "") + ); + } + + function setowner(address _newEscrow) public onlyOwner { + escrow = _newEscrow; + } + + function setEscrow(address _newEscrow) public onlyOwner { + escrow = _newEscrow; + } + + function setNativeCoin(address _coin) public onlyOwner { + nativecoin = _coin; + } + + modifier onlyEscrow() { + require(msg.sender == escrow, "Only escrow can"); + _; + } + + modifier onlyOwner() { + require(msg.sender == owner, "Only owner can"); + _; + } + + /** + * Make bids (orders) to sell NFTs + */ + + receive() external payable { + revert( + "Can't accept payment without collection and IDs, use dApp to send" + ); + } + + fallback() external payable { + revert("No such function"); + } + + event AddedAsk( + uint256 _price, + address _currencyCode, + address _idCollection, + uint256 _idNFT, + uint256 orderId + ); + event EditedAsk( + uint256 _price, + address _currencyCode, + address _idCollection, + uint256 _idNFT, + uint8 _active, + uint256 orderId + ); + + event CanceledAsk(address _idCollection, uint256 _idNFT, uint256 orderId); + + event DepositedKSM(uint256 _amount, address _sender); + + event BoughtNFT4KSM( + address _idCollection, + uint256 _idNFT, + uint256 orderID, + uint256 orderPrice + ); + + event BoughtNFT( + address _idCollection, + uint256 _idNFT, + uint256 orderID, + uint256 orderPrice + ); + + event WithdrawnAllKSM(address _sender, uint256 balance); + + event Withdrawn(uint256 _amount, address _currencyCode, address _sender); + + function addAsk( + uint256 _price, + address _currencyCode, + address _idCollection, + uint256 _idNFT + ) public { + // + address ownerNFT = UniqueNFT(_idCollection).ownerOf(_idNFT); + require(ownerNFT == msg.sender, "Only token owner can make ask"); + string memory nameNFT; + string memory symbolNFT; + string memory uriNFT; + try UniqueNFT(_idCollection).name() returns (string memory name_) { + nameNFT = name_; + } catch { + nameNFT = ""; + } + try UniqueNFT(_idCollection).symbol() returns (string memory symbol_) { + symbolNFT = symbol_; + } catch { + symbolNFT = ""; + } + try UniqueNFT(_idCollection).tokenURI(_idNFT) returns ( + string memory uri_ + ) { + uriNFT = uri_; + } catch { + uriNFT = ""; + } + orders.push( + Order( + _idNFT, + _currencyCode, + _price, + block.timestamp, + _idCollection, + msg.sender, + 1, // 1 = is active + nameNFT, + symbolNFT, + uriNFT + ) + ); + + uint256 orderId = orders.length - 1; + asks[_idCollection][_idNFT] = orderId; + asksbySeller[msg.sender].push(orderId); + UniqueNFT(_idCollection).transferFrom( + msg.sender, + address(this), + _idNFT + ); + emit AddedAsk(_price, _currencyCode, _idCollection, _idNFT, orderId); + } + + function editAsk( + uint256 _price, + address _currencyCode, + address _idCollection, + uint256 _idNFT, + uint8 _active + ) public { + uint256 orderID = asks[_idCollection][_idNFT]; + + require( + orders[orderID].ownerAddr == msg.sender, + "Only token owner can edit ask" + ); + require(orders[orderID].flagActive != 0, "This ask is closed"); + if (_price > 0) { + orders[orderID].price = _price; + } + + if (_currencyCode != address(0)) { + orders[orderID].currencyCode = _currencyCode; + } + + orders[orderID].time = block.timestamp; + orders[orderID].flagActive = _active; + + emit EditedAsk( + _price, + _currencyCode, + _idCollection, + _idNFT, + _active, + orderID + ); + } + + function cancelAsk(address _idCollection, uint256 _idNFT) public { + uint256 orderID = asks[_idCollection][_idNFT]; + + require( + orders[orderID].ownerAddr == msg.sender, + "Only token owner can edit ask" + ); + require(orders[orderID].flagActive != 0, "This ask is closed"); + + orders[orderID].time = block.timestamp; + orders[orderID].flagActive = 0; + UniqueNFT(_idCollection).transferFrom( + address(this), + orders[orderID].ownerAddr, + _idNFT + ); + emit CanceledAsk(_idCollection, _idNFT, orderID); + } + + function depositKSM(uint256 _amount, address _sender) public onlyEscrow { + balanceKSM[_sender] = balanceKSM[_sender] + _amount; + emit DepositedKSM(_amount, _sender); + } + + function buyKSM( + address _idCollection, + uint256 _idNFT, + address _buyer, + address _receiver + ) public { + Order memory order = orders[asks[_idCollection][_idNFT]]; + //1. reduce balance + balanceKSM[_buyer] = balanceKSM[_buyer] - order.price; + balanceKSM[order.ownerAddr] = balanceKSM[order.ownerAddr] + order.price; + // 2. close order + orders[asks[_idCollection][_idNFT]].flagActive = 0; + // 3. transfer NFT to buyer + UniqueNFT(_idCollection).transferFrom(address(this), _receiver, _idNFT); + emit BoughtNFT4KSM( + _idCollection, + _idNFT, + asks[_idCollection][_idNFT], + order.price + ); + } + + function buy(address _idCollection, uint256 _idNFT) + public + payable + returns (bool result) + { + //buing for UNQ like as ethers + + Order memory order = orders[asks[_idCollection][_idNFT]]; + //1. check sent amount and send to seller + require( + msg.value == order.price, + "Not right amount sent, have to be equal price" + ); + // 2. close order + orders[asks[_idCollection][_idNFT]].flagActive = 0; + + // 3. transfer NFT to buyer + UniqueNFT(_idCollection).transferFrom( + address(this), + msg.sender, + _idNFT + ); + //uint balance = address(this).balance; + result = payable(order.ownerAddr).send(order.price); + emit BoughtNFT( + _idCollection, + _idNFT, + asks[_idCollection][_idNFT], + order.price + ); + } + + /* + function buyOther (address _idCollection, uint256 _idNFT, address _currencyCode, uint _amount ) public { //buy for sny token if seller wants + + Order memory order = orders[ asks[_idCollection][_idNFT]]; + //1. check sent amount and transfer from buyer to seller + require (order.price == _amount && order.currencyCode == _currencyCode, "Not right amount or currency sent, have to be equal currency and price" ); + // !!! transfer have to be approved to marketplace! + IERC20(order.currencyCode).transferFrom(msg.sender, address(this), order.price); //to not disclojure buyer's address + IERC20(order.currencyCode).transfer(order.ownerAddr, order.price); + // 2. close order + orders[ asks[_idCollection][_idNFT]].flagActive = 0; + // 3. transfer NFT to buyer + IERC721ext(_idCollection).transferFrom(address(this), msg.sender, _idNFT); + + + } + */ + + function withdrawAllKSM(address _sender) + public + onlyEscrow + returns (uint256 lastBalance) + { + lastBalance = balanceKSM[_sender]; + balanceKSM[_sender] = 0; + emit WithdrawnAllKSM(_sender, lastBalance); + } + + function withdraw( + uint256 _amount, + address _currencyCode, + address payable _sender + ) public onlyOwner returns (bool result) { + if (_currencyCode != nativecoin) { + //erc20 compat. tokens on UNIQUE chain + // uint balance = IERC20(_currencyCode).balanceOf(address(this)); + UniqueFungible(_currencyCode).transfer(_sender, _amount); + } else { + // uint balance = address(this).balance; + + result = (_sender).send(_amount); // for UNQ like as ethers + } + emit Withdrawn(_amount, _currencyCode, _sender); + return result; + } + + // event GettedOrder(uint , Order); + function getOrder(address _idCollection, uint256 _idNFT) + public + view + returns (Order memory) + { + uint256 orderId = asks[_idCollection][_idNFT]; + Order memory order = orders[orderId]; + // emit GettedOrder (orderId, order); + return order; + } + + function getOrdersLen() public view returns (uint256) { + return orders.length; + } +} --- a/tests/src/eth/marketplace/MarketPlaceKSM.abi +++ /dev/null @@ -1 +0,0 @@ -[{"inputs":[{"internalType":"address","name":"_escrow","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asksbySeller","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceKSM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_currencyCode","type":"uint256"},{"internalType":"address","name":"_sender","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_currencyCode","type":"uint256"},{"internalType":"address","name":"_sender","type":"address"}],"name":"escrowBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"offers","outputs":[{"internalType":"uint256","name":"idNFT","type":"uint256"},{"internalType":"uint256","name":"currencyCode","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"address","name":"idCollection","type":"address"},{"internalType":"address","name":"userAddr","type":"address"},{"internalType":"uint8","name":"flagActive","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"uint256","name":"_currencyCode","type":"uint256"},{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"},{"internalType":"uint8","name":"_active","type":"uint8"}],"name":"setAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newEscrow","type":"address"}],"name":"setEscrow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newEscrow","type":"address"}],"name":"setowner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_currencyCode","type":"uint256"},{"internalType":"address","name":"_sender","type":"address"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file --- a/tests/src/eth/marketplace/MarketPlaceKSM.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50604051610e27380380610e2783398101604081905261002f9161005d565b600480546001600160a01b039092166001600160a01b0319928316179055600580549091163317905561008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b610d8b8061009c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806399f2d4eb1161007157806399f2d4eb1461018e5780639df55f52146101a1578063c10c35461461010f578063cce7ec13146101b4578063db87db52146101c7578063e22d4f7d146101fa57600080fd5b80630ad58d2f146100ae57806310a5ff17146100d6578063592bd7051461010f5780638a72ea6a146101245780638dbdbe6d1461017b575b600080fd5b6100c16100bc366004610c4d565b610225565b60405190151581526020015b60405180910390f35b6101016100e4366004610bd8565b600160209081526000928352604080842090915290825290205481565b6040519081526020016100cd565b61012261011d366004610b97565b6102d8565b005b610137610132366004610c04565b610345565b6040805197885260208801969096529486019390935260608501919091526001600160a01b0390811660808501521660a083015260ff1660c082015260e0016100cd565b610122610189366004610c4d565b6103a4565b61010161019c366004610bd8565b610449565b6101226101af366004610c86565b61047a565b6101226101c2366004610bd8565b610984565b6101016101d5366004610c1d565b6001600160a01b03166000908152600160209081526040808320938352929052205490565b610101610208366004610bd8565b600260209081526000928352604080842090915290825290205481565b6004546000906001600160a01b031633146102795760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9032b9b1b937bb9031b0b760891b60448201526064015b60405180910390fd5b6001600160a01b03821660009081526001602090815260408083208684529091529020546102a8908590610cfa565b6001600160a01b039290921660009081526001602081815260408084209684529590529390209190915550919050565b6005546001600160a01b031633146103235760405162461bcd60e51b815260206004820152600e60248201526d27b7363c9037bbb732b91031b0b760911b6044820152606401610270565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000818154811061035557600080fd5b6000918252602090912060069091020180546001820154600283015460038401546004850154600590950154939550919390926001600160a01b0391821691811690600160a01b900460ff1687565b6004546001600160a01b031633146103f05760405162461bcd60e51b815260206004820152600f60248201526e27b7363c9032b9b1b937bb9031b0b760891b6044820152606401610270565b6001600160a01b038116600090815260016020908152604080832085845290915290205461041f908490610ce2565b6001600160a01b039091166000908152600160209081526040808320948352939052919091205550565b6003602052816000526040600020818154811061046557600080fd5b90600052602060002001600091509150505481565b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f49190610bbb565b6001600160a01b0316146105425760405162461bcd60e51b81526020600482015260156024820152742737ba103934b3b43a103a37b5b2b71037bbb732b960591b6044820152606401610270565b6001600160a01b0383166000908152600260209081526040808320858452909152812054905415806105ac575060006001600160a01b03166000828154811061058d5761058d610d27565b60009182526020909120600460069092020101546001600160a01b0316145b15610793576040805160e0810182528481526020810187815291810188815242606083019081526001600160a01b03808916608085019081523360a0860190815260ff808a1660c088019081526000805460018181018355828052995160069091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56381019190915599517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648b015596517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5658a015594517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56689015591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567880180549185166001600160a01b0319909216919091179055517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56890960180549351909116600160a01b026001600160a81b031990931695909116949094171790925590546107399190610cfa565b6001600160a01b038516600090815260026020908152604080832087845282528083209390935533825260039052908120905461077890600190610cfa565b81546001810183556000928352602090922090910155610916565b6040805160e0810182526001600160a01b03861660009081526002602090815283822087835290529182205482549192839290919081106107d6576107d6610d27565b60009182526020808320600690920290910154835282810189905260408084018b90524260608501526001600160a01b0389168352600282528083208884529091528120548154608090930192811061083157610831610d27565b60009182526020808320600460069093020191909101546001600160a01b039081168452338483015260ff871660409485015288168252600281528282208783529052908120548154811061088857610888610d27565b60009182526020918290208351600690920201908155908201516001820155604082015160028201556060820151600382015560808201516004820180546001600160a01b039283166001600160a01b031990911617905560a08301516005909201805460c09094015160ff16600160a01b026001600160a81b031990941692909116919091179190911790555b6040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b038516906323b872dd90606401600060405180830381600087803b15801561096457600080fd5b505af1158015610978573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b0382166000908152600260209081526040808320848452909152812054815482919081106109bb576109bb610d27565b600091825260208083206040805160e0810182526006949094029091018054845260018082015485850190815260028301548685018190526003840154606088015260048401546001600160a01b03908116608089015260059094015493841660a0880152600160a01b90930460ff1660c08701523387529084528286209051865290925290922054909250610a519190610cfa565b33600090815260016020818152604080842086830180518652908352818520959095558581015160a08701516001600160a01b031685529282528084209451845293905291902054610aa39190610ce2565b60a08201516001600160a01b0390811660009081526001602090815260408083208287015184528252808320949094559186168152600282528281208582529091529081205481548291908110610afc57610afc610d27565b60009182526020909120600560069092020101805460ff92909216600160a01b0260ff60a01b199092169190911790556040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b038416906323b872dd90606401600060405180830381600087803b158015610b7a57600080fd5b505af1158015610b8e573d6000803e3d6000fd5b50505050505050565b600060208284031215610ba957600080fd5b8135610bb481610d3d565b9392505050565b600060208284031215610bcd57600080fd5b8151610bb481610d3d565b60008060408385031215610beb57600080fd5b8235610bf681610d3d565b946020939093013593505050565b600060208284031215610c1657600080fd5b5035919050565b60008060408385031215610c3057600080fd5b823591506020830135610c4281610d3d565b809150509250929050565b600080600060608486031215610c6257600080fd5b83359250602084013591506040840135610c7b81610d3d565b809150509250925092565b600080600080600060a08688031215610c9e57600080fd5b85359450602086013593506040860135610cb781610d3d565b925060608601359150608086013560ff81168114610cd457600080fd5b809150509295509295909350565b60008219821115610cf557610cf5610d11565b500190565b600082821015610d0c57610d0c610d11565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610d5257600080fd5b5056fea2646970667358221220d098ae4e0cc7bdbb7de1061c03402a667836f903122c1c606ca2c65db1ab78e964736f6c63430008070033 \ No newline at end of file --- a/tests/src/eth/marketplace/MarketPlaceKSM.sol +++ /dev/null @@ -1,179 +0,0 @@ -// SPDX-License-Identifier: Apache License -pragma solidity >=0.8.0; - -interface IERC721 { - event Transfer( - address indexed from, - address indexed to, - uint256 indexed tokenId - ); - event Approval( - address indexed owner, - address indexed approved, - uint256 indexed tokenId - ); - - function ownerOf(uint256 tokenId) external view returns (address owner); - - function transferFrom( - address from, - address to, - uint256 tokenId - ) external; - - function debug(string memory value) external; -} - -interface IERC20 { - event Transfer(address indexed from, address indexed to, uint256 value); - event Approval( - address indexed owner, - address indexed spender, - uint256 value - ); - - function transfer(address recipient, uint256 amount) - external - returns (bool); - - function transferFrom( - address sender, - address recipient, - uint256 amount - ) external returns (bool); -} - -contract MarketPlaceKSM { - struct Offer { - uint256 idNFT; - uint256 currencyCode; - uint256 price; - uint256 time; - address idCollection; - address userAddr; - uint8 flagActive; - } - Offer[] public offers; - - mapping(address => mapping(uint256 => uint256)) public balanceKSM; // [userAddr] => [KSMs] - mapping(address => mapping(uint256 => uint256)) public asks; // [buyer][idCollection][idNFT] => idOffer - - mapping(address => uint256[]) public asksbySeller; // [addressSeller] =>idOffer - - address escrow; - address owner; - - constructor(address _escrow) { - escrow = _escrow; - owner = msg.sender; - } - - function setowner(address _newEscrow) public onlyOwner { - escrow = _newEscrow; - } - - function setEscrow(address _newEscrow) public onlyOwner { - escrow = _newEscrow; - } - - modifier onlyEscrow() { - require(msg.sender == escrow, "Only escrow can"); - _; - } - - modifier onlyOwner() { - require(msg.sender == owner, "Only owner can"); - _; - } - - /** - * Make bids (offers) to sell NFTs - */ - function setAsk( - uint256 _price, - uint256 _currencyCode, - address _idCollection, - uint256 _idNFT, - uint8 _active - ) public { - require( - IERC721(_idCollection).ownerOf(_idNFT) == msg.sender, - "Not right token owner" - ); - uint256 offerID = asks[_idCollection][_idNFT]; - if (offers.length == 0 || offers[offerID].idCollection == address(0)) { - offers.push( - Offer( - _idNFT, - _currencyCode, - _price, - block.timestamp, - _idCollection, - msg.sender, - _active - ) - ); - asks[_idCollection][_idNFT] = offers.length - 1; - asksbySeller[msg.sender].push(offers.length - 1); - } - //edit existing offer - else { - offers[asks[_idCollection][_idNFT]] = Offer( - offers[asks[_idCollection][_idNFT]].idNFT, - _currencyCode, - _price, - block.timestamp, - offers[asks[_idCollection][_idNFT]].idCollection, - msg.sender, - _active - ); - } - - IERC721(_idCollection).transferFrom(msg.sender, address(this), _idNFT); - } - - function deposit( - uint256 _amount, - uint256 _currencyCode, - address _sender - ) public onlyEscrow { - balanceKSM[_sender][_currencyCode] = - balanceKSM[_sender][_currencyCode] + - _amount; - } - - function buy(address _idCollection, uint256 _idNFT) public { - Offer memory offer = offers[asks[_idCollection][_idNFT]]; - // 1. reduce balance - balanceKSM[msg.sender][offer.currencyCode] = - balanceKSM[msg.sender][offer.currencyCode] - - offer.price; - // 2. increase balance - balanceKSM[offer.userAddr][offer.currencyCode] = - balanceKSM[offer.userAddr][offer.currencyCode] + - offer.price; - // 3. close offer - offers[asks[_idCollection][_idNFT]].flagActive = 0; - // 4. transfer NFT to buyer - IERC721(_idCollection).transferFrom(address(this), msg.sender, _idNFT); - } - - function withdraw( - uint256 _amount, - uint256 _currencyCode, - address _sender - ) public onlyEscrow returns (bool) { - balanceKSM[_sender][_currencyCode] = - balanceKSM[_sender][_currencyCode] - - _amount; - return true; - } - - function escrowBalance(uint256 _currencyCode, address _sender) - public - view - returns (uint256) - { - return balanceKSM[_sender][_currencyCode]; - } -} --- a/tests/src/eth/marketplace/MarketPlaceUNQ.abi +++ /dev/null @@ -1 +0,0 @@ -[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"asksbySeller","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"},{"internalType":"address","name":"_currencyCode","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"offers","outputs":[{"internalType":"uint256","name":"idNFT","type":"uint256"},{"internalType":"address","name":"currencyCode","type":"address"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"address","name":"idCollection","type":"address"},{"internalType":"address","name":"userAddr","type":"address"},{"internalType":"uint8","name":"flagActive","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"},{"internalType":"address","name":"_currencyCode","type":"address"},{"internalType":"address","name":"_idCollection","type":"address"},{"internalType":"uint256","name":"_idNFT","type":"uint256"},{"internalType":"uint8","name":"_active","type":"uint8"}],"name":"setAsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setowner","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file --- a/tests/src/eth/marketplace/MarketPlaceUNQ.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50600380546001600160a01b03191633179055610f2d806100326000396000f3fe6080604052600436106100705760003560e01c806399f2d4eb1161004e57806399f2d4eb14610120578063b3ffb7601461014e578063cce7ec1314610161578063e22d4f7d1461017457600080fd5b8063592bd705146100755780637b1d6001146100975780638a72ea6a146100b7575b600080fd5b34801561008157600080fd5b50610095610090366004610d2b565b6101ac565b005b3480156100a357600080fd5b506100956100b2366004610e1b565b61021e565b3480156100c357600080fd5b506100d76100d2366004610e02565b61073d565b604080519788526001600160a01b03968716602089015287019490945260608601929092528316608085015290911660a083015260ff1660c082015260e0015b60405180910390f35b34801561012c57600080fd5b5061014061013b366004610d6c565b6107a0565b604051908152602001610117565b61009561015c366004610d98565b6107d1565b61009561016f366004610d6c565b610b0b565b34801561018057600080fd5b5061014061018f366004610d6c565b600160209081526000928352604080842090915290825290205481565b6003546001600160a01b031633146101fc5760405162461bcd60e51b815260206004820152600e60248201526d27b7363c9037bbb732b91031b0b760911b60448201526064015b60405180910390fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6040516331a9108f60e11b81526004810183905233906001600160a01b03851690636352211e9060240160206040518083038186803b15801561026057600080fd5b505afa158015610274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102989190610d4f565b6001600160a01b0316146102e65760405162461bcd60e51b81526020600482015260156024820152742737ba103934b3b43a103a37b5b2b71037bbb732b960591b60448201526064016101f3565b6001600160a01b038316600090815260016020908152604080832085845290915281205490541580610350575060006001600160a01b03166000828154811061033157610331610ec9565b60009182526020909120600460069092020101546001600160a01b0316145b15610542576040805160e0810182528481526001600160a01b03878116602083019081529282018981524260608401908152888316608085019081523360a0860190815260ff89811660c08801908152600080546001808201835582805299517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360069092029182015599517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5648b0180546001600160a01b0319908116928b1692909217905596517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5658b015594517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5668a015592517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5678901805490961690871617909455517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56890960180549151969094166001600160a81b031990911617600160a01b959092169490940217905590546104e99190610ea4565b6001600160a01b0385166000908152600160208181526040808420888552825280842094909455338352600290529181209054909161052791610ea4565b815460018101835560009283526020909220909101556106d3565b6040805160e0810182526001600160a01b038616600090815260016020908152838220878352905291822054825491928392909190811061058557610585610ec9565b6000918252602080832060069092029091015483526001600160a01b03808a168483015260408085018c9052426060860152908916835260018252808320888452909152812054815460809093019281106105e2576105e2610ec9565b60009182526020808320600460069093020191909101546001600160a01b039081168452338483015260ff871660409485015288168252600181528282208783529052908120548154811061063957610639610ec9565b60009182526020918290208351600690920201908155908201516001820180546001600160a01b039283166001600160a01b031991821617909155604084015160028401556060840151600384015560808401516004840180549184169190921617905560a08301516005909201805460c09094015160ff16600160a01b026001600160a81b031990941692909116919091179190911790555b6040516323b872dd60e01b81526001600160a01b038516906323b872dd9061070390339030908890600401610e80565b600060405180830381600087803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b50505050505050505050565b6000818154811061074d57600080fd5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501549395506001600160a01b03928316949193909291821691811690600160a01b900460ff1687565b600260205281600052604060002081815481106107bc57600080fd5b90600052602060002001600091509150505481565b6001600160a01b03841660009081526001602090815260408083208684529091528120548154829190811061080857610808610ec9565b60009182526020918290206040805160e0810182526006939093029091018054835260018101546001600160a01b03908116948401949094526002810154918301829052600381015460608401526004810154841660808401526005015492831660a0830152600160a01b90920460ff1660c08201529150821480156108a35750826001600160a01b031681602001516001600160a01b0316145b6109245760405162461bcd60e51b815260206004820152604660248201527f4e6f7420726967687420616d6f756e74206f722063757272656e63792073656e60448201527f742c206861766520746f20626520657175616c2063757272656e637920616e6460648201526520707269636560d01b608482015260a4016101f3565b80602001516001600160a01b03166323b872dd333084604001516040518463ffffffff1660e01b815260040161095c93929190610e80565b602060405180830381600087803b15801561097657600080fd5b505af115801561098a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ae9190610de0565b50602081015160a0820151604080840151905163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915291169063a9059cbb90604401602060405180830381600087803b158015610a0957600080fd5b505af1158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190610de0565b506001600160a01b038516600090815260016020908152604080832087845290915281205481548291908110610a7957610a79610ec9565b906000526020600020906006020160050160146101000a81548160ff021916908360ff160217905550846001600160a01b03166323b872dd3033876040518463ffffffff1660e01b8152600401610ad293929190610e80565b600060405180830381600087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b505050505050505050565b6001600160a01b038216600090815260016020908152604080832084845290915281205481548291908110610b4257610b42610ec9565b60009182526020918290206040805160e0810182526006939093029091018054835260018101546001600160a01b03908116948401949094526002810154918301829052600381015460608401526004810154841660808401526005015492831660a0830152600160a01b90920460ff1660c082015291503414610c225760405162461bcd60e51b815260206004820152603160248201527f4e6f7420726967687420616d6f756e7420554e512073656e742c206861766520604482015270746f20626520657175616c20707269636560781b60648201526084016101f3565b8060a001516001600160a01b03166108fc82604001519081150290604051600060405180830381858888f19350505050158015610c63573d6000803e3d6000fd5b506001600160a01b038316600090815260016020908152604080832085845290915281205481548291908110610c9b57610c9b610ec9565b906000526020600020906006020160050160146101000a81548160ff021916908360ff160217905550826001600160a01b03166323b872dd3033856040518463ffffffff1660e01b8152600401610cf493929190610e80565b600060405180830381600087803b158015610d0e57600080fd5b505af1158015610d22573d6000803e3d6000fd5b50505050505050565b600060208284031215610d3d57600080fd5b8135610d4881610edf565b9392505050565b600060208284031215610d6157600080fd5b8151610d4881610edf565b60008060408385031215610d7f57600080fd5b8235610d8a81610edf565b946020939093013593505050565b60008060008060808587031215610dae57600080fd5b8435610db981610edf565b9350602085013592506040850135610dd081610edf565b9396929550929360600135925050565b600060208284031215610df257600080fd5b81518015158114610d4857600080fd5b600060208284031215610e1457600080fd5b5035919050565b600080600080600060a08688031215610e3357600080fd5b853594506020860135610e4581610edf565b93506040860135610e5581610edf565b925060608601359150608086013560ff81168114610e7257600080fd5b809150509295509295909350565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600082821015610ec457634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114610ef457600080fd5b5056fea2646970667358221220fbf33eb1e471c428b86ad6d948b8699fd08a127b923d5fe27ec1e1ec5f59627564736f6c63430008070033 \ No newline at end of file --- a/tests/src/eth/marketplace/MarketPlaceUNQ.sol +++ /dev/null @@ -1,163 +0,0 @@ -// SPDX-License-Identifier: Apache License -pragma solidity >=0.8.0; - -interface IERC721 { - event Transfer( - address indexed from, - address indexed to, - uint256 indexed tokenId - ); - event Approval( - address indexed owner, - address indexed approved, - uint256 indexed tokenId - ); - - function ownerOf(uint256 tokenId) external view returns (address owner); - - function transferFrom( - address from, - address to, - uint256 tokenId - ) external; - - function debug(string memory value) external; -} - -interface IERC20 { - event Transfer(address indexed from, address indexed to, uint256 value); - event Approval( - address indexed owner, - address indexed spender, - uint256 value - ); - - function transfer(address recipient, uint256 amount) - external - returns (bool); - - function transferFrom( - address sender, - address recipient, - uint256 amount - ) external returns (bool); -} - -contract MarketPlaceUNQ { - struct Offer { - uint256 idNFT; - address currencyCode; //address of currency token, = address(0) for UNQ - uint256 price; - uint256 time; - address idCollection; - address userAddr; - uint8 flagActive; - } - Offer[] public offers; - - mapping(address => mapping(uint256 => uint256)) public asks; // [idCollection][idNFT] => idOffer - - mapping(address => uint256[]) public asksbySeller; // [addressSeller] =>idOffer - - address owner; - - constructor() { - owner = msg.sender; - } - - function setowner(address _newOwner) public onlyOwner { - owner = _newOwner; - } - - modifier onlyOwner() { - require(msg.sender == owner, "Only owner can"); - _; - } - - /** - * Make bids (offers) to sell NFTs - */ - function setAsk( - uint256 _price, - address _currencyCode, - address _idCollection, - uint256 _idNFT, - uint8 _active - ) public { - require( - IERC721(_idCollection).ownerOf(_idNFT) == msg.sender, - "Not right token owner" - ); - uint256 offerID = asks[_idCollection][_idNFT]; - if (offers.length == 0 || offers[offerID].idCollection == address(0)) { - offers.push( - Offer( - _idNFT, - _currencyCode, - _price, - block.timestamp, - _idCollection, - msg.sender, - _active - ) - ); - asks[_idCollection][_idNFT] = offers.length - 1; - asksbySeller[msg.sender].push(offers.length - 1); - } - //edit existing offer - else { - offers[asks[_idCollection][_idNFT]] = Offer( - offers[asks[_idCollection][_idNFT]].idNFT, - _currencyCode, - _price, - block.timestamp, - offers[asks[_idCollection][_idNFT]].idCollection, - msg.sender, - _active - ); - } - - IERC721(_idCollection).transferFrom(msg.sender, address(this), _idNFT); - } - - function buy(address _idCollection, uint256 _idNFT) public payable { - //buing for UNQ like as ethers - Offer memory offer = offers[asks[_idCollection][_idNFT]]; - //1. check sent amount and send to seller - require( - msg.value == offer.price, - "Not right amount UNQ sent, have to be equal price" - ); - payable(offer.userAddr).transfer(offer.price); - // 2. close offer - offers[asks[_idCollection][_idNFT]].flagActive = 0; - // 3. transfer NFT to buyer - IERC721(_idCollection).transferFrom(address(this), msg.sender, _idNFT); - } - - function buy( - address _idCollection, - uint256 _idNFT, - address _currencyCode, - uint256 _amount - ) public payable { - Offer memory offer = offers[asks[_idCollection][_idNFT]]; - //1. check sent amount and transfer from buyer to seller - require( - offer.price == _amount && offer.currencyCode == _currencyCode, - "Not right amount or currency sent, have to be equal currency and price" - ); - // !!! transfer have to be approved to marketplace! - IERC20(offer.currencyCode).transferFrom( - msg.sender, - address(this), - offer.price - ); - //to not disclojure buyer's address - IERC20(offer.currencyCode).transfer(offer.userAddr, offer.price); - // 2. close offer - offers[asks[_idCollection][_idNFT]].flagActive = 0; - // 3. transfer NFT to buyer - IERC721(_idCollection).transferFrom(address(this), msg.sender, _idNFT); - } -} --- a/tests/src/eth/marketplace/marketplace.test.ts +++ b/tests/src/eth/marketplace/marketplace.test.ts @@ -1,8 +1,8 @@ import {readFile} from 'fs/promises'; import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance'; import privateKey from '../../substrate/privateKey'; -import {createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers'; -import {collectionIdToAddress, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, subToEth, subToEthLowercase} from '../util/helpers'; +import {addToWhiteListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers'; +import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, subToEth, subToEthLowercase} from '../util/helpers'; import {evmToAddress} from '@polkadot/util-crypto'; import nonFungibleAbi from '../nonFungibleAbi.json'; import fungibleAbi from '../fungibleAbi.json'; @@ -10,28 +10,35 @@ const PRICE = 2000n; -describe('Matcher contract usage', () => { +describe.only('Matcher contract usage', () => { itWeb3('With UNQ', async ({api, web3}) => { const matcherOwner = await createEthAccountWithBalance(api, web3); - const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlaceUNQ.abi`)).toString()), undefined, { + const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, { from: matcherOwner, ...GAS_ARGS, }); - const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlaceUNQ.bin`)).toString()}).send({from: matcherOwner}); + const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner}); + const helpers = contractHelpers(web3, matcherOwner); + await helpers.methods.toggleSponsoring(matcher.options.address, true).send({from: matcherOwner}); + await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner}); const alice = privateKey('//Alice'); const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner}); + await setCollectionSponsorExpectSuccess(collectionId, alice.address); + await confirmSponsorshipExpectSuccess(collectionId); + await helpers.methods.toggleAllowed(matcher.options.address, subToEth(alice.address), true).send({from: matcherOwner}); + await addToWhiteListExpectSuccess(alice, collectionId, evmToAddress(subToEth(alice.address))); + const seller = privateKey('//Bob'); + await helpers.methods.toggleAllowed(matcher.options.address, subToEth(seller.address), true).send({from: matcherOwner}); + await addToWhiteListExpectSuccess(alice, collectionId, evmToAddress(subToEth(seller.address))); const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address); // To transfer item to matcher it first needs to be transfered to EVM account of bob await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)}); - // Fees will be paid from EVM account, so we should have some balance here - await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n); - await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n); // Token is owned by seller initially expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)}); @@ -39,7 +46,7 @@ // Ask { await executeEthTxOnSub(api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId)); - await executeEthTxOnSub(api, seller, matcher, m => m.setAsk(PRICE, '0x0000000000000000000000000000000000000000', evmCollection.options.address, tokenId, 1)); + await executeEthTxOnSub(api, seller, matcher, m => m.addAsk(PRICE, '0x0000000000000000000000000000000000000001', evmCollection.options.address, tokenId)); } // Token is transferred to matcher @@ -64,13 +71,14 @@ expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address}); }); - itWeb3('With custom ERC20', async ({api, web3}) => { + // selling for custom tokens excluded from release + itWeb3.skip('With custom ERC20', async ({api, web3}) => { const matcherOwner = await createEthAccountWithBalance(api, web3); - const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlaceUNQ.abi`)).toString()), undefined, { + const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, { from: matcherOwner, ...GAS_ARGS, }); - const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlaceUNQ.bin`)).toString()}).send({from: matcherOwner}); + const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner}); const alice = privateKey('//Alice'); const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); @@ -131,13 +139,13 @@ itWeb3('With escrow', async ({api, web3}) => { const matcherOwner = await createEthAccountWithBalance(api, web3); const escrow = await createEthAccountWithBalance(api, web3); - const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlaceKSM.abi`)).toString()), undefined, { + const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, { from: matcherOwner, ...GAS_ARGS, }); - const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlaceKSM.bin`)).toString(), arguments: [escrow]}).send({from: matcherOwner}); + const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner}); - const ksmToken = 11; + const ksmToken = '0x000000000000000000000000000000000000000b'; const alice = privateKey('//Alice'); const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); @@ -159,21 +167,21 @@ // Ask { await executeEthTxOnSub(api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId)); - await executeEthTxOnSub(api, seller, matcher, m => m.setAsk(PRICE, ksmToken, evmCollection.options.address, tokenId, 1)); + await executeEthTxOnSub(api, seller, matcher, m => m.addAsk(PRICE, ksmToken, evmCollection.options.address, tokenId)); } // Token is transferred to matcher expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()}); // Give buyer KSM - await matcher.methods.deposit(PRICE, ksmToken, subToEth(alice.address)).send({from: escrow}); + await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow}); // Buy { expect(await matcher.methods.escrowBalance(ksmToken, subToEth(seller.address)).call()).to.be.equal('0'); expect(await matcher.methods.escrowBalance(ksmToken, subToEth(alice.address)).call()).to.be.equal(PRICE.toString()); - await executeEthTxOnSub(api, alice, matcher, m => m.buy(evmCollection.options.address, tokenId)); + await executeEthTxOnSub(api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address))); // Price is removed from buyer balance, and added to seller expect(await matcher.methods.escrowBalance(ksmToken, subToEth(alice.address)).call()).to.be.equal('0'); --- a/tests/src/eth/marketplace/marketplaceNew.test.ts +++ /dev/null @@ -1,196 +0,0 @@ -import {readFile} from 'fs/promises'; -import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance'; -import privateKey from '../../substrate/privateKey'; -import {createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers'; -import {collectionIdToAddress, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, subToEth, subToEthLowercase} from '../util/helpers'; -import {evmToAddress} from '@polkadot/util-crypto'; -import nonFungibleAbi from '../nonFungibleAbi.json'; -import fungibleAbi from '../fungibleAbi.json'; -import {expect} from 'chai'; - -const PRICE = 2000n; - -describe('Matcher contract usage', () => { - itWeb3('With UNQ', async ({api, web3}) => { - const matcherOwner = await createEthAccountWithBalance(api, web3); - const matcherJSON = JSON.parse((await readFile(`${__dirname}/MarketPlace.json`)).toString()); - const matcherContract = new web3.eth.Contract(matcherJSON.abi, undefined, { - from: matcherOwner, - ...GAS_ARGS, - }); - const matcher = await matcherContract.deploy({data: (matcherJSON.bytecode).toString(), arguments:[matcherOwner]}).send({from: matcherOwner}); - - const alice = privateKey('//Alice'); - const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); - const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner}); - - const seller = privateKey('//Bob'); - - const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address); - - // To transfer item to matcher it first needs to be transfered to EVM account of bob - await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)}); - // Fees will be paid from EVM account, so we should have some balance here - await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n); - await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n); - - // Token is owned by seller initially - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)}); - - // Ask - { - await executeEthTxOnSub(api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId)); - await executeEthTxOnSub(api, seller, matcher, m => m.addAsk(PRICE, '0x0000000000000000000000000000000000000001', evmCollection.options.address, tokenId, 1)); - } - - // Token is transferred to matcher - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()}); - - // Buy - { - const sellerBalanceBeforePurchase = await getBalanceSingle(api, seller.address); - // There is two functions named 'buy', so we should provide full signature - await executeEthTxOnSub(api, alice, matcher, m => m['buy(address,uint256)'](evmCollection.options.address, tokenId), {value: PRICE}); - expect(await getBalanceSingle(api, seller.address) - sellerBalanceBeforePurchase === PRICE); - } - - // Token is transferred to evm account of alice - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(alice.address)}); - - - // Transfer token to substrate side of alice - await transferFromExpectSuccess(collectionId, tokenId, alice, {Ethereum: subToEth(alice.address)}, {Substrate: alice.address}); - - // Token is transferred to substrate account of alice, seller received funds - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address}); - }); -//selling for custom tokens excluded from release -/* itWeb3('With custom ERC20', async ({api, web3}) => { - const matcherOwner = await createEthAccountWithBalance(api, web3); - const matcherJSON = JSON.parse((await readFile(`${__dirname}/MarketPlace.json`)).toString()); - const matcherContract = new web3.eth.Contract(matcherJSON.abi, undefined, { - from: matcherOwner, - ...GAS_ARGS, - }); - const matcher = await matcherContract.deploy({data: (matcherJSON.bytecode).toString()}).send({from: matcherOwner}); - - const alice = privateKey('//Alice'); - const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); - const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner}); - - const fungibleId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}}); - const evmFungible = new web3.eth.Contract(fungibleAbi as any, collectionIdToAddress(fungibleId), {from: matcherOwner, ...GAS_ARGS}); - await createFungibleItemExpectSuccess(alice, fungibleId, {Value: PRICE}, {Ethereum: subToEth(alice.address)}); - - const seller = privateKey('//Bob'); - - const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address); - - // To transfer item to matcher it first needs to be transfered to EVM account of bob - await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)}); - // Fees will be paid from EVM account, so we should have some balance here - await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n); - await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n); - - // Token is owned by seller initially - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)}); - - // Ask - { - await executeEthTxOnSub(api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId)); - await executeEthTxOnSub(api, seller, matcher, m => m.addAsk(PRICE, evmFungible.options.address, evmCollection.options.address, tokenId, 1)); - } - - // Token is transferred to matcher - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()}); - - // Buy - { - const sellerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call()); - const buyerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call()); - - await executeEthTxOnSub(api, alice, evmFungible, m => m.approve(matcher.options.address, PRICE)); - // There is two functions named 'buy', so we should provide full signature - await executeEthTxOnSub(api, alice, matcher, m => - m['buy(address,uint256,address,uint256)'](evmCollection.options.address, tokenId, evmFungible.options.address, PRICE)); - - // Approved price is removed from buyer balance, and added to seller - expect(BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call()) - sellerBalanceBeforePurchase === PRICE); - expect(buyerBalanceBeforePurchase - BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call()) === PRICE); - } - - // Token is transferred to evm account of alice - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(alice.address)}); - - - // Transfer token to substrate side of alice - await transferFromExpectSuccess(collectionId, tokenId, alice, {Ethereum: subToEth(alice.address)}, {Substrate: alice.address}); - - // Token is transferred to substrate account of alice - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address}); - }); */ - - itWeb3('With escrow', async ({api, web3}) => { - const matcherOwner = await createEthAccountWithBalance(api, web3); - const escrow = await createEthAccountWithBalance(api, web3); - const matcherJSON = JSON.parse((await readFile(`${__dirname}/MarketPlace.json`)).toString()); - const matcherContract = new web3.eth.Contract(matcherJSON.abi, undefined, { - from: matcherOwner, - ...GAS_ARGS, - }); - const matcher = await matcherContract.deploy({data: (matcherJSON.bytecode).toString(), arguments:[escrow]}).send({from: matcherOwner}); - - - const ksmToken = 11; - - const alice = privateKey('//Alice'); - const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}}); - const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner}); - - const seller = privateKey('//Bob'); - - const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address); - - // To transfer item to matcher it first needs to be transfered to EVM account of bob - await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)}); - // Fees will be paid from EVM account, so we should have some balance here - await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n); - await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n); - - // Token is owned by seller initially - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)}); - - // Ask - { - await executeEthTxOnSub(api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId)); - await executeEthTxOnSub(api, seller, matcher, m => m.addAsk(PRICE, ksmToken, evmCollection.options.address, tokenId, 1)); - } - - // Token is transferred to matcher - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()}); - - // Give buyer KSM - await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow}); - - // Buy - { - expect(await matcher.methods.escrowBalance(ksmToken, subToEth(seller.address)).call()).to.be.equal('0'); - expect(await matcher.methods.escrowBalance(ksmToken, subToEth(alice.address)).call()).to.be.equal(PRICE.toString()); - - await executeEthTxOnSub(api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address))); - - // Price is removed from buyer balance, and added to seller - expect(await matcher.methods.escrowBalance(ksmToken, subToEth(alice.address)).call()).to.be.equal('0'); - expect(await matcher.methods.escrowBalance(ksmToken, subToEth(seller.address)).call()).to.be.equal(PRICE.toString()); - } - - // Token is transferred to evm account of alice - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(alice.address)}); - - // Transfer token to substrate side of alice - await transferFromExpectSuccess(collectionId, tokenId, alice, {Ethereum: subToEth(alice.address)}, {Substrate: alice.address}); - - // Token is transferred to substrate account of alice, seller received funds - expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address}); - }); -});