diff --git a/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234975.json b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234975.json new file mode 100644 index 00000000..4586f89d --- /dev/null +++ b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234975.json @@ -0,0 +1,55 @@ +{ + "transactions": [ + { + "hash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionType": "CREATE", + "contractName": "RNSDomainPrice", + "contractAddress": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x968d0cd7343f711216817e617d3f92a23dc91c07", + "gas": "0x5bf574", + "value": "0x0", + "data": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61351380620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635ef32e2c1161011a578063ca15c873116100ad578063dfef64da1161007c578063dfef64da146104f4578063e229a67014610507578063f4651f491461051a578063f5b541a61461053b578063fe303ebf1461056257600080fd5b8063ca15c873146104a8578063d40ed58c146104bb578063d547741f146104ce578063dd28776d146104e157600080fd5b80637e32146a116100e95780637e32146a146104425780639010d07c1461046257806391d148541461048d578063a217fddf146104a057600080fd5b80635ef32e2c146103ea578063700213c8146103f2578063713a69a7146104075780637174026e1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf9091461039157806359228107146103b1578063599eaabf146103c45780635c68c830146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046126a2565b610575565b60405190151581526020015b60405180910390f35b61023b6102363660046126cc565b6105a0565b60405190815260200161021f565b610251610632565b60405161021f91906126e5565b61023b61026c3660046126cc565b6000908152600160208190526040909120015490565b61029561029036600461275c565b61070f565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d3366004612791565b61072b565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612805565b610756565b610295610313366004612791565b61076b565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f36600461288a565b6107ee565b60405161021f919061294d565b6102956103bf366004612993565b610927565b6102956103d236600461288a565b610a91565b61023b6103e53660046129fe565b610b4f565b60375461023b565b61023b6000805160206134be83398151915281565b61041a610415366004612b9e565b610bcd565b6040805192835260208301919091520161021f565b61023b61043d3660046126cc565b610bf9565b6104556104503660046129fe565b610c8c565b60405161021f9190612be8565b610475610470366004612c10565b610d28565b6040516001600160a01b03909116815260200161021f565b61021361049b366004612791565b610d47565b61023b600081565b61023b6104b63660046126cc565b610d72565b6102956104c9366004612c4a565b610d89565b6102956104dc366004612791565b610f51565b6102956104ef366004612993565b610f77565b610455610502366004612b9e565b611078565b610295610515366004612d23565b611130565b61052d610528366004612d3f565b611144565b60405161021f929190612d83565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6102956105703660046126cc565b6111a1565b60006001600160e01b03198216635a05180f60e01b148061059a575061059a826111b5565b92915050565b603554603a5460395460405163052571af60e51b815260009361059a93869360129384936001600160a01b03169263a4ae35e0926105e992600401918252602082015260400190565b608060405180830381865afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190612dbe565b9291906111ea565b603854606090806001600160401b0381111561065057610650612a6f565b60405190808252806020026020018201604052801561069557816020015b604080518082019091526000808252602082015281526020019060019003908161066e5790505b5091506000805b8281101561070957806001019150818482815181106106bd576106bd612e2b565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106f3576106f3612e2b565b602090810291909101810151015260010161069c565b50505090565b600061071a81611229565b610725848484611236565b50505050565b6000828152600160208190526040909120015461074781611229565b61075183836112a8565b505050565b600061076181611229565b61075183836112ca565b6001600160a01b03811633146107e05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107ea82826113e3565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961081a81611229565b600061082c8b8b8b8b8b8b8b8b611405565b905033816001600160401b0381111561084757610847612a6f565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50935060005b82811015610917576108ed828e8e8481811061089457610894612e2b565b905060200201358d8d858181106108ad576108ad612e2b565b905060200201358c8c868181106108c6576108c6612e2b565b905060200201358b8b878181106108df576108df612e2b565b905060200201356000611453565b8582815181106108ff576108ff612e2b565b91151560209283029190910190910152600101610876565b5050505098975050505050505050565b6000805160206134be83398151915261093f81611229565b8380158061094d5750808314155b1561096b57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a865786868281811061098a5761098a612e2b565b905060200201602081019061099f9190612e41565b60038111156109b0576109b0612bd2565b19925082603f60008b8b858181106109ca576109ca612e2b565b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550868682818110610a0957610a09612e2b565b9050602002016020810190610a1e9190612e41565b6003811115610a2f57610a2f612bd2565b898983818110610a4157610a41612e2b565b90506020020135836001600160a01b03167f3f340e5d69d5f452290191bb7d417287ccd8896c4e4852a95c3702a834993ab160405160405180910390a4600101610970565b505050505050505050565b6000805160206134be833981519152610aa981611229565b6000610abb8a8a8a8a8a8a8a8a611405565b90503360005b82811015610b4157610b38828d8d84818110610adf57610adf612e2b565b905060200201358c8c85818110610af857610af8612e2b565b905060200201358b8b86818110610b1157610b11612e2b565b905060200201358a8a87818110610b2a57610b2a612e2b565b905060200201356001611453565b50600101610ac1565b505050505050505050505050565b6000603e6000610b9485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b815260200190815260200160002054905080600003610bc657604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610be7610be284805160209091012090565b6114ed565b9150610bf282610bf9565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161059a918491601291829161062a91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c869190612dbe565b9061155e565b600080603f6000610cd286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b8152602081019190915260400160009081205460ff169150819003610d0a5760405163b34afcf160e01b815260040160405180910390fd5b801960ff166003811115610d2057610d20612bd2565b949350505050565b6000828152600260205260408120610d4090836116b8565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061059a906116c4565b600054610100900460ff1615808015610da95750600054600160ff909116105b80610dc35750303b158015610dc3575060005460ff166001145b610e265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d7565b6000805460ff191660011790558015610e49576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610eae57610ea6828f8f84818110610e8c57610e8c612e2b565b9050602002016020810190610ea19190612e62565b6116ce565b600101610e6e565b50603680546001600160a01b0319166001600160a01b038816179055610ed560008f6116ce565b610edf8b8b6112ca565b610ee8896116d8565b610ef18861170d565b610efc878686611236565b50508015610b41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610f6d81611229565b61075183836113e3565b6000805160206134be833981519152610f8f81611229565b83801580610f9d5750808314155b15610fbb57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a8657868682818110610fda57610fda612e2b565b9050602002013519925082603e60008b8b85818110610ffb57610ffb612e2b565b9050602002013581526020019081526020016000208190555088888281811061102657611026612e2b565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf662148560405161106891815260200190565b60405180910390a3600101610fc0565b80516020808301919091206000818152603f909252604082205460ff1680156110b157801960ff166003811115610d2057610d20612bd2565b60006110c1856301e13380611789565b50509050600060026110d2856114ed565b6110dc9190612eab565b82516110e89190612ebf565b9050680ad78ebc5ac62000008111156111075750600195945050505050565b6802b5e3af16b18800008111156111245750600295945050505050565b50600395945050505050565b600061113b81611229565b6107ea8261170d565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260006111788585611789565b919450925090506001600160e01b0319811615611199578060005260046000fd5b509250929050565b60006111ac81611229565b6107ea826116d8565b60006001600160e01b03198216637965db0b60e01b148061059a57506301ffc9a760e01b6001600160e01b031983161461059a565b600061122084611210876000015160070b88604001518661120b9190612ed2565b611b3f565b61121b600187611b3f565b611b99565b95945050505050565b6112338133611c82565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161129b91815260200190565b60405180910390a4505050565b6112b28282611cdb565b60008281526002602052604090206107519082611d46565b60408051808201909152600080825260208201523390603854839060005b828110156113955786868281811061130257611302612e2b565b9050604002018036038101906113189190612ef9565b9350611328828560000151611d5b565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161138591815260200190565b60405180910390a36001016112e8565b5060385481146113db57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6113ed8282611d71565b60008281526002602052604090206107519082611dd8565b868015806114135750858114155b8061141e5750838114155b806114295750818114155b1561144757604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061145f866105a0565b6000888152603d60205260409020909150838061147c5750805482115b925082156114d657818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611511575060009392505050565b600061151d8242612f2b565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611220919061271084611ded565b60408051608081018252600080825260208201819052918101829052606081019190915260006115976001856040015161120b90612f3e565b90506001600160ff1b038111156115cd576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107d7565b60006115dd600161120b86612f3e565b90506001600160ff1b0381111561160d57604051633e87ca5d60e11b8152600385900b60048201526024016107d7565b845160009060070b61161f8385612f61565b6116299190612f91565b9050677fffffffffffffff81131561167557604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107d7565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610d408383611ec3565b600061059a825490565b6107ea82826112a8565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b61171a8282612fd4565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc6461174c6020840184613016565b61175c6040850160208601613033565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b604080518082019091526000808252602082015260408051808201909152600080825260208201526000806117bd86611eed565b865160208801209091506000906000818152603e602052604090205490915080156117f4576117ed811988613050565b8652611b14565b6000603c600061180686603854611fdb565b815260200190815260200160002054905080886118239190613050565b875260006118627fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888b6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d29190613077565b15611b10576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613092565b905060006119d6826001600160a01b03166303e9e609866040518263ffffffff1660e01b815260040161197091815260200190565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b59190810190613139565b60200151604001516001600160401b03168d6001600160401b038016611fea565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190613240565b506040810151606001519091508015801590611ad35750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906132dd565b6001600160401b0316611ad18285612f2b565b115b15611af25750631bb03f9d60e01b9950611b3898505050505050505050565b611b09603754611b018b6114ed565b612710611b99565b8c52505050505b5050505b8451611b1f90610bf9565b60208601528551611b2f90610bf9565b60208701525050505b9250925092565b6000808260030b1215611b7157611b5582612f3e565b611b6090600a6133d6565b611b6a9084612eab565b905061059a565b60008260030b1315611b9257611b8882600a6133d6565b611b6a9084613050565b508161059a565b6000808060001985870985870292508281108382030391505080600003611bd357838281611bc957611bc9612e7f565b0492505050610d40565b808411611c1a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107d7565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b611c8c8282610d47565b6107ea57611c9981612020565b611ca4836020612032565b604051602001611cb59291906133e8565b60408051601f198184030181529082905262461bcd60e51b82526107d79160040161345d565b611ce58282610d47565b6107ea5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610d40836001600160a01b0384166121cd565b6000818311611d6a5781610d40565b5090919050565b611d7b8282610d47565b156107ea5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d40836001600160a01b03841661221c565b60008085602001516001600160401b031683611e099190612eab565b9050801580611e20575085516001600160c01b0316155b15611e2e5784915050610d20565b85516001600160c01b03166001600160401b03851603611e52576000915050610d20565b61ffff811115611e7857604051637359f25f60e01b8152600481018290526024016107d7565b6000611ea88760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611b99565b9050611eb886826127108561230f565b979650505050505050565b6000826000018281548110611eda57611eda612e2b565b9060005260206000200154905092915050565b600080600080845190505b80831015611fd3576000858481518110611f1457611f14612e2b565b01602001516001600160f81b0319169050600160ff1b811015611f3c57600184019350611fc7565b600760fd1b6001600160f81b031982161015611f5d57600284019350611fc7565b600f60fc1b6001600160f81b031982161015611f7e57600384019350611fc7565b601f60fb1b6001600160f81b031982161015611f9f57600484019350611fc7565b603f60fa1b6001600160f81b031982161015611fc057600584019350611fc7565b6006840193505b50600190910190611ef8565b509392505050565b6000818310611d6a5781610d40565b600081841180611ff957508183115b15612005575080610d40565b61200f8484612472565b905081811115610d40575080610d40565b606061059a6001600160a01b03831660145b60606000612041836002613050565b61204c906002612ebf565b6001600160401b0381111561206357612063612a6f565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b509050600360fc1b816000815181106120a8576120a8612e2b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d7576120d7612e2b565b60200101906001600160f81b031916908160001a90535060006120fb846002613050565b612106906001612ebf565b90505b600181111561217e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061213a5761213a612e2b565b1a60f81b82828151811061215057612150612e2b565b60200101906001600160f81b031916908160001a90535060049490941c9361217781613490565b9050612109565b508315610d405760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d7565b60008181526001830160205260408120546122145750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059a565b50600061059a565b60008181526001830160205260408120548015612305576000612240600183612f2b565b855490915060009061225490600190612f2b565b90508181146122b957600086600001828154811061227457612274612e2b565b906000526020600020015490508087600001848154811061229757612297612e2b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122ca576122ca6134a7565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059a565b600091505061059a565b600082841480612321575061ffff8216155b1561232d575083610d20565b5083600080808061234e61ffff87166123458a612486565b61ffff16611fdb565b90505b61ffff8116156123a45761236b8561ffff83168a0a612657565b9094509250831561238457829450808603955080820191505b61239d600261ffff83160461ffff168761ffff16611fdb565b9050612351565b505b61ffff851615612417576123ba8488612657565b909350915082156123d9576000199094019390925082906001016123a6565b61ffff8116156123fe578584816123f2576123f2612e7f565b049350600019016123a6565b612409848888611b99565b6000199095019493506123a6565b600061242287612486565b90505b61ffff8216156124665760006124438261ffff168461ffff16611fdb565b90508061ffff16880a868161245a5761245a612e7f565b04955090910390612425565b50505050949350505050565b8181018281101561059a575060001961059a565b60006003821015612499575060ff919050565b60048210156124aa57506080919050565b60108210156124bb57506040919050565b6101008210156124cd57506020919050565b611bdc8210156124df57506014919050565b612c708210156124f157506013919050565b614aa982101561250357506012919050565b61855482101561251557506011919050565b6201000082101561252857506010919050565b6202183782101561253b5750600f919050565b6204e04682101561254e5750600e919050565b620ced4c8210156125615750600d919050565b622851468210156125745750600c919050565b629aa2ad8210156125875750600b919050565b6303080c0182101561259b5750600a919050565b6315c5cbbd8210156125af57506009919050565b6401000000008210156125c457506008919050565b6417c6a1f29f8210156125d957506007919050565b6506597fa94f5c8210156125ef57506006919050565b66093088c35d733b82101561260657506005919050565b6801000000000000000082101561261f57506004919050565b6a285145f31ae515c447bb5782101561263a57506003919050565b600160801b82101561264e57506002919050565b5060015b919050565b6000808360000361266e575060019050600061269b565b8383028385828161268157612681612e7f565b041461269457600080925092505061269b565b6001925090505b9250929050565b6000602082840312156126b457600080fd5b81356001600160e01b031981168114610d4057600080fd5b6000602082840312156126de57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561272f5761271f84835180518252602090810151910152565b9284019290850190600101612702565b5091979650505050505050565b6001600160a01b038116811461123357600080fd5b80356126528161273c565b60008060006060848603121561277157600080fd5b833561277c8161273c565b95602085013595506040909401359392505050565b600080604083850312156127a457600080fd5b8235915060208301356127b68161273c565b809150509250929050565b60008083601f8401126127d357600080fd5b5081356001600160401b038111156127ea57600080fd5b6020830191508360208260061b850101111561269b57600080fd5b6000806020838503121561281857600080fd5b82356001600160401b0381111561282e57600080fd5b61283a858286016127c1565b90969095509350505050565b60008083601f84011261285857600080fd5b5081356001600160401b0381111561286f57600080fd5b6020830191508360208260051b850101111561269b57600080fd5b6000806000806000806000806080898b0312156128a657600080fd5b88356001600160401b03808211156128bd57600080fd5b6128c98c838d01612846565b909a50985060208b01359150808211156128e257600080fd5b6128ee8c838d01612846565b909850965060408b013591508082111561290757600080fd5b6129138c838d01612846565b909650945060608b013591508082111561292c57600080fd5b506129398b828c01612846565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b81811015612987578351151583529284019291840191600101612969565b50909695505050505050565b600080600080604085870312156129a957600080fd5b84356001600160401b03808211156129c057600080fd5b6129cc88838901612846565b909650945060208701359150808211156129e557600080fd5b506129f287828801612846565b95989497509550505050565b60008060208385031215612a1157600080fd5b82356001600160401b0380821115612a2857600080fd5b818501915085601f830112612a3c57600080fd5b813581811115612a4b57600080fd5b866020828501011115612a5d57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612aa757612aa7612a6f565b60405290565b604080519081016001600160401b0381118282101715612aa757612aa7612a6f565b604051606081016001600160401b0381118282101715612aa757612aa7612a6f565b604051601f8201601f191681016001600160401b0381118282101715612b1957612b19612a6f565b604052919050565b60006001600160401b03821115612b3a57612b3a612a6f565b50601f01601f191660200190565b600082601f830112612b5957600080fd5b8135612b6c612b6782612b21565b612af1565b818152846020838601011115612b8157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612bb057600080fd5b81356001600160401b03811115612bc657600080fd5b610d2084828501612b48565b634e487b7160e01b600052602160045260246000fd5b6020810160048310612c0a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612c2357600080fd5b50508035926020909101359150565b600060408284031215612c4457600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612c6c57600080fd5b612c768c3561273c565b8b359a506001600160401b038060208e01351115612c9357600080fd5b612ca38e60208f01358f01612846565b909b50995060408d0135811015612cb957600080fd5b50612cca8d60408e01358e016127c1565b909850965060608c01359550612ce38d60808e01612c32565b945060c08c0135612cf38161273c565b9350612d0160e08d01612751565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612d3557600080fd5b610d408383612c32565b60008060408385031215612d5257600080fd5b82356001600160401b03811115612d6857600080fd5b612d7485828601612b48565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610d40565b6001600160401b038116811461123357600080fd5b600060808284031215612dd057600080fd5b612dd8612a85565b82518060070b8114612de957600080fd5b81526020830151612df981612da9565b60208201526040830151600381900b8114612e1357600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e5357600080fd5b813560048110610d4057600080fd5b600060208284031215612e7457600080fd5b8135610d408161273c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612eba57612eba612e7f565b500490565b8082018082111561059a5761059a612e95565b600381810b9083900b01637fffffff8113637fffffff198212171561059a5761059a612e95565b600060408284031215612f0b57600080fd5b612f13612aad565b82358152602083013560208201528091505092915050565b8181038181111561059a5761059a612e95565b60008160030b637fffffff198103612f5857612f58612e95565b60000392915050565b80820260008212600160ff1b84141615612f7d57612f7d612e95565b818105831482151761059a5761059a612e95565b600082612fa057612fa0612e7f565b600160ff1b821460001984141615612fba57612fba612e95565b500590565b6001600160c01b038116811461123357600080fd5b8135612fdf81612fbf565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561300c81612da9565b60c01b1617905550565b60006020828403121561302857600080fd5b8135610d4081612fbf565b60006020828403121561304557600080fd5b8135610d4081612da9565b808202811582820484141761059a5761059a612e95565b8051801515811461265257600080fd5b60006020828403121561308957600080fd5b610d4082613067565b6000602082840312156130a457600080fd5b8151610d408161273c565b60005b838110156130ca5781810151838201526020016130b2565b50506000910152565b6000608082840312156130e557600080fd5b6130ed612a85565b905081516130fa8161273c565b8152602082015161310a8161273c565b6020820152604082015161311d81612da9565b604082015261312e60608301613067565b606082015292915050565b6000602080838503121561314c57600080fd5b82516001600160401b038082111561316357600080fd5b9084019060a0828703121561317757600080fd5b61317f612aad565b82518281111561318e57600080fd5b8301606081890312156131a057600080fd5b6131a8612acf565b815160ff811681146131b957600080fd5b815281860151868201526040820151848111156131d557600080fd5b82019350601f840189136131e857600080fd5b835191506131f8612b6783612b21565b828152898784870101111561320c57600080fd5b61321b838883018988016130af565b604082015282525061322f878486016130d3565b848201528094505050505092915050565b60008082840360e081121561325457600080fd5b60c081121561326257600080fd5b61326a612acf565b84518152602085015160208201526080603f198301121561328a57600080fd5b613292612a85565b915060408501516132a28161273c565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b6000602082840312156132ef57600080fd5b8151610d4081612da9565b600181815b8085111561119957816000190482111561331b5761331b612e95565b8085161561332857918102915b93841c93908002906132ff565b6000826133445750600161059a565b816133515750600061059a565b816001811461336757600281146133715761338d565b600191505061059a565b60ff84111561338257613382612e95565b50506001821b61059a565b5060208310610133831016604e8410600b84101617156133b0575081810a61059a565b6133ba83836132fa565b80600019048211156133ce576133ce612e95565b029392505050565b6000610d4063ffffffff841683613335565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134208160178501602088016130af565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134518160288401602088016130af565b01602801949350505050565b602081526000825180602084015261347c8160408501602087016130af565b601f01601f19169190910160400192915050565b60008161349f5761349f612e95565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada264697066735822122074c77ffc438b3afa10feb9b23f689571e934dfbe3e548fb04b0995f86a5c7d8064736f6c63430008150033", + "nonce": "0x2f02f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", + "function": "upgrade(address,address)", + "arguments": [ + "0x51cAF51678f469e9DD4c878a7b0ceBEbbd4A4AB5", + "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a" + ], + "transaction": { + "type": "0x00", + "from": "0x968d0cd7343f711216817e617d3f92a23dc91c07", + "to": "0x505d91e8fd2091794b45b27f86c045529fa92cd7", + "gas": "0x12b56", + "value": "0x0", + "data": "0x99a88ec400000000000000000000000051caf51678f469e9dd4c878a7b0cebebbd4a4ab50000000000000000000000008a99fc285a90d031d9e4e328fcfcc35cb0bfb34a", + "nonce": "0x2f030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e" + ], + "returns": {}, + "timestamp": 1710234975, + "chain": 2021, + "multi": false, + "commit": "399a1ef" +} \ No newline at end of file diff --git a/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234981.json b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234981.json new file mode 100644 index 00000000..e1ab6b4f --- /dev/null +++ b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-1710234981.json @@ -0,0 +1,114 @@ +{ + "transactions": [ + { + "hash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionType": "CREATE", + "contractName": "RNSDomainPrice", + "contractAddress": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x968d0cd7343f711216817e617d3f92a23dc91c07", + "gas": "0x5bf574", + "value": "0x0", + "data": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61351380620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635ef32e2c1161011a578063ca15c873116100ad578063dfef64da1161007c578063dfef64da146104f4578063e229a67014610507578063f4651f491461051a578063f5b541a61461053b578063fe303ebf1461056257600080fd5b8063ca15c873146104a8578063d40ed58c146104bb578063d547741f146104ce578063dd28776d146104e157600080fd5b80637e32146a116100e95780637e32146a146104425780639010d07c1461046257806391d148541461048d578063a217fddf146104a057600080fd5b80635ef32e2c146103ea578063700213c8146103f2578063713a69a7146104075780637174026e1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf9091461039157806359228107146103b1578063599eaabf146103c45780635c68c830146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046126a2565b610575565b60405190151581526020015b60405180910390f35b61023b6102363660046126cc565b6105a0565b60405190815260200161021f565b610251610632565b60405161021f91906126e5565b61023b61026c3660046126cc565b6000908152600160208190526040909120015490565b61029561029036600461275c565b61070f565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d3366004612791565b61072b565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612805565b610756565b610295610313366004612791565b61076b565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f36600461288a565b6107ee565b60405161021f919061294d565b6102956103bf366004612993565b610927565b6102956103d236600461288a565b610a91565b61023b6103e53660046129fe565b610b4f565b60375461023b565b61023b6000805160206134be83398151915281565b61041a610415366004612b9e565b610bcd565b6040805192835260208301919091520161021f565b61023b61043d3660046126cc565b610bf9565b6104556104503660046129fe565b610c8c565b60405161021f9190612be8565b610475610470366004612c10565b610d28565b6040516001600160a01b03909116815260200161021f565b61021361049b366004612791565b610d47565b61023b600081565b61023b6104b63660046126cc565b610d72565b6102956104c9366004612c4a565b610d89565b6102956104dc366004612791565b610f51565b6102956104ef366004612993565b610f77565b610455610502366004612b9e565b611078565b610295610515366004612d23565b611130565b61052d610528366004612d3f565b611144565b60405161021f929190612d83565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6102956105703660046126cc565b6111a1565b60006001600160e01b03198216635a05180f60e01b148061059a575061059a826111b5565b92915050565b603554603a5460395460405163052571af60e51b815260009361059a93869360129384936001600160a01b03169263a4ae35e0926105e992600401918252602082015260400190565b608060405180830381865afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190612dbe565b9291906111ea565b603854606090806001600160401b0381111561065057610650612a6f565b60405190808252806020026020018201604052801561069557816020015b604080518082019091526000808252602082015281526020019060019003908161066e5790505b5091506000805b8281101561070957806001019150818482815181106106bd576106bd612e2b565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106f3576106f3612e2b565b602090810291909101810151015260010161069c565b50505090565b600061071a81611229565b610725848484611236565b50505050565b6000828152600160208190526040909120015461074781611229565b61075183836112a8565b505050565b600061076181611229565b61075183836112ca565b6001600160a01b03811633146107e05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107ea82826113e3565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961081a81611229565b600061082c8b8b8b8b8b8b8b8b611405565b905033816001600160401b0381111561084757610847612a6f565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50935060005b82811015610917576108ed828e8e8481811061089457610894612e2b565b905060200201358d8d858181106108ad576108ad612e2b565b905060200201358c8c868181106108c6576108c6612e2b565b905060200201358b8b878181106108df576108df612e2b565b905060200201356000611453565b8582815181106108ff576108ff612e2b565b91151560209283029190910190910152600101610876565b5050505098975050505050505050565b6000805160206134be83398151915261093f81611229565b8380158061094d5750808314155b1561096b57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a865786868281811061098a5761098a612e2b565b905060200201602081019061099f9190612e41565b60038111156109b0576109b0612bd2565b19925082603f60008b8b858181106109ca576109ca612e2b565b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550868682818110610a0957610a09612e2b565b9050602002016020810190610a1e9190612e41565b6003811115610a2f57610a2f612bd2565b898983818110610a4157610a41612e2b565b90506020020135836001600160a01b03167f3f340e5d69d5f452290191bb7d417287ccd8896c4e4852a95c3702a834993ab160405160405180910390a4600101610970565b505050505050505050565b6000805160206134be833981519152610aa981611229565b6000610abb8a8a8a8a8a8a8a8a611405565b90503360005b82811015610b4157610b38828d8d84818110610adf57610adf612e2b565b905060200201358c8c85818110610af857610af8612e2b565b905060200201358b8b86818110610b1157610b11612e2b565b905060200201358a8a87818110610b2a57610b2a612e2b565b905060200201356001611453565b50600101610ac1565b505050505050505050505050565b6000603e6000610b9485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b815260200190815260200160002054905080600003610bc657604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610be7610be284805160209091012090565b6114ed565b9150610bf282610bf9565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161059a918491601291829161062a91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c869190612dbe565b9061155e565b600080603f6000610cd286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b8152602081019190915260400160009081205460ff169150819003610d0a5760405163b34afcf160e01b815260040160405180910390fd5b801960ff166003811115610d2057610d20612bd2565b949350505050565b6000828152600260205260408120610d4090836116b8565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061059a906116c4565b600054610100900460ff1615808015610da95750600054600160ff909116105b80610dc35750303b158015610dc3575060005460ff166001145b610e265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d7565b6000805460ff191660011790558015610e49576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610eae57610ea6828f8f84818110610e8c57610e8c612e2b565b9050602002016020810190610ea19190612e62565b6116ce565b600101610e6e565b50603680546001600160a01b0319166001600160a01b038816179055610ed560008f6116ce565b610edf8b8b6112ca565b610ee8896116d8565b610ef18861170d565b610efc878686611236565b50508015610b41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610f6d81611229565b61075183836113e3565b6000805160206134be833981519152610f8f81611229565b83801580610f9d5750808314155b15610fbb57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a8657868682818110610fda57610fda612e2b565b9050602002013519925082603e60008b8b85818110610ffb57610ffb612e2b565b9050602002013581526020019081526020016000208190555088888281811061102657611026612e2b565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf662148560405161106891815260200190565b60405180910390a3600101610fc0565b80516020808301919091206000818152603f909252604082205460ff1680156110b157801960ff166003811115610d2057610d20612bd2565b60006110c1856301e13380611789565b50509050600060026110d2856114ed565b6110dc9190612eab565b82516110e89190612ebf565b9050680ad78ebc5ac62000008111156111075750600195945050505050565b6802b5e3af16b18800008111156111245750600295945050505050565b50600395945050505050565b600061113b81611229565b6107ea8261170d565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260006111788585611789565b919450925090506001600160e01b0319811615611199578060005260046000fd5b509250929050565b60006111ac81611229565b6107ea826116d8565b60006001600160e01b03198216637965db0b60e01b148061059a57506301ffc9a760e01b6001600160e01b031983161461059a565b600061122084611210876000015160070b88604001518661120b9190612ed2565b611b3f565b61121b600187611b3f565b611b99565b95945050505050565b6112338133611c82565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161129b91815260200190565b60405180910390a4505050565b6112b28282611cdb565b60008281526002602052604090206107519082611d46565b60408051808201909152600080825260208201523390603854839060005b828110156113955786868281811061130257611302612e2b565b9050604002018036038101906113189190612ef9565b9350611328828560000151611d5b565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161138591815260200190565b60405180910390a36001016112e8565b5060385481146113db57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6113ed8282611d71565b60008281526002602052604090206107519082611dd8565b868015806114135750858114155b8061141e5750838114155b806114295750818114155b1561144757604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061145f866105a0565b6000888152603d60205260409020909150838061147c5750805482115b925082156114d657818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611511575060009392505050565b600061151d8242612f2b565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611220919061271084611ded565b60408051608081018252600080825260208201819052918101829052606081019190915260006115976001856040015161120b90612f3e565b90506001600160ff1b038111156115cd576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107d7565b60006115dd600161120b86612f3e565b90506001600160ff1b0381111561160d57604051633e87ca5d60e11b8152600385900b60048201526024016107d7565b845160009060070b61161f8385612f61565b6116299190612f91565b9050677fffffffffffffff81131561167557604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107d7565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610d408383611ec3565b600061059a825490565b6107ea82826112a8565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b61171a8282612fd4565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc6461174c6020840184613016565b61175c6040850160208601613033565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b604080518082019091526000808252602082015260408051808201909152600080825260208201526000806117bd86611eed565b865160208801209091506000906000818152603e602052604090205490915080156117f4576117ed811988613050565b8652611b14565b6000603c600061180686603854611fdb565b815260200190815260200160002054905080886118239190613050565b875260006118627fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888b6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d29190613077565b15611b10576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613092565b905060006119d6826001600160a01b03166303e9e609866040518263ffffffff1660e01b815260040161197091815260200190565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b59190810190613139565b60200151604001516001600160401b03168d6001600160401b038016611fea565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190613240565b506040810151606001519091508015801590611ad35750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906132dd565b6001600160401b0316611ad18285612f2b565b115b15611af25750631bb03f9d60e01b9950611b3898505050505050505050565b611b09603754611b018b6114ed565b612710611b99565b8c52505050505b5050505b8451611b1f90610bf9565b60208601528551611b2f90610bf9565b60208701525050505b9250925092565b6000808260030b1215611b7157611b5582612f3e565b611b6090600a6133d6565b611b6a9084612eab565b905061059a565b60008260030b1315611b9257611b8882600a6133d6565b611b6a9084613050565b508161059a565b6000808060001985870985870292508281108382030391505080600003611bd357838281611bc957611bc9612e7f565b0492505050610d40565b808411611c1a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107d7565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b611c8c8282610d47565b6107ea57611c9981612020565b611ca4836020612032565b604051602001611cb59291906133e8565b60408051601f198184030181529082905262461bcd60e51b82526107d79160040161345d565b611ce58282610d47565b6107ea5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610d40836001600160a01b0384166121cd565b6000818311611d6a5781610d40565b5090919050565b611d7b8282610d47565b156107ea5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d40836001600160a01b03841661221c565b60008085602001516001600160401b031683611e099190612eab565b9050801580611e20575085516001600160c01b0316155b15611e2e5784915050610d20565b85516001600160c01b03166001600160401b03851603611e52576000915050610d20565b61ffff811115611e7857604051637359f25f60e01b8152600481018290526024016107d7565b6000611ea88760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611b99565b9050611eb886826127108561230f565b979650505050505050565b6000826000018281548110611eda57611eda612e2b565b9060005260206000200154905092915050565b600080600080845190505b80831015611fd3576000858481518110611f1457611f14612e2b565b01602001516001600160f81b0319169050600160ff1b811015611f3c57600184019350611fc7565b600760fd1b6001600160f81b031982161015611f5d57600284019350611fc7565b600f60fc1b6001600160f81b031982161015611f7e57600384019350611fc7565b601f60fb1b6001600160f81b031982161015611f9f57600484019350611fc7565b603f60fa1b6001600160f81b031982161015611fc057600584019350611fc7565b6006840193505b50600190910190611ef8565b509392505050565b6000818310611d6a5781610d40565b600081841180611ff957508183115b15612005575080610d40565b61200f8484612472565b905081811115610d40575080610d40565b606061059a6001600160a01b03831660145b60606000612041836002613050565b61204c906002612ebf565b6001600160401b0381111561206357612063612a6f565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b509050600360fc1b816000815181106120a8576120a8612e2b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d7576120d7612e2b565b60200101906001600160f81b031916908160001a90535060006120fb846002613050565b612106906001612ebf565b90505b600181111561217e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061213a5761213a612e2b565b1a60f81b82828151811061215057612150612e2b565b60200101906001600160f81b031916908160001a90535060049490941c9361217781613490565b9050612109565b508315610d405760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d7565b60008181526001830160205260408120546122145750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059a565b50600061059a565b60008181526001830160205260408120548015612305576000612240600183612f2b565b855490915060009061225490600190612f2b565b90508181146122b957600086600001828154811061227457612274612e2b565b906000526020600020015490508087600001848154811061229757612297612e2b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122ca576122ca6134a7565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059a565b600091505061059a565b600082841480612321575061ffff8216155b1561232d575083610d20565b5083600080808061234e61ffff87166123458a612486565b61ffff16611fdb565b90505b61ffff8116156123a45761236b8561ffff83168a0a612657565b9094509250831561238457829450808603955080820191505b61239d600261ffff83160461ffff168761ffff16611fdb565b9050612351565b505b61ffff851615612417576123ba8488612657565b909350915082156123d9576000199094019390925082906001016123a6565b61ffff8116156123fe578584816123f2576123f2612e7f565b049350600019016123a6565b612409848888611b99565b6000199095019493506123a6565b600061242287612486565b90505b61ffff8216156124665760006124438261ffff168461ffff16611fdb565b90508061ffff16880a868161245a5761245a612e7f565b04955090910390612425565b50505050949350505050565b8181018281101561059a575060001961059a565b60006003821015612499575060ff919050565b60048210156124aa57506080919050565b60108210156124bb57506040919050565b6101008210156124cd57506020919050565b611bdc8210156124df57506014919050565b612c708210156124f157506013919050565b614aa982101561250357506012919050565b61855482101561251557506011919050565b6201000082101561252857506010919050565b6202183782101561253b5750600f919050565b6204e04682101561254e5750600e919050565b620ced4c8210156125615750600d919050565b622851468210156125745750600c919050565b629aa2ad8210156125875750600b919050565b6303080c0182101561259b5750600a919050565b6315c5cbbd8210156125af57506009919050565b6401000000008210156125c457506008919050565b6417c6a1f29f8210156125d957506007919050565b6506597fa94f5c8210156125ef57506006919050565b66093088c35d733b82101561260657506005919050565b6801000000000000000082101561261f57506004919050565b6a285145f31ae515c447bb5782101561263a57506003919050565b600160801b82101561264e57506002919050565b5060015b919050565b6000808360000361266e575060019050600061269b565b8383028385828161268157612681612e7f565b041461269457600080925092505061269b565b6001925090505b9250929050565b6000602082840312156126b457600080fd5b81356001600160e01b031981168114610d4057600080fd5b6000602082840312156126de57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561272f5761271f84835180518252602090810151910152565b9284019290850190600101612702565b5091979650505050505050565b6001600160a01b038116811461123357600080fd5b80356126528161273c565b60008060006060848603121561277157600080fd5b833561277c8161273c565b95602085013595506040909401359392505050565b600080604083850312156127a457600080fd5b8235915060208301356127b68161273c565b809150509250929050565b60008083601f8401126127d357600080fd5b5081356001600160401b038111156127ea57600080fd5b6020830191508360208260061b850101111561269b57600080fd5b6000806020838503121561281857600080fd5b82356001600160401b0381111561282e57600080fd5b61283a858286016127c1565b90969095509350505050565b60008083601f84011261285857600080fd5b5081356001600160401b0381111561286f57600080fd5b6020830191508360208260051b850101111561269b57600080fd5b6000806000806000806000806080898b0312156128a657600080fd5b88356001600160401b03808211156128bd57600080fd5b6128c98c838d01612846565b909a50985060208b01359150808211156128e257600080fd5b6128ee8c838d01612846565b909850965060408b013591508082111561290757600080fd5b6129138c838d01612846565b909650945060608b013591508082111561292c57600080fd5b506129398b828c01612846565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b81811015612987578351151583529284019291840191600101612969565b50909695505050505050565b600080600080604085870312156129a957600080fd5b84356001600160401b03808211156129c057600080fd5b6129cc88838901612846565b909650945060208701359150808211156129e557600080fd5b506129f287828801612846565b95989497509550505050565b60008060208385031215612a1157600080fd5b82356001600160401b0380821115612a2857600080fd5b818501915085601f830112612a3c57600080fd5b813581811115612a4b57600080fd5b866020828501011115612a5d57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612aa757612aa7612a6f565b60405290565b604080519081016001600160401b0381118282101715612aa757612aa7612a6f565b604051606081016001600160401b0381118282101715612aa757612aa7612a6f565b604051601f8201601f191681016001600160401b0381118282101715612b1957612b19612a6f565b604052919050565b60006001600160401b03821115612b3a57612b3a612a6f565b50601f01601f191660200190565b600082601f830112612b5957600080fd5b8135612b6c612b6782612b21565b612af1565b818152846020838601011115612b8157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612bb057600080fd5b81356001600160401b03811115612bc657600080fd5b610d2084828501612b48565b634e487b7160e01b600052602160045260246000fd5b6020810160048310612c0a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612c2357600080fd5b50508035926020909101359150565b600060408284031215612c4457600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612c6c57600080fd5b612c768c3561273c565b8b359a506001600160401b038060208e01351115612c9357600080fd5b612ca38e60208f01358f01612846565b909b50995060408d0135811015612cb957600080fd5b50612cca8d60408e01358e016127c1565b909850965060608c01359550612ce38d60808e01612c32565b945060c08c0135612cf38161273c565b9350612d0160e08d01612751565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612d3557600080fd5b610d408383612c32565b60008060408385031215612d5257600080fd5b82356001600160401b03811115612d6857600080fd5b612d7485828601612b48565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610d40565b6001600160401b038116811461123357600080fd5b600060808284031215612dd057600080fd5b612dd8612a85565b82518060070b8114612de957600080fd5b81526020830151612df981612da9565b60208201526040830151600381900b8114612e1357600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e5357600080fd5b813560048110610d4057600080fd5b600060208284031215612e7457600080fd5b8135610d408161273c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612eba57612eba612e7f565b500490565b8082018082111561059a5761059a612e95565b600381810b9083900b01637fffffff8113637fffffff198212171561059a5761059a612e95565b600060408284031215612f0b57600080fd5b612f13612aad565b82358152602083013560208201528091505092915050565b8181038181111561059a5761059a612e95565b60008160030b637fffffff198103612f5857612f58612e95565b60000392915050565b80820260008212600160ff1b84141615612f7d57612f7d612e95565b818105831482151761059a5761059a612e95565b600082612fa057612fa0612e7f565b600160ff1b821460001984141615612fba57612fba612e95565b500590565b6001600160c01b038116811461123357600080fd5b8135612fdf81612fbf565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561300c81612da9565b60c01b1617905550565b60006020828403121561302857600080fd5b8135610d4081612fbf565b60006020828403121561304557600080fd5b8135610d4081612da9565b808202811582820484141761059a5761059a612e95565b8051801515811461265257600080fd5b60006020828403121561308957600080fd5b610d4082613067565b6000602082840312156130a457600080fd5b8151610d408161273c565b60005b838110156130ca5781810151838201526020016130b2565b50506000910152565b6000608082840312156130e557600080fd5b6130ed612a85565b905081516130fa8161273c565b8152602082015161310a8161273c565b6020820152604082015161311d81612da9565b604082015261312e60608301613067565b606082015292915050565b6000602080838503121561314c57600080fd5b82516001600160401b038082111561316357600080fd5b9084019060a0828703121561317757600080fd5b61317f612aad565b82518281111561318e57600080fd5b8301606081890312156131a057600080fd5b6131a8612acf565b815160ff811681146131b957600080fd5b815281860151868201526040820151848111156131d557600080fd5b82019350601f840189136131e857600080fd5b835191506131f8612b6783612b21565b828152898784870101111561320c57600080fd5b61321b838883018988016130af565b604082015282525061322f878486016130d3565b848201528094505050505092915050565b60008082840360e081121561325457600080fd5b60c081121561326257600080fd5b61326a612acf565b84518152602085015160208201526080603f198301121561328a57600080fd5b613292612a85565b915060408501516132a28161273c565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b6000602082840312156132ef57600080fd5b8151610d4081612da9565b600181815b8085111561119957816000190482111561331b5761331b612e95565b8085161561332857918102915b93841c93908002906132ff565b6000826133445750600161059a565b816133515750600061059a565b816001811461336757600281146133715761338d565b600191505061059a565b60ff84111561338257613382612e95565b50506001821b61059a565b5060208310610133831016604e8410600b84101617156133b0575081810a61059a565b6133ba83836132fa565b80600019048211156133ce576133ce612e95565b029392505050565b6000610d4063ffffffff841683613335565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134208160178501602088016130af565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134518160288401602088016130af565b01602801949350505050565b602081526000825180602084015261347c8160408501602087016130af565b601f01601f19169190910160400192915050565b60008161349f5761349f612e95565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada264697066735822122074c77ffc438b3afa10feb9b23f689571e934dfbe3e548fb04b0995f86a5c7d8064736f6c63430008150033", + "nonce": "0x2f02f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", + "function": "upgrade(address,address)", + "arguments": [ + "0x51cAF51678f469e9DD4c878a7b0ceBEbbd4A4AB5", + "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a" + ], + "transaction": { + "type": "0x00", + "from": "0x968d0cd7343f711216817e617d3f92a23dc91c07", + "to": "0x505d91e8fd2091794b45b27f86c045529fa92cd7", + "gas": "0x12b56", + "value": "0x0", + "data": "0x99a88ec400000000000000000000000051caf51678f469e9dd4c878a7b0cebebbd4a4ab50000000000000000000000008a99fc285a90d031d9e4e328fcfcc35cb0bfb34a", + "nonce": "0x2f030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionIndex": "0x0", + "blockHash": "0x14e9911424f73ffe87db0976a445b51052a0810c4d75a235f5898df45197fc61", + "blockNumber": "0x1854162", + "from": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", + "to": null, + "cumulativeGasUsed": "0x2dfaba", + "gasUsed": "0x2dfaba", + "contractAddress": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "logs": [ + { + "address": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x14e9911424f73ffe87db0976a445b51052a0810c4d75a235f5898df45197fc61", + "blockNumber": "0x1854162", + "transactionHash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x4a817c800" + }, + { + "transactionHash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionIndex": "0x0", + "blockHash": "0xac953a15c1516b4cda23ca426dd7ae19b9b345617f4f0382596584feba322369", + "blockNumber": "0x1854163", + "from": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", + "to": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", + "cumulativeGasUsed": "0x850a", + "gasUsed": "0x850a", + "contractAddress": null, + "logs": [ + { + "address": "0x51cAF51678f469e9DD4c878a7b0ceBEbbd4A4AB5", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000008a99fc285a90d031d9e4e328fcfcc35cb0bfb34a" + ], + "data": "0x", + "blockHash": "0xac953a15c1516b4cda23ca426dd7ae19b9b345617f4f0382596584feba322369", + "blockNumber": "0x1854163", + "transactionHash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000020400000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x4a817c800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1710234981, + "chain": 2021, + "multi": false, + "commit": "399a1ef" +} \ No newline at end of file diff --git a/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-latest.json b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-latest.json index 0e84eb94..c5c4ea09 100644 --- a/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-latest.json +++ b/broadcast/01_UpgradeRNSDomainPrice_OverrideTierForCommunityNames.s.sol/2021/run-latest.json @@ -1,32 +1,54 @@ { "transactions": [ { +<<<<<<< Updated upstream "hash": "0x202d869a6cae9b23737797ed7cab835027f1cafbf4fd96188aabb9265a7fbc3a", "transactionType": "CREATE", "contractName": "RNSDomainPrice", "contractAddress": "0xc77EAbB5172037A1a82f4E6bb6813894121d8062", +======= + "hash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionType": "CREATE", + "contractName": "RNSDomainPrice", + "contractAddress": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", +>>>>>>> Stashed changes "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x968d0cd7343f711216817e617d3f92a23dc91c07", +<<<<<<< Updated upstream "gas": "0x5a1834", "value": "0x0", "data": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6133f880620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063700213c81161011a578063cff8372f116100ad578063dfef64da1161007c578063dfef64da146104e7578063e229a670146104fa578063f4651f491461050d578063f5b541a61461052e578063fe303ebf1461055557600080fd5b8063cff8372f1461049b578063d40ed58c146104ae578063d547741f146104c1578063dd28776d146104d457600080fd5b80639010d07c116100e95780639010d07c1461044257806391d148541461046d578063a217fddf14610480578063ca15c8731461048857600080fd5b8063700213c8146103df578063713a69a7146103f45780637174026e1461041c5780637e32146a1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf90914610391578063599eaabf146103b15780635c68c830146103c45780635ef32e2c146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046125de565b610568565b60405190151581526020015b60405180910390f35b61023b610236366004612608565b610593565b60405190815260200161021f565b610251610625565b60405161021f9190612621565b61023b61026c366004612608565b6000908152600160208190526040909120015490565b610295610290366004612698565b610702565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d33660046126cd565b61071e565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612741565b610749565b6102956103133660046126cd565b61075e565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f3660046127c6565b6107e1565b60405161021f9190612889565b6102956103bf3660046127c6565b61091a565b61023b6103d23660046128cf565b6109d8565b60375461023b565b61023b6000805160206133a383398151915281565b610407610402366004612a6f565b610a56565b6040805192835260208301919091520161021f565b61023b61042a366004612608565b610a82565b61023b61043d3660046128cf565b610b15565b610455610450366004612aa3565b610b8c565b6040516001600160a01b03909116815260200161021f565b61021361047b3660046126cd565b610bab565b61023b600081565b61023b610496366004612608565b610bd6565b6102956104a9366004612ac5565b610bed565b6102956104bc366004612b48565b610ced565b6102956104cf3660046126cd565b610eb5565b6102956104e2366004612ac5565b610edb565b61023b6104f5366004612a6f565b610fdc565b610295610508366004612c21565b6110c8565b61052061051b366004612c3d565b6110dc565b60405161021f929190612c81565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b610295610563366004612608565b611492565b60006001600160e01b03198216635a05180f60e01b148061058d575061058d826114a6565b92915050565b603554603a5460395460405163052571af60e51b815260009361058d93869360129384936001600160a01b03169263a4ae35e0926105dc92600401918252602082015260400190565b608060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d9190612cbc565b9291906114db565b603854606090806001600160401b0381111561064357610643612940565b60405190808252806020026020018201604052801561068857816020015b60408051808201909152600080825260208201528152602001906001900390816106615790505b5091506000805b828110156106fc57806001019150818482815181106106b0576106b0612d29565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106e6576106e6612d29565b602090810291909101810151015260010161068f565b50505090565b600061070d8161151c565b610718848484611529565b50505050565b6000828152600160208190526040909120015461073a8161151c565b610744838361159b565b505050565b60006107548161151c565b61074483836115bd565b6001600160a01b03811633146107d35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107dd82826116d6565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961080d8161151c565b600061081f8b8b8b8b8b8b8b8b6116f8565b905033816001600160401b0381111561083a5761083a612940565b604051908082528060200260200182016040528015610863578160200160208202803683370190505b50935060005b8281101561090a576108e0828e8e8481811061088757610887612d29565b905060200201358d8d858181106108a0576108a0612d29565b905060200201358c8c868181106108b9576108b9612d29565b905060200201358b8b878181106108d2576108d2612d29565b905060200201356000611746565b8582815181106108f2576108f2612d29565b91151560209283029190910190910152600101610869565b5050505098975050505050505050565b6000805160206133a38339815191526109328161151c565b60006109448a8a8a8a8a8a8a8a6116f8565b90503360005b828110156109ca576109c1828d8d8481811061096857610968612d29565b905060200201358c8c8581811061098157610981612d29565b905060200201358b8b8681811061099a5761099a612d29565b905060200201358a8a878181106109b3576109b3612d29565b905060200201356001611746565b5060010161094a565b505050505050505050505050565b6000603e6000610a1d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f57604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610a70610a6b84805160209091012090565b6117e0565b9150610a7b82610a82565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161058d918491601291829161061d91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190612cbc565b9061185a565b6000603f6000610b5a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f5760405163b34afcf160e01b815260040160405180910390fd5b6000828152600260205260408120610ba490836119b4565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061058d906119c0565b6000805160206133a3833981519152610c058161151c565b83801580610c135750808314155b15610c3157604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610c5057610c50612d29565b9050602002013519925082603f60008b8b85818110610c7157610c71612d29565b9050602002013581526020019081526020016000208190555082898983818110610c9d57610c9d612d29565b90506020020135836001600160a01b03167f5b8d0f05b93072a3e070357b7d9701f1c089233e92359bcbcb2c4b4dd182a15060405160405180910390a4600101610c36565b505050505050505050565b600054610100900460ff1615808015610d0d5750600054600160ff909116105b80610d275750303b158015610d27575060005460ff166001145b610d8a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ca565b6000805460ff191660011790558015610dad576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610e1257610e0a828f8f84818110610df057610df0612d29565b9050602002016020810190610e059190612d3f565b6119ca565b600101610dd2565b50603680546001600160a01b0319166001600160a01b038816179055610e3960008f6119ca565b610e438b8b6115bd565b610e4c896119d4565b610e5588611a09565b610e60878686611529565b505080156109ca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610ed18161151c565b61074483836116d6565b6000805160206133a3833981519152610ef38161151c565b83801580610f015750808314155b15610f1f57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610f3e57610f3e612d29565b9050602002013519925082603e60008b8b85818110610f5f57610f5f612d29565b90506020020135815260200190815260200160002081905550888882818110610f8a57610f8a612d29565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf6621485604051610fcc91815260200190565b60405180910390a3600101610f24565b80516020808301919091206000818152603f9092526040822054801561100457199392505050565b6000828152603e60205260408120549081810361105657603c600061103361102b89611a85565b603854611b73565b8152602001908152602001600020546301e133806110519190612d72565b611065565b61106582196301e13380612d72565b905060006002611074866117e0565b61107e9190612d9f565b6110889083612db3565b9050680ad78ebc5ac62000008111156110a95760015b979650505050505050565b6802b5e3af16b18800008111156110c157600261109e565b600361109e565b60006110d38161151c565b6107dd82611a09565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600061110f85611a85565b855160208701209091506000906000818152603e602052604090205490915080156111465761113f811987612d72565b8552611465565b6000603c600061115886603854611b73565b815260200190815260200160002054905080876111759190612d72565b865260006111b47fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888a6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa158015611200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112249190612dd6565b15611461576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128d9190612df1565b90506000611328826001600160a01b03166303e9e609866040518263ffffffff1660e01b81526004016112c291815260200190565b600060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612e98565b60200151604001516001600160401b03168c6001600160401b038016611b89565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113979190612f9f565b5060408101516060015190915080158015906114255750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611410919061303c565b6001600160401b03166114238285613059565b115b1561144357604051631bb03f9d60e01b815260040160405180910390fd5b61145a6037546114528b6117e0565b612710611bbf565b8b52505050505b5050505b835161147090610a82565b6020850152845161148090610a82565b60208601525092959194509092505050565b600061149d8161151c565b6107dd826119d4565b60006001600160e01b03198216637965db0b60e01b148061058d57506301ffc9a760e01b6001600160e01b031983161461058d565b600061151184611501876000015160070b8860400151866114fc919061306c565b611ca9565b61150c600187611ca9565b611bbf565b90505b949350505050565b6115268133611d03565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161158e91815260200190565b60405180910390a4505050565b6115a58282611d5c565b60008281526002602052604090206107449082611dc7565b60408051808201909152600080825260208201523390603854839060005b82811015611688578686828181106115f5576115f5612d29565b90506040020180360381019061160b9190613093565b935061161b828560000151611ddc565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161167891815260200190565b60405180910390a36001016115db565b5060385481146116ce57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6116e08282611deb565b60008281526002602052604090206107449082611e52565b868015806117065750858114155b806117115750838114155b8061171c5750818114155b1561173a57604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061175286610593565b6000888152603d60205260409020909150838061176f5750805482115b925082156117c957818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611804575060009392505050565b60006118108242613059565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611851919061271084611e67565b95945050505050565b6040805160808101825260008082526020820181905291810182905260608101919091526000611893600185604001516114fc906130c5565b90506001600160ff1b038111156118c9576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107ca565b60006118d960016114fc866130c5565b90506001600160ff1b0381111561190957604051633e87ca5d60e11b8152600385900b60048201526024016107ca565b845160009060070b61191b83856130e8565b6119259190613118565b9050677fffffffffffffff81131561197157604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107ca565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610ba48383611f32565b600061058d825490565b6107dd828261159b565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b611a16828261315b565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc64611a48602084018461319d565b611a5860408501602086016131ba565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b600080600080845190505b80831015611b6b576000858481518110611aac57611aac612d29565b01602001516001600160f81b0319169050600160ff1b811015611ad457600184019350611b5f565b600760fd1b6001600160f81b031982161015611af557600284019350611b5f565b600f60fc1b6001600160f81b031982161015611b1657600384019350611b5f565b601f60fb1b6001600160f81b031982161015611b3757600484019350611b5f565b603f60fa1b6001600160f81b031982161015611b5857600584019350611b5f565b6006840193505b50600190910190611a90565b509392505050565b6000818310611b825781610ba4565b5090919050565b600081841180611b9857508183115b15611ba4575080610ba4565b611bae8484611f5c565b905081811115610ba4575092915050565b6000808060001985870985870292508281108382030391505080600003611bf957838281611bef57611bef612d89565b0492505050610ba4565b808411611c405760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107ca565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000808260030b1215611cdb57611cbf826130c5565b611cca90600a6132bb565b611cd49084612d9f565b905061058d565b60008260030b1315611cfc57611cf282600a6132bb565b611cd49084612d72565b508161058d565b611d0d8282610bab565b6107dd57611d1a81611f70565b611d25836020611f82565b604051602001611d369291906132cd565b60408051601f198184030181529082905262461bcd60e51b82526107ca91600401613342565b611d668282610bab565b6107dd5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610ba4836001600160a01b03841661211d565b6000818311611b825781610ba4565b611df58282610bab565b156107dd5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610ba4836001600160a01b03841661216c565b60008085602001516001600160401b031683611e839190612d9f565b9050801580611e9a575085516001600160c01b0316155b15611ea85784915050611514565b85516001600160c01b03166001600160401b03851603611ecc576000915050611514565b61ffff811115611ef257604051637359f25f60e01b8152600481018290526024016107ca565b6000611f228760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611bbf565b905061109e86826127108561225f565b6000826000018281548110611f4957611f49612d29565b9060005260206000200154905092915050565b8181018281101561058d575060001961058d565b606061058d6001600160a01b03831660145b60606000611f91836002612d72565b611f9c906002612db3565b6001600160401b03811115611fb357611fb3612940565b6040519080825280601f01601f191660200182016040528015611fdd576020820181803683370190505b509050600360fc1b81600081518110611ff857611ff8612d29565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061202757612027612d29565b60200101906001600160f81b031916908160001a905350600061204b846002612d72565b612056906001612db3565b90505b60018111156120ce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061208a5761208a612d29565b1a60f81b8282815181106120a0576120a0612d29565b60200101906001600160f81b031916908160001a90535060049490941c936120c781613375565b9050612059565b508315610ba45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ca565b60008181526001830160205260408120546121645750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561058d565b50600061058d565b60008181526001830160205260408120548015612255576000612190600183613059565b85549091506000906121a490600190613059565b90508181146122095760008660000182815481106121c4576121c4612d29565b90600052602060002001549050808760000184815481106121e7576121e7612d29565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061221a5761221a61338c565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061058d565b600091505061058d565b600082841480612271575061ffff8216155b1561227d575083611514565b5083600080808061229e61ffff87166122958a6123c2565b61ffff16611b73565b90505b61ffff8116156122f4576122bb8561ffff83168a0a612593565b909450925083156122d457829450808603955080820191505b6122ed600261ffff83160461ffff168761ffff16611b73565b90506122a1565b505b61ffff8516156123675761230a8488612593565b90935091508215612329576000199094019390925082906001016122f6565b61ffff81161561234e5785848161234257612342612d89565b049350600019016122f6565b612359848888611bbf565b6000199095019493506122f6565b6000612372876123c2565b90505b61ffff8216156123b65760006123938261ffff168461ffff16611b73565b90508061ffff16880a86816123aa576123aa612d89565b04955090910390612375565b50505050949350505050565b600060038210156123d5575060ff919050565b60048210156123e657506080919050565b60108210156123f757506040919050565b61010082101561240957506020919050565b611bdc82101561241b57506014919050565b612c7082101561242d57506013919050565b614aa982101561243f57506012919050565b61855482101561245157506011919050565b6201000082101561246457506010919050565b620218378210156124775750600f919050565b6204e04682101561248a5750600e919050565b620ced4c82101561249d5750600d919050565b622851468210156124b05750600c919050565b629aa2ad8210156124c35750600b919050565b6303080c018210156124d75750600a919050565b6315c5cbbd8210156124eb57506009919050565b64010000000082101561250057506008919050565b6417c6a1f29f82101561251557506007919050565b6506597fa94f5c82101561252b57506006919050565b66093088c35d733b82101561254257506005919050565b6801000000000000000082101561255b57506004919050565b6a285145f31ae515c447bb5782101561257657506003919050565b600160801b82101561258a57506002919050565b5060015b919050565b600080836000036125aa57506001905060006125d7565b838302838582816125bd576125bd612d89565b04146125d05760008092509250506125d7565b6001925090505b9250929050565b6000602082840312156125f057600080fd5b81356001600160e01b031981168114610ba457600080fd5b60006020828403121561261a57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561266b5761265b84835180518252602090810151910152565b928401929085019060010161263e565b5091979650505050505050565b6001600160a01b038116811461152657600080fd5b803561258e81612678565b6000806000606084860312156126ad57600080fd5b83356126b881612678565b95602085013595506040909401359392505050565b600080604083850312156126e057600080fd5b8235915060208301356126f281612678565b809150509250929050565b60008083601f84011261270f57600080fd5b5081356001600160401b0381111561272657600080fd5b6020830191508360208260061b85010111156125d757600080fd5b6000806020838503121561275457600080fd5b82356001600160401b0381111561276a57600080fd5b612776858286016126fd565b90969095509350505050565b60008083601f84011261279457600080fd5b5081356001600160401b038111156127ab57600080fd5b6020830191508360208260051b85010111156125d757600080fd5b6000806000806000806000806080898b0312156127e257600080fd5b88356001600160401b03808211156127f957600080fd5b6128058c838d01612782565b909a50985060208b013591508082111561281e57600080fd5b61282a8c838d01612782565b909850965060408b013591508082111561284357600080fd5b61284f8c838d01612782565b909650945060608b013591508082111561286857600080fd5b506128758b828c01612782565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156128c35783511515835292840192918401916001016128a5565b50909695505050505050565b600080602083850312156128e257600080fd5b82356001600160401b03808211156128f957600080fd5b818501915085601f83011261290d57600080fd5b81358181111561291c57600080fd5b86602082850101111561292e57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561297857612978612940565b60405290565b604080519081016001600160401b038111828210171561297857612978612940565b604051606081016001600160401b038111828210171561297857612978612940565b604051601f8201601f191681016001600160401b03811182821017156129ea576129ea612940565b604052919050565b60006001600160401b03821115612a0b57612a0b612940565b50601f01601f191660200190565b600082601f830112612a2a57600080fd5b8135612a3d612a38826129f2565b6129c2565b818152846020838601011115612a5257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612a8157600080fd5b81356001600160401b03811115612a9757600080fd5b61151484828501612a19565b60008060408385031215612ab657600080fd5b50508035926020909101359150565b60008060008060408587031215612adb57600080fd5b84356001600160401b0380821115612af257600080fd5b612afe88838901612782565b90965094506020870135915080821115612b1757600080fd5b50612b2487828801612782565b95989497509550505050565b600060408284031215612b4257600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612b6a57600080fd5b612b748c35612678565b8b359a506001600160401b038060208e01351115612b9157600080fd5b612ba18e60208f01358f01612782565b909b50995060408d0135811015612bb757600080fd5b50612bc88d60408e01358e016126fd565b909850965060608c01359550612be18d60808e01612b30565b945060c08c0135612bf181612678565b9350612bff60e08d0161268d565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612c3357600080fd5b610ba48383612b30565b60008060408385031215612c5057600080fd5b82356001600160401b03811115612c6657600080fd5b612c7285828601612a19565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610ba4565b6001600160401b038116811461152657600080fd5b600060808284031215612cce57600080fd5b612cd6612956565b82518060070b8114612ce757600080fd5b81526020830151612cf781612ca7565b60208201526040830151600381900b8114612d1157600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612d5157600080fd5b8135610ba481612678565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761058d5761058d612d5c565b634e487b7160e01b600052601260045260246000fd5b600082612dae57612dae612d89565b500490565b8082018082111561058d5761058d612d5c565b8051801515811461258e57600080fd5b600060208284031215612de857600080fd5b610ba482612dc6565b600060208284031215612e0357600080fd5b8151610ba481612678565b60005b83811015612e29578181015183820152602001612e11565b50506000910152565b600060808284031215612e4457600080fd5b612e4c612956565b90508151612e5981612678565b81526020820151612e6981612678565b60208201526040820151612e7c81612ca7565b6040820152612e8d60608301612dc6565b606082015292915050565b60006020808385031215612eab57600080fd5b82516001600160401b0380821115612ec257600080fd5b9084019060a08287031215612ed657600080fd5b612ede61297e565b825182811115612eed57600080fd5b830160608189031215612eff57600080fd5b612f076129a0565b815160ff81168114612f1857600080fd5b81528186015186820152604082015184811115612f3457600080fd5b82019350601f84018913612f4757600080fd5b83519150612f57612a38836129f2565b8281528987848701011115612f6b57600080fd5b612f7a83888301898801612e0e565b6040820152825250612f8e87848601612e32565b848201528094505050505092915050565b60008082840360e0811215612fb357600080fd5b60c0811215612fc157600080fd5b612fc96129a0565b84518152602085015160208201526080603f1983011215612fe957600080fd5b612ff1612956565b9150604085015161300181612678565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b60006020828403121561304e57600080fd5b8151610ba481612ca7565b8181038181111561058d5761058d612d5c565b600381810b9083900b01637fffffff8113637fffffff198212171561058d5761058d612d5c565b6000604082840312156130a557600080fd5b6130ad61297e565b82358152602083013560208201528091505092915050565b60008160030b637fffffff1981036130df576130df612d5c565b60000392915050565b80820260008212600160ff1b8414161561310457613104612d5c565b818105831482151761058d5761058d612d5c565b60008261312757613127612d89565b600160ff1b82146000198414161561314157613141612d5c565b500590565b6001600160c01b038116811461152657600080fd5b813561316681613146565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561319381612ca7565b60c01b1617905550565b6000602082840312156131af57600080fd5b8135610ba481613146565b6000602082840312156131cc57600080fd5b8135610ba481612ca7565b600181815b808511156132125781600019048211156131f8576131f8612d5c565b8085161561320557918102915b93841c93908002906131dc565b509250929050565b6000826132295750600161058d565b816132365750600061058d565b816001811461324c576002811461325657613272565b600191505061058d565b60ff84111561326757613267612d5c565b50506001821b61058d565b5060208310610133831016604e8410600b8410161715613295575081810a61058d565b61329f83836131d7565b80600019048211156132b3576132b3612d5c565b029392505050565b6000610ba463ffffffff84168361321a565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613305816017850160208801612e0e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613336816028840160208801612e0e565b01602801949350505050565b6020815260008251806020840152613361816040850160208701612e0e565b601f01601f19169190910160400192915050565b60008161338457613384612d5c565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada2646970667358221220aa4555fbe062e1770c4b5761698a653314b019545fd8833721e1e457c7ea7bac64736f6c63430008150033", "nonce": "0x2e917" +======= + "gas": "0x5bf574", + "value": "0x0", + "data": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61351380620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635ef32e2c1161011a578063ca15c873116100ad578063dfef64da1161007c578063dfef64da146104f4578063e229a67014610507578063f4651f491461051a578063f5b541a61461053b578063fe303ebf1461056257600080fd5b8063ca15c873146104a8578063d40ed58c146104bb578063d547741f146104ce578063dd28776d146104e157600080fd5b80637e32146a116100e95780637e32146a146104425780639010d07c1461046257806391d148541461048d578063a217fddf146104a057600080fd5b80635ef32e2c146103ea578063700213c8146103f2578063713a69a7146104075780637174026e1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf9091461039157806359228107146103b1578063599eaabf146103c45780635c68c830146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046126a2565b610575565b60405190151581526020015b60405180910390f35b61023b6102363660046126cc565b6105a0565b60405190815260200161021f565b610251610632565b60405161021f91906126e5565b61023b61026c3660046126cc565b6000908152600160208190526040909120015490565b61029561029036600461275c565b61070f565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d3366004612791565b61072b565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612805565b610756565b610295610313366004612791565b61076b565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f36600461288a565b6107ee565b60405161021f919061294d565b6102956103bf366004612993565b610927565b6102956103d236600461288a565b610a91565b61023b6103e53660046129fe565b610b4f565b60375461023b565b61023b6000805160206134be83398151915281565b61041a610415366004612b9e565b610bcd565b6040805192835260208301919091520161021f565b61023b61043d3660046126cc565b610bf9565b6104556104503660046129fe565b610c8c565b60405161021f9190612be8565b610475610470366004612c10565b610d28565b6040516001600160a01b03909116815260200161021f565b61021361049b366004612791565b610d47565b61023b600081565b61023b6104b63660046126cc565b610d72565b6102956104c9366004612c4a565b610d89565b6102956104dc366004612791565b610f51565b6102956104ef366004612993565b610f77565b610455610502366004612b9e565b611078565b610295610515366004612d23565b611130565b61052d610528366004612d3f565b611144565b60405161021f929190612d83565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6102956105703660046126cc565b6111a1565b60006001600160e01b03198216635a05180f60e01b148061059a575061059a826111b5565b92915050565b603554603a5460395460405163052571af60e51b815260009361059a93869360129384936001600160a01b03169263a4ae35e0926105e992600401918252602082015260400190565b608060405180830381865afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190612dbe565b9291906111ea565b603854606090806001600160401b0381111561065057610650612a6f565b60405190808252806020026020018201604052801561069557816020015b604080518082019091526000808252602082015281526020019060019003908161066e5790505b5091506000805b8281101561070957806001019150818482815181106106bd576106bd612e2b565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106f3576106f3612e2b565b602090810291909101810151015260010161069c565b50505090565b600061071a81611229565b610725848484611236565b50505050565b6000828152600160208190526040909120015461074781611229565b61075183836112a8565b505050565b600061076181611229565b61075183836112ca565b6001600160a01b03811633146107e05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107ea82826113e3565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961081a81611229565b600061082c8b8b8b8b8b8b8b8b611405565b905033816001600160401b0381111561084757610847612a6f565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50935060005b82811015610917576108ed828e8e8481811061089457610894612e2b565b905060200201358d8d858181106108ad576108ad612e2b565b905060200201358c8c868181106108c6576108c6612e2b565b905060200201358b8b878181106108df576108df612e2b565b905060200201356000611453565b8582815181106108ff576108ff612e2b565b91151560209283029190910190910152600101610876565b5050505098975050505050505050565b6000805160206134be83398151915261093f81611229565b8380158061094d5750808314155b1561096b57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a865786868281811061098a5761098a612e2b565b905060200201602081019061099f9190612e41565b60038111156109b0576109b0612bd2565b19925082603f60008b8b858181106109ca576109ca612e2b565b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550868682818110610a0957610a09612e2b565b9050602002016020810190610a1e9190612e41565b6003811115610a2f57610a2f612bd2565b898983818110610a4157610a41612e2b565b90506020020135836001600160a01b03167f3f340e5d69d5f452290191bb7d417287ccd8896c4e4852a95c3702a834993ab160405160405180910390a4600101610970565b505050505050505050565b6000805160206134be833981519152610aa981611229565b6000610abb8a8a8a8a8a8a8a8a611405565b90503360005b82811015610b4157610b38828d8d84818110610adf57610adf612e2b565b905060200201358c8c85818110610af857610af8612e2b565b905060200201358b8b86818110610b1157610b11612e2b565b905060200201358a8a87818110610b2a57610b2a612e2b565b905060200201356001611453565b50600101610ac1565b505050505050505050505050565b6000603e6000610b9485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b815260200190815260200160002054905080600003610bc657604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610be7610be284805160209091012090565b6114ed565b9150610bf282610bf9565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161059a918491601291829161062a91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c869190612dbe565b9061155e565b600080603f6000610cd286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b8152602081019190915260400160009081205460ff169150819003610d0a5760405163b34afcf160e01b815260040160405180910390fd5b801960ff166003811115610d2057610d20612bd2565b949350505050565b6000828152600260205260408120610d4090836116b8565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061059a906116c4565b600054610100900460ff1615808015610da95750600054600160ff909116105b80610dc35750303b158015610dc3575060005460ff166001145b610e265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d7565b6000805460ff191660011790558015610e49576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610eae57610ea6828f8f84818110610e8c57610e8c612e2b565b9050602002016020810190610ea19190612e62565b6116ce565b600101610e6e565b50603680546001600160a01b0319166001600160a01b038816179055610ed560008f6116ce565b610edf8b8b6112ca565b610ee8896116d8565b610ef18861170d565b610efc878686611236565b50508015610b41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610f6d81611229565b61075183836113e3565b6000805160206134be833981519152610f8f81611229565b83801580610f9d5750808314155b15610fbb57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a8657868682818110610fda57610fda612e2b565b9050602002013519925082603e60008b8b85818110610ffb57610ffb612e2b565b9050602002013581526020019081526020016000208190555088888281811061102657611026612e2b565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf662148560405161106891815260200190565b60405180910390a3600101610fc0565b80516020808301919091206000818152603f909252604082205460ff1680156110b157801960ff166003811115610d2057610d20612bd2565b60006110c1856301e13380611789565b50509050600060026110d2856114ed565b6110dc9190612eab565b82516110e89190612ebf565b9050680ad78ebc5ac62000008111156111075750600195945050505050565b6802b5e3af16b18800008111156111245750600295945050505050565b50600395945050505050565b600061113b81611229565b6107ea8261170d565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260006111788585611789565b919450925090506001600160e01b0319811615611199578060005260046000fd5b509250929050565b60006111ac81611229565b6107ea826116d8565b60006001600160e01b03198216637965db0b60e01b148061059a57506301ffc9a760e01b6001600160e01b031983161461059a565b600061122084611210876000015160070b88604001518661120b9190612ed2565b611b3f565b61121b600187611b3f565b611b99565b95945050505050565b6112338133611c82565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161129b91815260200190565b60405180910390a4505050565b6112b28282611cdb565b60008281526002602052604090206107519082611d46565b60408051808201909152600080825260208201523390603854839060005b828110156113955786868281811061130257611302612e2b565b9050604002018036038101906113189190612ef9565b9350611328828560000151611d5b565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161138591815260200190565b60405180910390a36001016112e8565b5060385481146113db57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6113ed8282611d71565b60008281526002602052604090206107519082611dd8565b868015806114135750858114155b8061141e5750838114155b806114295750818114155b1561144757604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061145f866105a0565b6000888152603d60205260409020909150838061147c5750805482115b925082156114d657818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611511575060009392505050565b600061151d8242612f2b565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611220919061271084611ded565b60408051608081018252600080825260208201819052918101829052606081019190915260006115976001856040015161120b90612f3e565b90506001600160ff1b038111156115cd576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107d7565b60006115dd600161120b86612f3e565b90506001600160ff1b0381111561160d57604051633e87ca5d60e11b8152600385900b60048201526024016107d7565b845160009060070b61161f8385612f61565b6116299190612f91565b9050677fffffffffffffff81131561167557604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107d7565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610d408383611ec3565b600061059a825490565b6107ea82826112a8565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b61171a8282612fd4565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc6461174c6020840184613016565b61175c6040850160208601613033565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b604080518082019091526000808252602082015260408051808201909152600080825260208201526000806117bd86611eed565b865160208801209091506000906000818152603e602052604090205490915080156117f4576117ed811988613050565b8652611b14565b6000603c600061180686603854611fdb565b815260200190815260200160002054905080886118239190613050565b875260006118627fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888b6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d29190613077565b15611b10576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613092565b905060006119d6826001600160a01b03166303e9e609866040518263ffffffff1660e01b815260040161197091815260200190565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b59190810190613139565b60200151604001516001600160401b03168d6001600160401b038016611fea565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190613240565b506040810151606001519091508015801590611ad35750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906132dd565b6001600160401b0316611ad18285612f2b565b115b15611af25750631bb03f9d60e01b9950611b3898505050505050505050565b611b09603754611b018b6114ed565b612710611b99565b8c52505050505b5050505b8451611b1f90610bf9565b60208601528551611b2f90610bf9565b60208701525050505b9250925092565b6000808260030b1215611b7157611b5582612f3e565b611b6090600a6133d6565b611b6a9084612eab565b905061059a565b60008260030b1315611b9257611b8882600a6133d6565b611b6a9084613050565b508161059a565b6000808060001985870985870292508281108382030391505080600003611bd357838281611bc957611bc9612e7f565b0492505050610d40565b808411611c1a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107d7565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b611c8c8282610d47565b6107ea57611c9981612020565b611ca4836020612032565b604051602001611cb59291906133e8565b60408051601f198184030181529082905262461bcd60e51b82526107d79160040161345d565b611ce58282610d47565b6107ea5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610d40836001600160a01b0384166121cd565b6000818311611d6a5781610d40565b5090919050565b611d7b8282610d47565b156107ea5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d40836001600160a01b03841661221c565b60008085602001516001600160401b031683611e099190612eab565b9050801580611e20575085516001600160c01b0316155b15611e2e5784915050610d20565b85516001600160c01b03166001600160401b03851603611e52576000915050610d20565b61ffff811115611e7857604051637359f25f60e01b8152600481018290526024016107d7565b6000611ea88760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611b99565b9050611eb886826127108561230f565b979650505050505050565b6000826000018281548110611eda57611eda612e2b565b9060005260206000200154905092915050565b600080600080845190505b80831015611fd3576000858481518110611f1457611f14612e2b565b01602001516001600160f81b0319169050600160ff1b811015611f3c57600184019350611fc7565b600760fd1b6001600160f81b031982161015611f5d57600284019350611fc7565b600f60fc1b6001600160f81b031982161015611f7e57600384019350611fc7565b601f60fb1b6001600160f81b031982161015611f9f57600484019350611fc7565b603f60fa1b6001600160f81b031982161015611fc057600584019350611fc7565b6006840193505b50600190910190611ef8565b509392505050565b6000818310611d6a5781610d40565b600081841180611ff957508183115b15612005575080610d40565b61200f8484612472565b905081811115610d40575080610d40565b606061059a6001600160a01b03831660145b60606000612041836002613050565b61204c906002612ebf565b6001600160401b0381111561206357612063612a6f565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b509050600360fc1b816000815181106120a8576120a8612e2b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d7576120d7612e2b565b60200101906001600160f81b031916908160001a90535060006120fb846002613050565b612106906001612ebf565b90505b600181111561217e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061213a5761213a612e2b565b1a60f81b82828151811061215057612150612e2b565b60200101906001600160f81b031916908160001a90535060049490941c9361217781613490565b9050612109565b508315610d405760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d7565b60008181526001830160205260408120546122145750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059a565b50600061059a565b60008181526001830160205260408120548015612305576000612240600183612f2b565b855490915060009061225490600190612f2b565b90508181146122b957600086600001828154811061227457612274612e2b565b906000526020600020015490508087600001848154811061229757612297612e2b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122ca576122ca6134a7565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059a565b600091505061059a565b600082841480612321575061ffff8216155b1561232d575083610d20565b5083600080808061234e61ffff87166123458a612486565b61ffff16611fdb565b90505b61ffff8116156123a45761236b8561ffff83168a0a612657565b9094509250831561238457829450808603955080820191505b61239d600261ffff83160461ffff168761ffff16611fdb565b9050612351565b505b61ffff851615612417576123ba8488612657565b909350915082156123d9576000199094019390925082906001016123a6565b61ffff8116156123fe578584816123f2576123f2612e7f565b049350600019016123a6565b612409848888611b99565b6000199095019493506123a6565b600061242287612486565b90505b61ffff8216156124665760006124438261ffff168461ffff16611fdb565b90508061ffff16880a868161245a5761245a612e7f565b04955090910390612425565b50505050949350505050565b8181018281101561059a575060001961059a565b60006003821015612499575060ff919050565b60048210156124aa57506080919050565b60108210156124bb57506040919050565b6101008210156124cd57506020919050565b611bdc8210156124df57506014919050565b612c708210156124f157506013919050565b614aa982101561250357506012919050565b61855482101561251557506011919050565b6201000082101561252857506010919050565b6202183782101561253b5750600f919050565b6204e04682101561254e5750600e919050565b620ced4c8210156125615750600d919050565b622851468210156125745750600c919050565b629aa2ad8210156125875750600b919050565b6303080c0182101561259b5750600a919050565b6315c5cbbd8210156125af57506009919050565b6401000000008210156125c457506008919050565b6417c6a1f29f8210156125d957506007919050565b6506597fa94f5c8210156125ef57506006919050565b66093088c35d733b82101561260657506005919050565b6801000000000000000082101561261f57506004919050565b6a285145f31ae515c447bb5782101561263a57506003919050565b600160801b82101561264e57506002919050565b5060015b919050565b6000808360000361266e575060019050600061269b565b8383028385828161268157612681612e7f565b041461269457600080925092505061269b565b6001925090505b9250929050565b6000602082840312156126b457600080fd5b81356001600160e01b031981168114610d4057600080fd5b6000602082840312156126de57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561272f5761271f84835180518252602090810151910152565b9284019290850190600101612702565b5091979650505050505050565b6001600160a01b038116811461123357600080fd5b80356126528161273c565b60008060006060848603121561277157600080fd5b833561277c8161273c565b95602085013595506040909401359392505050565b600080604083850312156127a457600080fd5b8235915060208301356127b68161273c565b809150509250929050565b60008083601f8401126127d357600080fd5b5081356001600160401b038111156127ea57600080fd5b6020830191508360208260061b850101111561269b57600080fd5b6000806020838503121561281857600080fd5b82356001600160401b0381111561282e57600080fd5b61283a858286016127c1565b90969095509350505050565b60008083601f84011261285857600080fd5b5081356001600160401b0381111561286f57600080fd5b6020830191508360208260051b850101111561269b57600080fd5b6000806000806000806000806080898b0312156128a657600080fd5b88356001600160401b03808211156128bd57600080fd5b6128c98c838d01612846565b909a50985060208b01359150808211156128e257600080fd5b6128ee8c838d01612846565b909850965060408b013591508082111561290757600080fd5b6129138c838d01612846565b909650945060608b013591508082111561292c57600080fd5b506129398b828c01612846565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b81811015612987578351151583529284019291840191600101612969565b50909695505050505050565b600080600080604085870312156129a957600080fd5b84356001600160401b03808211156129c057600080fd5b6129cc88838901612846565b909650945060208701359150808211156129e557600080fd5b506129f287828801612846565b95989497509550505050565b60008060208385031215612a1157600080fd5b82356001600160401b0380821115612a2857600080fd5b818501915085601f830112612a3c57600080fd5b813581811115612a4b57600080fd5b866020828501011115612a5d57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612aa757612aa7612a6f565b60405290565b604080519081016001600160401b0381118282101715612aa757612aa7612a6f565b604051606081016001600160401b0381118282101715612aa757612aa7612a6f565b604051601f8201601f191681016001600160401b0381118282101715612b1957612b19612a6f565b604052919050565b60006001600160401b03821115612b3a57612b3a612a6f565b50601f01601f191660200190565b600082601f830112612b5957600080fd5b8135612b6c612b6782612b21565b612af1565b818152846020838601011115612b8157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612bb057600080fd5b81356001600160401b03811115612bc657600080fd5b610d2084828501612b48565b634e487b7160e01b600052602160045260246000fd5b6020810160048310612c0a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612c2357600080fd5b50508035926020909101359150565b600060408284031215612c4457600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612c6c57600080fd5b612c768c3561273c565b8b359a506001600160401b038060208e01351115612c9357600080fd5b612ca38e60208f01358f01612846565b909b50995060408d0135811015612cb957600080fd5b50612cca8d60408e01358e016127c1565b909850965060608c01359550612ce38d60808e01612c32565b945060c08c0135612cf38161273c565b9350612d0160e08d01612751565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612d3557600080fd5b610d408383612c32565b60008060408385031215612d5257600080fd5b82356001600160401b03811115612d6857600080fd5b612d7485828601612b48565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610d40565b6001600160401b038116811461123357600080fd5b600060808284031215612dd057600080fd5b612dd8612a85565b82518060070b8114612de957600080fd5b81526020830151612df981612da9565b60208201526040830151600381900b8114612e1357600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e5357600080fd5b813560048110610d4057600080fd5b600060208284031215612e7457600080fd5b8135610d408161273c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612eba57612eba612e7f565b500490565b8082018082111561059a5761059a612e95565b600381810b9083900b01637fffffff8113637fffffff198212171561059a5761059a612e95565b600060408284031215612f0b57600080fd5b612f13612aad565b82358152602083013560208201528091505092915050565b8181038181111561059a5761059a612e95565b60008160030b637fffffff198103612f5857612f58612e95565b60000392915050565b80820260008212600160ff1b84141615612f7d57612f7d612e95565b818105831482151761059a5761059a612e95565b600082612fa057612fa0612e7f565b600160ff1b821460001984141615612fba57612fba612e95565b500590565b6001600160c01b038116811461123357600080fd5b8135612fdf81612fbf565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561300c81612da9565b60c01b1617905550565b60006020828403121561302857600080fd5b8135610d4081612fbf565b60006020828403121561304557600080fd5b8135610d4081612da9565b808202811582820484141761059a5761059a612e95565b8051801515811461265257600080fd5b60006020828403121561308957600080fd5b610d4082613067565b6000602082840312156130a457600080fd5b8151610d408161273c565b60005b838110156130ca5781810151838201526020016130b2565b50506000910152565b6000608082840312156130e557600080fd5b6130ed612a85565b905081516130fa8161273c565b8152602082015161310a8161273c565b6020820152604082015161311d81612da9565b604082015261312e60608301613067565b606082015292915050565b6000602080838503121561314c57600080fd5b82516001600160401b038082111561316357600080fd5b9084019060a0828703121561317757600080fd5b61317f612aad565b82518281111561318e57600080fd5b8301606081890312156131a057600080fd5b6131a8612acf565b815160ff811681146131b957600080fd5b815281860151868201526040820151848111156131d557600080fd5b82019350601f840189136131e857600080fd5b835191506131f8612b6783612b21565b828152898784870101111561320c57600080fd5b61321b838883018988016130af565b604082015282525061322f878486016130d3565b848201528094505050505092915050565b60008082840360e081121561325457600080fd5b60c081121561326257600080fd5b61326a612acf565b84518152602085015160208201526080603f198301121561328a57600080fd5b613292612a85565b915060408501516132a28161273c565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b6000602082840312156132ef57600080fd5b8151610d4081612da9565b600181815b8085111561119957816000190482111561331b5761331b612e95565b8085161561332857918102915b93841c93908002906132ff565b6000826133445750600161059a565b816133515750600061059a565b816001811461336757600281146133715761338d565b600191505061059a565b60ff84111561338257613382612e95565b50506001821b61059a565b5060208310610133831016604e8410600b84101617156133b0575081810a61059a565b6133ba83836132fa565b80600019048211156133ce576133ce612e95565b029392505050565b6000610d4063ffffffff841683613335565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134208160178501602088016130af565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134518160288401602088016130af565b01602801949350505050565b602081526000825180602084015261347c8160408501602087016130af565b601f01601f19169190910160400192915050565b60008161349f5761349f612e95565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada264697066735822122074c77ffc438b3afa10feb9b23f689571e934dfbe3e548fb04b0995f86a5c7d8064736f6c63430008150033", + "nonce": "0x2f02f" +>>>>>>> Stashed changes }, "additionalContracts": [], "isFixedGasLimit": false }, { +<<<<<<< Updated upstream "hash": "0x2adc7e403c3ba4bfecd0a1dc476bdb337dcd4dbc2211b5cf25353a73f5d733cd", +======= + "hash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", +>>>>>>> Stashed changes "transactionType": "CALL", "contractName": null, "contractAddress": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", "function": "upgrade(address,address)", "arguments": [ "0x51cAF51678f469e9DD4c878a7b0ceBEbbd4A4AB5", +<<<<<<< Updated upstream "0xc77EAbB5172037A1a82f4E6bb6813894121d8062" +======= + "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a" +>>>>>>> Stashed changes ], "transaction": { "type": "0x00", @@ -34,6 +56,7 @@ "to": "0x505d91e8fd2091794b45b27f86c045529fa92cd7", "gas": "0x12b56", "value": "0x0", +<<<<<<< Updated upstream "data": "0x99a88ec400000000000000000000000051caf51678f469e9dd4c878a7b0cebebbd4a4ab5000000000000000000000000c77eabb5172037a1a82f4e6bb6813894121d8062", "nonce": "0x2e918" }, @@ -168,6 +191,10 @@ "value": "0x0", "data": "0xcff8372f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000011dc83a4303c489421ea5e90bdbb15421f0d3fbc64f47c58a627a82d6cfac2b6ba18764c22eba517ea6229f5d4aa8f580ae459fdf677e2cc35f5d4cfb264a275aa241349b27ab57d6beb203abd1d857f262e1fca381dfe16b98409f0511fce290d0565e6d377a680675ce258c7ff7426ad6f342a96bb963288584b2860332dbf6887acb5dc1b98b38c9e55e7f54ac9b5a50a8749fcef04e08c1a5e7ffff69bf550c7727a3655d075d9df90d4ba39f877416288b888940749a23b935319453421055b6caa0dba9226c4001492be8f394cf6c745194c6eb8919f5ab05d206d81112a90c1901ac29642f2ee3e8602932827ea0df7bee2cca9a602678c5e6679c7106b74ef2a02584ead6bd7bd3952ee93a94bb8dd516b40a92673e2f662432cfefc09c1752c3b46bc462b7745806118d3685a942204d14aa1d9244f65f67b2459fe036cde42598744e7e5302f114bd0c7a622d11752740d183064423e2c29e969523bfcd4e4930772c9c111d002f16f5614260c7e821e47a6b48c0a314f138d451804dae40eb5997dc7285dca1b2622cfdc2e3a32aa47ddd868fb1239958dedb13aa5b0244a395a18eeab36bd1faf0fee91d7c74985753494fcc35735e717bffd84f1698a05f32f8243b543fbac6a3b5357d6213a553322bb61ef8ec6aa3cad279ba37f47e1d0b4490bade33807d567dccad48d980c4a6dfeb32046335bb3e6251699cec7cd2eb783dc77c33a2869aa06804b8a26e4f40f8d528912b826ba56fd0266000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x2e91e" +======= + "data": "0x99a88ec400000000000000000000000051caf51678f469e9dd4c878a7b0cebebbd4a4ab50000000000000000000000008a99fc285a90d031d9e4e328fcfcc35cb0bfb34a", + "nonce": "0x2f030" +>>>>>>> Stashed changes }, "additionalContracts": [], "isFixedGasLimit": false @@ -175,6 +202,7 @@ ], "receipts": [ { +<<<<<<< Updated upstream "transactionHash": "0x202d869a6cae9b23737797ed7cab835027f1cafbf4fd96188aabb9265a7fbc3a", "transactionIndex": "0x1", "blockHash": "0x697b8884208ae91a990c0dd57d778cdb0a766dc10961ef0692d965aa8571f1f2", @@ -187,24 +215,51 @@ "logs": [ { "address": "0xc77EAbB5172037A1a82f4E6bb6813894121d8062", +======= + "transactionHash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionIndex": "0x0", + "blockHash": "0x14e9911424f73ffe87db0976a445b51052a0810c4d75a235f5898df45197fc61", + "blockNumber": "0x1854162", + "from": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", + "to": null, + "cumulativeGasUsed": "0x2dfaba", + "gasUsed": "0x2dfaba", + "contractAddress": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "logs": [ + { + "address": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", +>>>>>>> Stashed changes "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", +<<<<<<< Updated upstream "blockHash": "0x697b8884208ae91a990c0dd57d778cdb0a766dc10961ef0692d965aa8571f1f2", "blockNumber": "0x17c6d35", "transactionHash": "0x202d869a6cae9b23737797ed7cab835027f1cafbf4fd96188aabb9265a7fbc3a", "transactionIndex": "0x1", "logIndex": "0x3", +======= + "blockHash": "0x14e9911424f73ffe87db0976a445b51052a0810c4d75a235f5898df45197fc61", + "blockNumber": "0x1854162", + "transactionHash": "0xe1d34b660c74fe27dab2d792763a87a1768319d28ed62d93ba1f0045c1514cd5", + "transactionIndex": "0x0", + "logIndex": "0x0", +>>>>>>> Stashed changes "removed": false } ], "status": "0x1", +<<<<<<< Updated upstream "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000001000000000000000000000000000000001000000000000000000000040000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000", +======= + "logsBloom": "0x00000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", +>>>>>>> Stashed changes "type": "0x0", "effectiveGasPrice": "0x4a817c800" }, { +<<<<<<< Updated upstream "transactionHash": "0x2adc7e403c3ba4bfecd0a1dc476bdb337dcd4dbc2211b5cf25353a73f5d733cd", "transactionIndex": "0x2", "blockHash": "0x697b8884208ae91a990c0dd57d778cdb0a766dc10961ef0692d965aa8571f1f2", @@ -212,6 +267,15 @@ "from": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", "to": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", "cumulativeGasUsed": "0x3591c7", +======= + "transactionHash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionIndex": "0x0", + "blockHash": "0xac953a15c1516b4cda23ca426dd7ae19b9b345617f4f0382596584feba322369", + "blockNumber": "0x1854163", + "from": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", + "to": "0x505d91E8fd2091794b45b27f86C045529fa92CD7", + "cumulativeGasUsed": "0x850a", +>>>>>>> Stashed changes "gasUsed": "0x850a", "contractAddress": null, "logs": [ @@ -219,6 +283,7 @@ "address": "0x51cAF51678f469e9DD4c878a7b0ceBEbbd4A4AB5", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", +<<<<<<< Updated upstream "0x000000000000000000000000c77eabb5172037a1a82f4e6bb6813894121d8062" ], "data": "0x", @@ -8606,6 +8671,21 @@ ], "status": "0x1", "logsBloom": "0x0000000000100080000000000000023000000000400000000000001008004000000400000000000000000408200000200000000000000000008000000000000000000000000000000020080000000000000000000008121080000000000000000090000000000000100000010010000000000000000000000000200000000008000000000030000000004000400020000000080040000000000000000004000000a000000000000000080001000000080008020800000004000020000000080000040000000000002040000400000000000000000040000000010000000200004000000000000000000000200000000000000020000010040000000000002000", +======= + "0x0000000000000000000000008a99fc285a90d031d9e4e328fcfcc35cb0bfb34a" + ], + "data": "0x", + "blockHash": "0xac953a15c1516b4cda23ca426dd7ae19b9b345617f4f0382596584feba322369", + "blockNumber": "0x1854163", + "transactionHash": "0x4c811d1d3597419b034940df28d0b8ded551f34e46bbf759a4b9aea206723d1e", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000020400000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", +>>>>>>> Stashed changes "type": "0x0", "effectiveGasPrice": "0x4a817c800" } @@ -8613,8 +8693,15 @@ "libraries": [], "pending": [], "returns": {}, +<<<<<<< Updated upstream "timestamp": 1708497849, "chain": 2021, "multi": false, "commit": "2b934a1" +======= + "timestamp": 1710234981, + "chain": 2021, + "multi": false, + "commit": "399a1ef" +>>>>>>> Stashed changes } \ No newline at end of file diff --git a/deployments/ronin-testnet/RNSDomainPriceLogic.json b/deployments/ronin-testnet/RNSDomainPriceLogic.json index e772a352..d973275c 100644 --- a/deployments/ronin-testnet/RNSDomainPriceLogic.json +++ b/deployments/ronin-testnet/RNSDomainPriceLogic.json @@ -99,8 +99,13 @@ }, { "name": "tiers", +<<<<<<< Updated upstream "type": "uint256[]", "internalType": "uint256[]" +======= + "type": "uint8[]", + "internalType": "enum INSDomainPrice.Tier[]" +>>>>>>> Stashed changes } ], "outputs": [], @@ -262,8 +267,13 @@ "outputs": [ { "name": "tier", +<<<<<<< Updated upstream "type": "uint256", "internalType": "uint256" +======= + "type": "uint8", + "internalType": "enum INSDomainPrice.Tier" +>>>>>>> Stashed changes } ], "stateMutability": "view" @@ -482,8 +492,13 @@ "outputs": [ { "name": "tier", +<<<<<<< Updated upstream "type": "uint256", "internalType": "uint256" +======= + "type": "uint8", + "internalType": "enum INSDomainPrice.Tier" +>>>>>>> Stashed changes } ], "stateMutability": "view" @@ -1035,9 +1050,15 @@ }, { "name": "tier", +<<<<<<< Updated upstream "type": "uint256", "indexed": true, "internalType": "uint256" +======= + "type": "uint8", + "indexed": true, + "internalType": "enum INSDomainPrice.Tier" +>>>>>>> Stashed changes } ], "anonymous": false @@ -1106,6 +1127,7 @@ "inputs": [] } ], +<<<<<<< Updated upstream "address": "0xc77EAbB5172037A1a82f4E6bb6813894121d8062", "args": "0x", "ast": { @@ -1168,6 +1190,70 @@ "id": 86304, "nodeType": "PragmaDirective", "src": "32:24:147", +======= + "address": "0x8A99Fc285a90D031D9e4E328fcFCc35cb0bFB34a", + "args": "0x", + "ast": { + "absolutePath": "src/RNSDomainPrice.sol", + "id": 119627, + "exportedSymbols": { + "AccessControlEnumerable": [ + 100251 + ], + "INSAuction": [ + 123292 + ], + "INSDomainPrice": [ + 123609 + ], + "INSUnified": [ + 123985 + ], + "IPyth": [ + 106120 + ], + "Initializable": [ + 101524 + ], + "LibPeriodScaler": [ + 125698 + ], + "LibRNSDomain": [ + 125052 + ], + "LibSafeRange": [ + 125596 + ], + "LibString": [ + 125334 + ], + "Math": [ + 104833 + ], + "PeriodScaler": [ + 125607 + ], + "PythConverter": [ + 126387 + ], + "PythStructs": [ + 106163 + ], + "RNSDomainPrice": [ + 119626 + ], + "TimestampWrapper": [ + 125530 + ] + }, + "nodeType": "SourceUnit", + "src": "32:16050:163", + "nodes": [ + { + "id": 118219, + "nodeType": "PragmaDirective", + "src": "32:24:163", +>>>>>>> Stashed changes "nodes": [], "literals": [ "solidity", @@ -1177,13 +1263,20 @@ ] }, { +<<<<<<< Updated upstream "id": 86306, "nodeType": "ImportDirective", "src": "58:86:147", +======= + "id": 118221, + "nodeType": "ImportDirective", + "src": "58:86:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol", "file": "@openzeppelin/contracts/proxy/utils/Initializable.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 70607, "symbolAliases": [ @@ -1195,6 +1288,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 70606, "src": "67:13:147", +======= + "scope": 119627, + "sourceUnit": 101525, + "symbolAliases": [ + { + "foreign": { + "id": 118220, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101524, + "src": "67:13:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1203,13 +1309,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86308, "nodeType": "ImportDirective", "src": "145:101:147", +======= + "id": 118223, + "nodeType": "ImportDirective", + "src": "145:101:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol", "file": "@openzeppelin/contracts/access/AccessControlEnumerable.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 69334, "symbolAliases": [ @@ -1221,6 +1334,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 69333, "src": "154:23:147", +======= + "scope": 119627, + "sourceUnit": 100252, + "symbolAliases": [ + { + "foreign": { + "id": 118222, + "name": "AccessControlEnumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100251, + "src": "154:23:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1229,13 +1355,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86310, "nodeType": "ImportDirective", "src": "247:67:147", +======= + "id": 118225, + "nodeType": "ImportDirective", + "src": "247:67:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "file": "@openzeppelin/contracts/utils/math/Math.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 73916, "symbolAliases": [ @@ -1247,6 +1380,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 73915, "src": "256:4:147", +======= + "scope": 119627, + "sourceUnit": 104834, + "symbolAliases": [ + { + "foreign": { + "id": 118224, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104833, + "src": "256:4:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1255,13 +1401,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86313, "nodeType": "ImportDirective", "src": "315:60:147", +======= + "id": 118228, + "nodeType": "ImportDirective", + "src": "315:60:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "lib/pyth-sdk-solidity/IPyth.sol", "file": "@pythnetwork/IPyth.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 75203, "symbolAliases": [ @@ -1273,18 +1426,40 @@ "overloadedDeclarations": [], "referencedDeclaration": 75202, "src": "324:5:147", +======= + "scope": 119627, + "sourceUnit": 106121, + "symbolAliases": [ + { + "foreign": { + "id": 118226, + "name": "IPyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106120, + "src": "324:5:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { +<<<<<<< Updated upstream "id": 86312, "name": "PythStructs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75245, "src": "331:11:147", +======= + "id": 118227, + "name": "PythStructs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106163, + "src": "331:11:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1293,13 +1468,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86315, "nodeType": "ImportDirective", "src": "376:57:147", +======= + "id": 118230, + "nodeType": "ImportDirective", + "src": "376:57:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/interfaces/INSUnified.sol", "file": "./interfaces/INSUnified.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 92041, "symbolAliases": [ @@ -1311,6 +1493,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 92040, "src": "385:10:147", +======= + "scope": 119627, + "sourceUnit": 123986, + "symbolAliases": [ + { + "foreign": { + "id": 118229, + "name": "INSUnified", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123985, + "src": "385:10:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1319,13 +1514,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86317, "nodeType": "ImportDirective", "src": "434:57:147", +======= + "id": 118232, + "nodeType": "ImportDirective", + "src": "434:57:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/interfaces/INSAuction.sol", "file": "./interfaces/INSAuction.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 91352, "symbolAliases": [ @@ -1337,6 +1539,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 91351, "src": "443:10:147", +======= + "scope": 119627, + "sourceUnit": 123293, + "symbolAliases": [ + { + "foreign": { + "id": 118231, + "name": "INSAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123292, + "src": "443:10:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1345,13 +1560,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86319, "nodeType": "ImportDirective", "src": "492:65:147", +======= + "id": 118234, + "nodeType": "ImportDirective", + "src": "492:65:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/interfaces/INSDomainPrice.sol", "file": "./interfaces/INSDomainPrice.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 91665, "symbolAliases": [ @@ -1363,6 +1585,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 91664, "src": "501:14:147", +======= + "scope": 119627, + "sourceUnit": 123610, + "symbolAliases": [ + { + "foreign": { + "id": 118233, + "name": "INSDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123609, + "src": "501:14:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1371,13 +1606,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86323, "nodeType": "ImportDirective", "src": "558:94:147", +======= + "id": 118238, + "nodeType": "ImportDirective", + "src": "558:94:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/math/PeriodScalingUtils.sol", "file": "./libraries/math/PeriodScalingUtils.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 93754, "symbolAliases": [ @@ -1389,30 +1631,61 @@ "overloadedDeclarations": [], "referencedDeclaration": 93662, "src": "567:12:147", +======= + "scope": 119627, + "sourceUnit": 125699, + "symbolAliases": [ + { + "foreign": { + "id": 118235, + "name": "PeriodScaler", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125607, + "src": "567:12:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { +<<<<<<< Updated upstream "id": 86321, "name": "LibPeriodScaler", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 93753, "src": "581:15:147", +======= + "id": 118236, + "name": "LibPeriodScaler", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125698, + "src": "581:15:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { +<<<<<<< Updated upstream "id": 86322, "name": "Math", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73915, "src": "598:4:147", +======= + "id": 118237, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104833, + "src": "598:4:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1421,13 +1694,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86325, "nodeType": "ImportDirective", "src": "653:73:147", +======= + "id": 118240, + "nodeType": "ImportDirective", + "src": "653:73:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/TimestampWrapperUtils.sol", "file": "./libraries/TimestampWrapperUtils.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 93586, "symbolAliases": [ @@ -1439,6 +1719,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 93585, "src": "662:16:147", +======= + "scope": 119627, + "sourceUnit": 125531, + "symbolAliases": [ + { + "foreign": { + "id": 118239, + "name": "TimestampWrapper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125530, + "src": "662:16:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1447,13 +1740,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86327, "nodeType": "ImportDirective", "src": "727:65:147", +======= + "id": 118242, + "nodeType": "ImportDirective", + "src": "727:65:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/math/LibSafeRange.sol", "file": "./libraries/math/LibSafeRange.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 93652, "symbolAliases": [ @@ -1465,6 +1765,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 93651, "src": "736:12:147", +======= + "scope": 119627, + "sourceUnit": 125597, + "symbolAliases": [ + { + "foreign": { + "id": 118241, + "name": "LibSafeRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125596, + "src": "736:12:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1473,13 +1786,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86329, "nodeType": "ImportDirective", "src": "793:54:147", +======= + "id": 118244, + "nodeType": "ImportDirective", + "src": "793:54:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/LibString.sol", "file": "./libraries/LibString.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 93390, "symbolAliases": [ @@ -1491,6 +1811,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 93389, "src": "802:9:147", +======= + "scope": 119627, + "sourceUnit": 125335, + "symbolAliases": [ + { + "foreign": { + "id": 118243, + "name": "LibString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125334, + "src": "802:9:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1499,13 +1832,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86331, "nodeType": "ImportDirective", "src": "848:60:147", +======= + "id": 118246, + "nodeType": "ImportDirective", + "src": "848:60:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/LibRNSDomain.sol", "file": "./libraries/LibRNSDomain.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 93108, "symbolAliases": [ @@ -1517,6 +1857,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 93107, "src": "857:12:147", +======= + "scope": 119627, + "sourceUnit": 125053, + "symbolAliases": [ + { + "foreign": { + "id": 118245, + "name": "LibRNSDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125052, + "src": "857:12:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1525,13 +1878,20 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 86333, "nodeType": "ImportDirective", "src": "909:67:147", +======= + "id": 118248, + "nodeType": "ImportDirective", + "src": "909:67:163", +>>>>>>> Stashed changes "nodes": [], "absolutePath": "src/libraries/pyth/PythConverter.sol", "file": "./libraries/pyth/PythConverter.sol", "nameLocation": "-1:-1:-1", +<<<<<<< Updated upstream "scope": 87686, "sourceUnit": 94443, "symbolAliases": [ @@ -1543,6 +1903,19 @@ "overloadedDeclarations": [], "referencedDeclaration": 94442, "src": "918:13:147", +======= + "scope": 119627, + "sourceUnit": 126388, + "symbolAliases": [ + { + "foreign": { + "id": 118247, + "name": "PythConverter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 126387, + "src": "918:13:163", +>>>>>>> Stashed changes "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -1551,6 +1924,7 @@ "unitAlias": "" }, { +<<<<<<< Updated upstream "id": 87685, "nodeType": "ContractDefinition", "src": "978:14179:147", @@ -1593,6 +1967,50 @@ "name": "string", "nodeType": "ElementaryTypeName", "src": "1112:6:147", +======= + "id": 119626, + "nodeType": "ContractDefinition", + "src": "978:15103:163", + "nodes": [ + { + "id": 118256, + "nodeType": "UsingForDirective", + "src": "1064:22:163", + "nodes": [], + "global": false, + "libraryName": { + "id": 118255, + "name": "LibString", + "nameLocations": [ + "1070:9:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125334, + "src": "1070:9:163" + } + }, + { + "id": 118259, + "nodeType": "UsingForDirective", + "src": "1089:30:163", + "nodes": [], + "global": false, + "libraryName": { + "id": 118257, + "name": "LibRNSDomain", + "nameLocations": [ + "1095:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125052, + "src": "1095:12:163" + }, + "typeName": { + "id": 118258, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1112:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1600,6 +2018,7 @@ } }, { +<<<<<<< Updated upstream "id": 86348, "nodeType": "UsingForDirective", "src": "1122:39:147", @@ -1632,11 +2051,46 @@ "src": "1148:12:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "id": 118263, + "nodeType": "UsingForDirective", + "src": "1122:39:163", + "nodes": [], + "global": false, + "libraryName": { + "id": 118260, + "name": "LibPeriodScaler", + "nameLocations": [ + "1128:15:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125698, + "src": "1128:15:163" + }, + "typeName": { + "id": 118262, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118261, + "name": "PeriodScaler", + "nameLocations": [ + "1148:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "1148:12:163" + }, + "referencedDeclaration": 125607, + "src": "1148:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler" } } }, { +<<<<<<< Updated upstream "id": 86352, "nodeType": "UsingForDirective", "src": "1164:42:147", @@ -1670,11 +2124,47 @@ "src": "1188:17:147", "typeDescriptions": { "typeIdentifier": "t_struct$_Price_$75235_storage_ptr", +======= + "id": 118267, + "nodeType": "UsingForDirective", + "src": "1164:42:163", + "nodes": [], + "global": false, + "libraryName": { + "id": 118264, + "name": "PythConverter", + "nameLocations": [ + "1170:13:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 126387, + "src": "1170:13:163" + }, + "typeName": { + "id": 118266, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118265, + "name": "PythStructs.Price", + "nameLocations": [ + "1188:11:163", + "1200:5:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 106153, + "src": "1188:17:163" + }, + "referencedDeclaration": 106153, + "src": "1188:17:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$106153_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PythStructs.Price" } } }, { +<<<<<<< Updated upstream "id": 86356, "nodeType": "VariableDeclaration", "src": "1266:50:147", @@ -1690,6 +2180,23 @@ "name": "TIER_1_THRESHOLD", "nameLocation": "1291:16:147", "scope": 87685, +======= + "id": 118271, + "nodeType": "VariableDeclaration", + "src": "1274:64:163", + "nodes": [], + "constant": true, + "documentation": { + "id": 118268, + "nodeType": "StructuredDocumentation", + "src": "1210:61:163", + "text": "@dev The threshold tier value (in USD) for Tier 1: > $200" + }, + "mutability": "constant", + "name": "TIER_1_FROM_EXCLUDED_THRESHOLD", + "nameLocation": "1299:30:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1697,10 +2204,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86354, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1266:7:147", +======= + "id": 118269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1274:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1708,14 +2222,22 @@ }, "value": { "hexValue": "323030653138", +<<<<<<< Updated upstream "id": 86355, +======= + "id": 118270, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1310:6:147", +======= + "src": "1332:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_200000000000000000000_by_1", "typeString": "int_const 200000000000000000000" @@ -1725,6 +2247,7 @@ "visibility": "private" }, { +<<<<<<< Updated upstream "id": 86360, "nodeType": "VariableDeclaration", "src": "1376:49:147", @@ -1740,6 +2263,23 @@ "name": "TIER_2_THRESHOLD", "nameLocation": "1401:16:147", "scope": 87685, +======= + "id": 118275, + "nodeType": "VariableDeclaration", + "src": "1422:63:163", + "nodes": [], + "constant": true, + "documentation": { + "id": 118272, + "nodeType": "StructuredDocumentation", + "src": "1342:77:163", + "text": "@dev The threshold tier value (in USD) for Tier 2 in range of ($50; $200]" + }, + "mutability": "constant", + "name": "TIER_2_FROM_EXCLUDED_THRESHOLD", + "nameLocation": "1447:30:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1747,10 +2287,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86358, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1376:7:147", +======= + "id": 118273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1422:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1758,14 +2305,22 @@ }, "value": { "hexValue": "3530653138", +<<<<<<< Updated upstream "id": 86359, +======= + "id": 118274, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1420:5:147", +======= + "src": "1480:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_50000000000000000000_by_1", "typeString": "int_const 50000000000000000000" @@ -1775,6 +2330,7 @@ "visibility": "private" }, { +<<<<<<< Updated upstream "id": 86364, "nodeType": "VariableDeclaration", "src": "1462:39:147", @@ -1787,13 +2343,32 @@ "id": 86361, "nodeType": "StructuredDocumentation", "src": "1429:30:147", +======= + "id": 118279, + "nodeType": "VariableDeclaration", + "src": "1522:39:163", + "nodes": [], + "baseFunctions": [ + 123608 + ], + "constant": true, + "documentation": { + "id": 118276, + "nodeType": "StructuredDocumentation", + "src": "1489:30:163", +>>>>>>> Stashed changes "text": "@inheritdoc INSDomainPrice" }, "functionSelector": "2f6ee695", "mutability": "constant", "name": "USD_DECIMALS", +<<<<<<< Updated upstream "nameLocation": "1484:12:147", "scope": 87685, +======= + "nameLocation": "1544:12:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1801,10 +2376,17 @@ "typeString": "uint8" }, "typeName": { +<<<<<<< Updated upstream "id": 86362, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1462:5:147", +======= + "id": 118277, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1522:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1812,14 +2394,22 @@ }, "value": { "hexValue": "3138", +<<<<<<< Updated upstream "id": 86363, +======= + "id": 118278, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1499:2:147", +======= + "src": "1559:2:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", "typeString": "int_const 18" @@ -1829,6 +2419,7 @@ "visibility": "public" }, { +<<<<<<< Updated upstream "id": 86368, "nodeType": "VariableDeclaration", "src": "1538:46:147", @@ -1841,13 +2432,32 @@ "id": 86365, "nodeType": "StructuredDocumentation", "src": "1505:30:147", +======= + "id": 118283, + "nodeType": "VariableDeclaration", + "src": "1598:46:163", + "nodes": [], + "baseFunctions": [ + 123602 + ], + "constant": true, + "documentation": { + "id": 118280, + "nodeType": "StructuredDocumentation", + "src": "1565:30:163", +>>>>>>> Stashed changes "text": "@inheritdoc INSDomainPrice" }, "functionSelector": "4c255c97", "mutability": "constant", "name": "MAX_PERCENTAGE", +<<<<<<< Updated upstream "nameLocation": "1561:14:147", "scope": 87685, +======= + "nameLocation": "1621:14:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1855,10 +2465,17 @@ "typeString": "uint64" }, "typeName": { +<<<<<<< Updated upstream "id": 86366, "name": "uint64", "nodeType": "ElementaryTypeName", "src": "1538:6:147", +======= + "id": 118281, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "1598:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" @@ -1866,14 +2483,22 @@ }, "value": { "hexValue": "3130305f3030", +<<<<<<< Updated upstream "id": 86367, +======= + "id": 118282, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1578:6:147", +======= + "src": "1638:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_10000_by_1", "typeString": "int_const 10000" @@ -1883,6 +2508,7 @@ "visibility": "public" }, { +<<<<<<< Updated upstream "id": 86374, "nodeType": "VariableDeclaration", "src": "1621:66:147", @@ -1895,13 +2521,32 @@ "id": 86369, "nodeType": "StructuredDocumentation", "src": "1588:30:147", +======= + "id": 118289, + "nodeType": "VariableDeclaration", + "src": "1681:66:163", + "nodes": [], + "baseFunctions": [ + 123590 + ], + "constant": true, + "documentation": { + "id": 118284, + "nodeType": "StructuredDocumentation", + "src": "1648:30:163", +>>>>>>> Stashed changes "text": "@inheritdoc INSDomainPrice" }, "functionSelector": "f5b541a6", "mutability": "constant", "name": "OPERATOR_ROLE", +<<<<<<< Updated upstream "nameLocation": "1645:13:147", "scope": 87685, +======= + "nameLocation": "1705:13:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1909,10 +2554,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86370, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1621:7:147", +======= + "id": 118285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1681:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1922,14 +2574,22 @@ "arguments": [ { "hexValue": "4f50455241544f525f524f4c45", +<<<<<<< Updated upstream "id": 86372, +======= + "id": 118287, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1671:15:147", +======= + "src": "1731:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_stringliteral_97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929", "typeString": "literal_string \"OPERATOR_ROLE\"" @@ -1944,18 +2604,30 @@ "typeString": "literal_string \"OPERATOR_ROLE\"" } ], +<<<<<<< Updated upstream "id": 86371, +======= + "id": 118286, +>>>>>>> Stashed changes "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, +<<<<<<< Updated upstream "src": "1661:9:147", +======= + "src": "1721:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, +<<<<<<< Updated upstream "id": 86373, +======= + "id": 118288, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, @@ -1964,7 +2636,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "1661:26:147", +======= + "src": "1721:26:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1974,6 +2650,7 @@ "visibility": "public" }, { +<<<<<<< Updated upstream "id": 86380, "nodeType": "VariableDeclaration", "src": "1724:68:147", @@ -1986,13 +2663,32 @@ "id": 86375, "nodeType": "StructuredDocumentation", "src": "1691:30:147", - "text": "@inheritdoc INSDomainPrice" - }, - "functionSelector": "700213c8", - "mutability": "constant", +======= + "id": 118295, + "nodeType": "VariableDeclaration", + "src": "1784:68:163", + "nodes": [], + "baseFunctions": [ + 123596 + ], + "constant": true, + "documentation": { + "id": 118290, + "nodeType": "StructuredDocumentation", + "src": "1751:30:163", +>>>>>>> Stashed changes + "text": "@inheritdoc INSDomainPrice" + }, + "functionSelector": "700213c8", + "mutability": "constant", "name": "OVERRIDER_ROLE", +<<<<<<< Updated upstream "nameLocation": "1748:14:147", "scope": 87685, +======= + "nameLocation": "1808:14:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2000,10 +2696,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86376, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1724:7:147", +======= + "id": 118291, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1784:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2013,14 +2716,22 @@ "arguments": [ { "hexValue": "4f56455252494445525f524f4c45", +<<<<<<< Updated upstream "id": 86378, +======= + "id": 118293, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1775:16:147", +======= + "src": "1835:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_stringliteral_033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fad", "typeString": "literal_string \"OVERRIDER_ROLE\"" @@ -2035,18 +2746,30 @@ "typeString": "literal_string \"OVERRIDER_ROLE\"" } ], +<<<<<<< Updated upstream "id": 86377, +======= + "id": 118292, +>>>>>>> Stashed changes "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, +<<<<<<< Updated upstream "src": "1765:9:147", +======= + "src": "1825:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, +<<<<<<< Updated upstream "id": 86379, +======= + "id": 118294, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, @@ -2055,7 +2778,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "1765:27:147", +======= + "src": "1825:27:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2065,6 +2792,7 @@ "visibility": "public" }, { +<<<<<<< Updated upstream "id": 86385, "nodeType": "VariableDeclaration", "src": "1832:27:147", @@ -2074,12 +2802,28 @@ "id": 86381, "nodeType": "StructuredDocumentation", "src": "1797:32:147", +======= + "id": 118300, + "nodeType": "VariableDeclaration", + "src": "1892:27:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118296, + "nodeType": "StructuredDocumentation", + "src": "1857:32:163", +>>>>>>> Stashed changes "text": "@dev Gap for upgradeability." }, "mutability": "mutable", "name": "____gap", +<<<<<<< Updated upstream "nameLocation": "1852:7:147", "scope": 87685, +======= + "nameLocation": "1912:7:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2088,26 +2832,44 @@ }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86382, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1832:7:147", +======= + "id": 118297, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1892:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86384, "length": { "hexValue": "3530", "id": 86383, +======= + "id": 118299, + "length": { + "hexValue": "3530", + "id": 118298, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "1840:2:147", +======= + "src": "1900:2:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -2115,7 +2877,11 @@ "value": "50" }, "nodeType": "ArrayTypeName", +<<<<<<< Updated upstream "src": "1832:11:147", +======= + "src": "1892:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", "typeString": "uint256[50]" @@ -2124,6 +2890,7 @@ "visibility": "private" }, { +<<<<<<< Updated upstream "id": 86389, "nodeType": "VariableDeclaration", "src": "1896:20:147", @@ -2133,10 +2900,22 @@ "id": 86386, "nodeType": "StructuredDocumentation", "src": "1864:29:147", +======= + "id": 118304, + "nodeType": "VariableDeclaration", + "src": "1956:20:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118301, + "nodeType": "StructuredDocumentation", + "src": "1924:29:163", +>>>>>>> Stashed changes "text": "@dev Pyth oracle contract" }, "mutability": "mutable", "name": "_pyth", +<<<<<<< Updated upstream "nameLocation": "1911:5:147", "scope": 87685, "stateVariable": true, @@ -2162,12 +2941,40 @@ "src": "1896:5:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "nameLocation": "1971:5:163", + "scope": 119626, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" + }, + "typeName": { + "id": 118303, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118302, + "name": "IPyth", + "nameLocations": [ + "1956:5:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 106120, + "src": "1956:5:163" + }, + "referencedDeclaration": 106120, + "src": "1956:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86393, "nodeType": "VariableDeclaration", "src": "1951:28:147", @@ -2177,10 +2984,22 @@ "id": 86390, "nodeType": "StructuredDocumentation", "src": "1920:28:147", +======= + "id": 118308, + "nodeType": "VariableDeclaration", + "src": "2011:28:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118305, + "nodeType": "StructuredDocumentation", + "src": "1980:28:163", +>>>>>>> Stashed changes "text": "@dev RNSAuction contract" }, "mutability": "mutable", "name": "_auction", +<<<<<<< Updated upstream "nameLocation": "1971:8:147", "scope": 87685, "stateVariable": true, @@ -2206,12 +3025,40 @@ "src": "1951:10:147", "typeDescriptions": { "typeIdentifier": "t_contract$_INSAuction_$91351", +======= + "nameLocation": "2031:8:163", + "scope": 119626, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + }, + "typeName": { + "id": 118307, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118306, + "name": "INSAuction", + "nameLocations": [ + "2011:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123292, + "src": "2011:10:163" + }, + "referencedDeclaration": 123292, + "src": "2011:10:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", +>>>>>>> Stashed changes "typeString": "contract INSAuction" } }, "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86396, "nodeType": "VariableDeclaration", "src": "2052:26:147", @@ -2221,12 +3068,28 @@ "id": 86394, "nodeType": "StructuredDocumentation", "src": "1983:66:147", +======= + "id": 118311, + "nodeType": "VariableDeclaration", + "src": "2112:26:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118309, + "nodeType": "StructuredDocumentation", + "src": "2043:66:163", +>>>>>>> Stashed changes "text": "@dev Extra fee for renewals based on the current domain price." }, "mutability": "mutable", "name": "_taxRatio", +<<<<<<< Updated upstream "nameLocation": "2069:9:147", "scope": 87685, +======= + "nameLocation": "2129:9:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2234,10 +3097,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86395, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2052:7:147", +======= + "id": 118310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2112:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2246,6 +3116,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86399, "nodeType": "VariableDeclaration", "src": "2123:30:147", @@ -2255,12 +3126,28 @@ "id": 86397, "nodeType": "StructuredDocumentation", "src": "2082:38:147", +======= + "id": 118314, + "nodeType": "VariableDeclaration", + "src": "2183:30:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118312, + "nodeType": "StructuredDocumentation", + "src": "2142:38:163", +>>>>>>> Stashed changes "text": "@dev Max length of the renewal fee" }, "mutability": "mutable", "name": "_rnfMaxLength", +<<<<<<< Updated upstream "nameLocation": "2140:13:147", "scope": 87685, +======= + "nameLocation": "2200:13:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2268,10 +3155,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86398, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2123:7:147", +======= + "id": 118313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2183:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2280,6 +3174,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86402, "nodeType": "VariableDeclaration", "src": "2215:34:147", @@ -2289,12 +3184,28 @@ "id": 86400, "nodeType": "StructuredDocumentation", "src": "2157:55:147", +======= + "id": 118317, + "nodeType": "VariableDeclaration", + "src": "2275:34:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118315, + "nodeType": "StructuredDocumentation", + "src": "2217:55:163", +>>>>>>> Stashed changes "text": "@dev Max acceptable age of the price oracle request" }, "mutability": "mutable", "name": "_maxAcceptableAge", +<<<<<<< Updated upstream "nameLocation": "2232:17:147", "scope": 87685, +======= + "nameLocation": "2292:17:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2302,10 +3213,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86401, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2215:7:147", +======= + "id": 118316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2275:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2314,6 +3232,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86405, "nodeType": "VariableDeclaration", "src": "2298:33:147", @@ -2323,12 +3242,28 @@ "id": 86403, "nodeType": "StructuredDocumentation", "src": "2253:42:147", +======= + "id": 118320, + "nodeType": "VariableDeclaration", + "src": "2358:33:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118318, + "nodeType": "StructuredDocumentation", + "src": "2313:42:163", +>>>>>>> Stashed changes "text": "@dev Price feed ID on Pyth for RON/USD" }, "mutability": "mutable", "name": "_pythIdForRONUSD", +<<<<<<< Updated upstream "nameLocation": "2315:16:147", "scope": 87685, +======= + "nameLocation": "2375:16:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2336,10 +3271,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86404, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2298:7:147", +======= + "id": 118319, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2358:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2348,6 +3290,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86409, "nodeType": "VariableDeclaration", "src": "2397:35:147", @@ -2357,10 +3300,22 @@ "id": 86406, "nodeType": "StructuredDocumentation", "src": "2335:59:147", +======= + "id": 118324, + "nodeType": "VariableDeclaration", + "src": "2457:35:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118321, + "nodeType": "StructuredDocumentation", + "src": "2395:59:163", +>>>>>>> Stashed changes "text": "@dev The percentage scale from domain price each period" }, "mutability": "mutable", "name": "_dpDownScaler", +<<<<<<< Updated upstream "nameLocation": "2419:13:147", "scope": 87685, "stateVariable": true, @@ -2386,12 +3341,40 @@ "src": "2397:12:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "nameLocation": "2479:13:163", + "scope": 119626, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage", + "typeString": "struct PeriodScaler" + }, + "typeName": { + "id": 118323, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118322, + "name": "PeriodScaler", + "nameLocations": [ + "2457:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "2457:12:163" + }, + "referencedDeclaration": 125607, + "src": "2457:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler" } }, "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86414, "nodeType": "VariableDeclaration", "src": "2497:59:147", @@ -2401,12 +3384,28 @@ "id": 86410, "nodeType": "StructuredDocumentation", "src": "2437:57:147", +======= + "id": 118329, + "nodeType": "VariableDeclaration", + "src": "2557:59:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118325, + "nodeType": "StructuredDocumentation", + "src": "2497:57:163", +>>>>>>> Stashed changes "text": "@dev Mapping from domain length => renewal fee in USD" }, "mutability": "mutable", "name": "_rnFee", +<<<<<<< Updated upstream "nameLocation": "2550:6:147", "scope": 87685, +======= + "nameLocation": "2610:6:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2414,6 +3413,7 @@ "typeString": "mapping(uint256 => uint256)" }, "typeName": { +<<<<<<< Updated upstream "id": 86413, "keyName": "length", "keyNameLocation": "2513:6:147", @@ -2422,24 +3422,47 @@ "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2505:7:147", +======= + "id": 118328, + "keyName": "length", + "keyNameLocation": "2573:6:163", + "keyType": { + "id": 118326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2565:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", +<<<<<<< Updated upstream "src": "2497:43:147", +======= + "src": "2557:43:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" }, "valueName": "usdPrice", +<<<<<<< Updated upstream "valueNameLocation": "2531:8:147", "valueType": { "id": 86412, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2523:7:147", +======= + "valueNameLocation": "2591:8:163", + "valueType": { + "id": 118327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2583:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2449,6 +3472,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86420, "nodeType": "VariableDeclaration", "src": "2612:65:147", @@ -2458,10 +3482,22 @@ "id": 86415, "nodeType": "StructuredDocumentation", "src": "2560:49:147", +======= + "id": 118335, + "nodeType": "VariableDeclaration", + "src": "2672:65:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118330, + "nodeType": "StructuredDocumentation", + "src": "2620:49:163", +>>>>>>> Stashed changes "text": "@dev Mapping from name => domain price in USD" }, "mutability": "mutable", "name": "_dp", +<<<<<<< Updated upstream "nameLocation": "2674:3:147", "scope": 87685, "stateVariable": true, @@ -2479,12 +3515,32 @@ "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2620:7:147", +======= + "nameLocation": "2734:3:163", + "scope": 119626, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$125530_storage_$", + "typeString": "mapping(bytes32 => struct TimestampWrapper)" + }, + "typeName": { + "id": 118334, + "keyName": "lbHash", + "keyNameLocation": "2688:6:163", + "keyType": { + "id": 118331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2680:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", +<<<<<<< Updated upstream "src": "2612:52:147", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$93585_storage_$", @@ -2509,6 +3565,32 @@ "src": "2638:16:147", "typeDescriptions": { "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", +======= + "src": "2672:52:163", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$125530_storage_$", + "typeString": "mapping(bytes32 => struct TimestampWrapper)" + }, + "valueName": "usdPrice", + "valueNameLocation": "2715:8:163", + "valueType": { + "id": 118333, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118332, + "name": "TimestampWrapper", + "nameLocations": [ + "2698:16:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125530, + "src": "2698:16:163" + }, + "referencedDeclaration": 125530, + "src": "2698:16:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct TimestampWrapper" } } @@ -2516,6 +3598,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86425, "nodeType": "VariableDeclaration", "src": "2756:69:147", @@ -2525,12 +3608,28 @@ "id": 86421, "nodeType": "StructuredDocumentation", "src": "2681:72:147", +======= + "id": 118340, + "nodeType": "VariableDeclaration", + "src": "2816:69:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118336, + "nodeType": "StructuredDocumentation", + "src": "2741:72:163", +>>>>>>> Stashed changes "text": "@dev Mapping from name => inverse bitwise of renewal fee overriding." }, "mutability": "mutable", "name": "_rnFeeOverriding", +<<<<<<< Updated upstream "nameLocation": "2809:16:147", "scope": 87685, +======= + "nameLocation": "2869:16:163", + "scope": 119626, +>>>>>>> Stashed changes "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2538,6 +3637,7 @@ "typeString": "mapping(bytes32 => uint256)" }, "typeName": { +<<<<<<< Updated upstream "id": 86424, "keyName": "lbHash", "keyNameLocation": "2772:6:147", @@ -2546,24 +3646,47 @@ "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2764:7:147", +======= + "id": 118339, + "keyName": "lbHash", + "keyNameLocation": "2832:6:163", + "keyType": { + "id": 118337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2824:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", +<<<<<<< Updated upstream "src": "2756:43:147", +======= + "src": "2816:43:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueName": "usdPrice", +<<<<<<< Updated upstream "valueNameLocation": "2790:8:147", "valueType": { "id": 86423, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2782:7:147", +======= + "valueNameLocation": "2850:8:163", + "valueType": { + "id": 118338, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2842:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2573,6 +3696,7 @@ "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86430, "nodeType": "VariableDeclaration", "src": "2882:55:147", @@ -2582,10 +3706,22 @@ "id": 86426, "nodeType": "StructuredDocumentation", "src": "2829:50:147", +======= + "id": 118345, + "nodeType": "VariableDeclaration", + "src": "2942:62:163", + "nodes": [], + "constant": false, + "documentation": { + "id": 118341, + "nodeType": "StructuredDocumentation", + "src": "2889:50:163", +>>>>>>> Stashed changes "text": "@dev Mapping from label hash to overriden tier" }, "mutability": "mutable", "name": "_tierOverriding", +<<<<<<< Updated upstream "nameLocation": "2922:15:147", "scope": 87685, "stateVariable": true, @@ -2603,12 +3739,32 @@ "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2890:7:147", +======= + "nameLocation": "2989:15:163", + "scope": 119626, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "typeName": { + "id": 118344, + "keyName": "lbHash", + "keyNameLocation": "2958:6:163", + "keyType": { + "id": 118342, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2950:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", +<<<<<<< Updated upstream "src": "2882:39:147", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", @@ -2624,12 +3780,30 @@ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" +======= + "src": "2942:37:163", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + }, + "valueName": "tier", + "valueNameLocation": "2974:4:163", + "valueType": { + "id": 118343, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2968:5:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" +>>>>>>> Stashed changes } } }, "visibility": "internal" }, { +<<<<<<< Updated upstream "id": 86437, "nodeType": "FunctionDefinition", "src": "2942:55:147", @@ -2638,6 +3812,16 @@ "id": 86436, "nodeType": "Block", "src": "2964:33:147", +======= + "id": 118352, + "nodeType": "FunctionDefinition", + "src": "3009:55:163", + "nodes": [], + "body": { + "id": 118351, + "nodeType": "Block", + "src": "3031:33:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { @@ -2645,18 +3829,31 @@ "arguments": [], "expression": { "argumentTypes": [], +<<<<<<< Updated upstream "id": 86433, "name": "_disableInitializers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 70587, "src": "2970:20:147", +======= + "id": 118348, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101505, + "src": "3037:20:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, +<<<<<<< Updated upstream "id": 86434, +======= + "id": 118349, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -2665,16 +3862,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "2970:22:147", +======= + "src": "3037:22:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86435, "nodeType": "ExpressionStatement", "src": "2970:22:147" +======= + "id": 118350, + "nodeType": "ExpressionStatement", + "src": "3037:22:163" +>>>>>>> Stashed changes } ] }, @@ -2684,6 +3891,7 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { +<<<<<<< Updated upstream "id": 86431, "nodeType": "ParameterList", "parameters": [], @@ -2696,11 +3904,26 @@ "src": "2964:0:147" }, "scope": 87685, +======= + "id": 118346, + "nodeType": "ParameterList", + "parameters": [], + "src": "3020:2:163" + }, + "returnParameters": { + "id": 118347, + "nodeType": "ParameterList", + "parameters": [], + "src": "3031:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "payable", "virtual": false, "visibility": "public" }, { +<<<<<<< Updated upstream "id": 86522, "nodeType": "FunctionDefinition", "src": "3001:776:147", @@ -2709,15 +3932,30 @@ "id": 86521, "nodeType": "Block", "src": "3307:470:147", +======= + "id": 118437, + "nodeType": "FunctionDefinition", + "src": "3068:776:163", + "nodes": [], + "body": { + "id": 118436, + "nodeType": "Block", + "src": "3374:470:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ +<<<<<<< Updated upstream 86467 +======= + 118382 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86467, "mutability": "mutable", "name": "length", @@ -2725,6 +3963,15 @@ "nodeType": "VariableDeclaration", "scope": 86521, "src": "3313:14:147", +======= + "id": 118382, + "mutability": "mutable", + "name": "length", + "nameLocation": "3388:6:163", + "nodeType": "VariableDeclaration", + "scope": 118436, + "src": "3380:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2732,10 +3979,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86466, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3313:7:147", +======= + "id": 118381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3380:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2744,6 +3998,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86470, "initialValue": { "expression": { @@ -2753,35 +4008,66 @@ "overloadedDeclarations": [], "referencedDeclaration": 86442, "src": "3330:9:147", +======= + "id": 118385, + "initialValue": { + "expression": { + "id": 118383, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118357, + "src": "3397:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, +<<<<<<< Updated upstream "id": 86469, +======= + "id": 118384, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "3340:6:147", "memberName": "length", "nodeType": "MemberAccess", "src": "3330:16:147", +======= + "memberLocation": "3407:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3397:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream "src": "3313:33:147" }, { "assignments": [ 86472 +======= + "src": "3380:33:163" + }, + { + "assignments": [ + 118387 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86472, "mutability": "mutable", "name": "operatorRole", @@ -2789,6 +4075,15 @@ "nodeType": "VariableDeclaration", "scope": 86521, "src": "3352:20:147", +======= + "id": 118387, + "mutability": "mutable", + "name": "operatorRole", + "nameLocation": "3427:12:163", + "nodeType": "VariableDeclaration", + "scope": 118436, + "src": "3419:20:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2796,10 +4091,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86471, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3352:7:147", +======= + "id": 118386, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3419:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2808,6 +4110,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86474, "initialValue": { "id": 86473, @@ -2816,12 +4119,23 @@ "overloadedDeclarations": [], "referencedDeclaration": 86374, "src": "3375:13:147", +======= + "id": 118389, + "initialValue": { + "id": 118388, + "name": "OPERATOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118289, + "src": "3442:13:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream "src": "3352:36:147" }, { @@ -2829,17 +4143,35 @@ "id": 86492, "nodeType": "Block", "src": "3424:93:147", +======= + "src": "3419:36:163" + }, + { + "body": { + "id": 118407, + "nodeType": "Block", + "src": "3491:93:163", +>>>>>>> Stashed changes "statements": [ { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86482, "name": "operatorRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86472, "src": "3443:12:147", +======= + "id": 118397, + "name": "operatorRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118387, + "src": "3510:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2847,17 +4179,27 @@ }, { "baseExpression": { +<<<<<<< Updated upstream "id": 86483, "name": "operators", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86442, "src": "3457:9:147", +======= + "id": 118398, + "name": "operators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118357, + "src": "3524:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, +<<<<<<< Updated upstream "id": 86485, "indexExpression": { "id": 86484, @@ -2866,6 +4208,16 @@ "overloadedDeclarations": [], "referencedDeclaration": 86476, "src": "3467:1:147", +======= + "id": 118400, + "indexExpression": { + "id": 118399, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118391, + "src": "3534:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2876,7 +4228,11 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", +<<<<<<< Updated upstream "src": "3457:12:147", +======= + "src": "3524:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2894,18 +4250,31 @@ "typeString": "address" } ], +<<<<<<< Updated upstream "id": 86481, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 69116, "src": "3432:10:147", +======= + "id": 118396, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100034, + "src": "3499:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, +<<<<<<< Updated upstream "id": 86486, +======= + "id": 118401, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -2914,13 +4283,18 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3432:38:147", +======= + "src": "3499:38:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86487, "nodeType": "ExpressionStatement", "src": "3432:38:147" @@ -2933,6 +4307,20 @@ { "expression": { "id": 86489, +======= + "id": 118402, + "nodeType": "ExpressionStatement", + "src": "3499:38:163" + }, + { + "id": 118406, + "nodeType": "UncheckedBlock", + "src": "3546:32:163", + "statements": [ + { + "expression": { + "id": 118404, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -2940,6 +4328,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, +<<<<<<< Updated upstream "src": "3499:3:147", "subExpression": { "id": 86488, @@ -2948,6 +4337,16 @@ "overloadedDeclarations": [], "referencedDeclaration": 86476, "src": "3501:1:147", +======= + "src": "3566:3:163", + "subExpression": { + "id": 118403, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118391, + "src": "3568:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2958,9 +4357,15 @@ "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86490, "nodeType": "ExpressionStatement", "src": "3499:3:147" +======= + "id": 118405, + "nodeType": "ExpressionStatement", + "src": "3566:3:163" +>>>>>>> Stashed changes } ] } @@ -2971,18 +4376,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 86480, +======= + "id": 118395, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { +<<<<<<< Updated upstream "id": 86478, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86476, "src": "3411:1:147", +======= + "id": 118393, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118391, + "src": "3478:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2991,31 +4409,52 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { +<<<<<<< Updated upstream "id": 86479, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86467, "src": "3415:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", +======= + "id": 118394, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118382, + "src": "3482:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "3411:10:147", +======= + "src": "3478:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, +<<<<<<< Updated upstream "id": 86493, "initializationExpression": { "assignments": [ 86476 +======= + "id": 118408, + "initializationExpression": { + "assignments": [ + 118391 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86476, "mutability": "mutable", "name": "i", @@ -3023,6 +4462,15 @@ "nodeType": "VariableDeclaration", "scope": 86493, "src": "3400:9:147", +======= + "id": 118391, + "mutability": "mutable", + "name": "i", + "nameLocation": "3475:1:163", + "nodeType": "VariableDeclaration", + "scope": 118408, + "src": "3467:9:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3030,10 +4478,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86475, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3400:7:147", +======= + "id": 118390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3467:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3042,6 +4497,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86477, "nodeType": "VariableDeclarationStatement", "src": "3400:9:147" @@ -3052,11 +4508,24 @@ { "expression": { "id": 86496, +======= + "id": 118392, + "nodeType": "VariableDeclarationStatement", + "src": "3467:9:163" + }, + "nodeType": "ForStatement", + "src": "3462:122:163" + }, + { + "expression": { + "id": 118411, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { +<<<<<<< Updated upstream "id": 86494, "name": "_auction", "nodeType": "Identifier", @@ -3065,12 +4534,23 @@ "src": "3522:8:147", "typeDescriptions": { "typeIdentifier": "t_contract$_INSAuction_$91351", +======= + "id": 118409, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118308, + "src": "3589:8:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", +>>>>>>> Stashed changes "typeString": "contract INSAuction" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { +<<<<<<< Updated upstream "id": 86495, "name": "auction", "nodeType": "Identifier", @@ -3091,29 +4571,69 @@ "id": 86497, "nodeType": "ExpressionStatement", "src": "3522:18:147" +======= + "id": 118410, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118372, + "src": "3600:7:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "src": "3589:18:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "id": 118412, + "nodeType": "ExpressionStatement", + "src": "3589:18:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86499, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 68920, "src": "3557:18:147", +======= + "id": 118414, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99838, + "src": "3624:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { +<<<<<<< Updated upstream "id": 86500, "name": "admin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86439, "src": "3577:5:147", +======= + "id": 118415, + "name": "admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118354, + "src": "3644:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3131,18 +4651,31 @@ "typeString": "address" } ], +<<<<<<< Updated upstream "id": 86498, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 69116, "src": "3546:10:147", +======= + "id": 118413, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100034, + "src": "3613:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, +<<<<<<< Updated upstream "id": 86501, +======= + "id": 118416, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -3151,21 +4684,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3546:37:147", +======= + "src": "3613:37:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86502, "nodeType": "ExpressionStatement", "src": "3546:37:147" +======= + "id": 118417, + "nodeType": "ExpressionStatement", + "src": "3613:37:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86504, "name": "renewalFees", "nodeType": "Identifier", @@ -3174,6 +4718,16 @@ "src": "3613:11:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", +======= + "id": 118419, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118361, + "src": "3680:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" } } @@ -3181,6 +4735,7 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" } @@ -3197,6 +4752,24 @@ } }, "id": 86505, +======= + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + } + ], + "id": 118418, + "name": "_setRenewalFeeByLengths", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119372, + "src": "3656:23:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr_$returns$__$", + "typeString": "function (struct INSDomainPrice.RenewalFee calldata[] calldata)" + } + }, + "id": 118420, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -3205,27 +4778,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3589:36:147", +======= + "src": "3656:36:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86506, "nodeType": "ExpressionStatement", "src": "3589:36:147" +======= + "id": 118421, + "nodeType": "ExpressionStatement", + "src": "3656:36:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86508, "name": "taxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86448, "src": "3644:8:147", +======= + "id": 118423, + "name": "taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118363, + "src": "3711:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3239,18 +4831,31 @@ "typeString": "uint256" } ], +<<<<<<< Updated upstream "id": 86507, "name": "_setTaxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87505, "src": "3631:12:147", +======= + "id": 118422, + "name": "_setTaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119267, + "src": "3698:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, +<<<<<<< Updated upstream "id": 86509, +======= + "id": 118424, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -3259,21 +4864,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3631:22:147", +======= + "src": "3698:22:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86510, "nodeType": "ExpressionStatement", "src": "3631:22:147" +======= + "id": 118425, + "nodeType": "ExpressionStatement", + "src": "3698:22:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86512, "name": "domainPriceScaleRule", "nodeType": "Identifier", @@ -3282,6 +4898,16 @@ "src": "3684:20:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", +======= + "id": 118427, + "name": "domainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118366, + "src": "3751:20:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler calldata" } } @@ -3289,6 +4915,7 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", "typeString": "struct PeriodScaler calldata" } @@ -3305,6 +4932,24 @@ } }, "id": 86513, +======= + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler calldata" + } + ], + "id": 118426, + "name": "_setDomainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119288, + "src": "3726:24:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PeriodScaler_$125607_calldata_ptr_$returns$__$", + "typeString": "function (struct PeriodScaler calldata)" + } + }, + "id": 118428, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -3313,21 +4958,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3659:46:147", +======= + "src": "3726:46:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86514, "nodeType": "ExpressionStatement", "src": "3659:46:147" +======= + "id": 118429, + "nodeType": "ExpressionStatement", + "src": "3726:46:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86516, "name": "pyth", "nodeType": "Identifier", @@ -3336,28 +4992,56 @@ "src": "3732:4:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118431, + "name": "pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118369, + "src": "3799:4:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, { +<<<<<<< Updated upstream "id": 86517, "name": "maxAcceptableAge", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86459, "src": "3738:16:147", +======= + "id": 118432, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118374, + "src": "3805:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { +<<<<<<< Updated upstream "id": 86518, "name": "pythIdForRONUSD", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86461, "src": "3756:15:147", +======= + "id": 118433, + "name": "pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118376, + "src": "3823:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3367,7 +5051,11 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" }, { @@ -3379,6 +5067,7 @@ "typeString": "bytes32" } ], +<<<<<<< Updated upstream "id": 86515, "name": "_setPythOracleConfig", "nodeType": "Identifier", @@ -3391,6 +5080,20 @@ } }, "id": 86519, +======= + "id": 118430, + "name": "_setPythOracleConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119404, + "src": "3778:20:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IPyth_$106120_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (contract IPyth,uint256,bytes32)" + } + }, + "id": 118434, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -3399,16 +5102,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "3711:61:147", +======= + "src": "3778:61:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86520, "nodeType": "ExpressionStatement", "src": "3711:61:147" +======= + "id": 118435, + "nodeType": "ExpressionStatement", + "src": "3778:61:163" +>>>>>>> Stashed changes } ] }, @@ -3417,6 +5130,7 @@ "kind": "function", "modifiers": [ { +<<<<<<< Updated upstream "id": 86464, "kind": "modifierInvocation", "modifierName": { @@ -3437,10 +5151,33 @@ "nameLocation": "3010:10:147", "parameters": { "id": 86462, +======= + "id": 118379, + "kind": "modifierInvocation", + "modifierName": { + "id": 118378, + "name": "initializer", + "nameLocations": [ + "3362:11:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 101426, + "src": "3362:11:163" + }, + "nodeType": "ModifierInvocation", + "src": "3362:11:163" + } + ], + "name": "initialize", + "nameLocation": "3077:10:163", + "parameters": { + "id": 118377, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86439, "mutability": "mutable", "name": "admin", @@ -3448,6 +5185,15 @@ "nodeType": "VariableDeclaration", "scope": 86522, "src": "3026:13:147", +======= + "id": 118354, + "mutability": "mutable", + "name": "admin", + "nameLocation": "3101:5:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3093:13:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3455,10 +5201,17 @@ "typeString": "address" }, "typeName": { +<<<<<<< Updated upstream "id": 86438, "name": "address", "nodeType": "ElementaryTypeName", "src": "3026:7:147", +======= + "id": 118353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3093:7:163", +>>>>>>> Stashed changes "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3469,6 +5222,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86442, "mutability": "mutable", "name": "operators", @@ -3476,6 +5230,15 @@ "nodeType": "VariableDeclaration", "scope": 86522, "src": "3045:28:147", +======= + "id": 118357, + "mutability": "mutable", + "name": "operators", + "nameLocation": "3131:9:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3112:28:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3484,19 +5247,32 @@ }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86440, "name": "address", "nodeType": "ElementaryTypeName", "src": "3045:7:147", +======= + "id": 118355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3112:7:163", +>>>>>>> Stashed changes "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, +<<<<<<< Updated upstream "id": 86441, "nodeType": "ArrayTypeName", "src": "3045:9:147", +======= + "id": 118356, + "nodeType": "ArrayTypeName", + "src": "3112:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3506,6 +5282,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86446, "mutability": "mutable", "name": "renewalFees", @@ -3517,10 +5294,24 @@ "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", +======= + "id": 118361, + "mutability": "mutable", + "name": "renewalFees", + "nameLocation": "3168:11:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3146:33:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86444, "nodeType": "UserDefinedTypeName", "pathNode": { @@ -3545,6 +5336,32 @@ "src": "3079:12:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", +======= + "id": 118359, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118358, + "name": "RenewalFee", + "nameLocations": [ + "3146:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "3146:10:163" + }, + "referencedDeclaration": 123317, + "src": "3146:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 118360, + "nodeType": "ArrayTypeName", + "src": "3146:12:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_storage_$dyn_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" } }, @@ -3552,6 +5369,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86448, "mutability": "mutable", "name": "taxRatio", @@ -3559,6 +5377,15 @@ "nodeType": "VariableDeclaration", "scope": 86522, "src": "3118:16:147", +======= + "id": 118363, + "mutability": "mutable", + "name": "taxRatio", + "nameLocation": "3193:8:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3185:16:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3566,10 +5393,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86447, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3118:7:147", +======= + "id": 118362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3185:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3579,6 +5413,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86451, "mutability": "mutable", "name": "domainPriceScaleRule", @@ -3609,6 +5444,38 @@ "src": "3140:12:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "id": 118366, + "mutability": "mutable", + "name": "domainPriceScaleRule", + "nameLocation": "3229:20:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3207:42:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler" + }, + "typeName": { + "id": 118365, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118364, + "name": "PeriodScaler", + "nameLocations": [ + "3207:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "3207:12:163" + }, + "referencedDeclaration": 125607, + "src": "3207:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler" } }, @@ -3616,6 +5483,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86454, "mutability": "mutable", "name": "pyth", @@ -3646,6 +5514,38 @@ "src": "3188:5:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118369, + "mutability": "mutable", + "name": "pyth", + "nameLocation": "3261:4:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3255:10:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" + }, + "typeName": { + "id": 118368, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118367, + "name": "IPyth", + "nameLocations": [ + "3255:5:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 106120, + "src": "3255:5:163" + }, + "referencedDeclaration": 106120, + "src": "3255:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, @@ -3653,6 +5553,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86457, "mutability": "mutable", "name": "auction", @@ -3683,6 +5584,38 @@ "src": "3204:10:147", "typeDescriptions": { "typeIdentifier": "t_contract$_INSAuction_$91351", +======= + "id": 118372, + "mutability": "mutable", + "name": "auction", + "nameLocation": "3282:7:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3271:18:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + }, + "typeName": { + "id": 118371, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118370, + "name": "INSAuction", + "nameLocations": [ + "3271:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123292, + "src": "3271:10:163" + }, + "referencedDeclaration": 123292, + "src": "3271:10:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", +>>>>>>> Stashed changes "typeString": "contract INSAuction" } }, @@ -3690,6 +5623,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86459, "mutability": "mutable", "name": "maxAcceptableAge", @@ -3697,6 +5631,15 @@ "nodeType": "VariableDeclaration", "scope": 86522, "src": "3228:24:147", +======= + "id": 118374, + "mutability": "mutable", + "name": "maxAcceptableAge", + "nameLocation": "3303:16:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3295:24:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3704,10 +5647,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86458, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3228:7:147", +======= + "id": 118373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3295:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3717,6 +5667,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86461, "mutability": "mutable", "name": "pythIdForRONUSD", @@ -3724,6 +5675,15 @@ "nodeType": "VariableDeclaration", "scope": 86522, "src": "3258:23:147", +======= + "id": 118376, + "mutability": "mutable", + "name": "pythIdForRONUSD", + "nameLocation": "3333:15:163", + "nodeType": "VariableDeclaration", + "scope": 118437, + "src": "3325:23:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3731,10 +5691,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86460, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3258:7:147", +======= + "id": 118375, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3325:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3743,6 +5710,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "3020:265:147" }, "returnParameters": { @@ -3752,11 +5720,23 @@ "src": "3307:0:147" }, "scope": 87685, +======= + "src": "3087:265:163" + }, + "returnParameters": { + "id": 118380, + "nodeType": "ParameterList", + "parameters": [], + "src": "3374:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86539, "nodeType": "FunctionDefinition", "src": "3825:179:147", @@ -3765,12 +5745,23 @@ "id": 86538, "nodeType": "Block", "src": "3942:62:147", +======= + "id": 118454, + "nodeType": "FunctionDefinition", + "src": "3892:179:163", + "nodes": [], + "body": { + "id": 118453, + "nodeType": "Block", + "src": "4009:62:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { "components": [ { +<<<<<<< Updated upstream "id": 86533, "name": "_pyth", "nodeType": "Identifier", @@ -3779,41 +5770,74 @@ "src": "3956:5:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118448, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118304, + "src": "4023:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, { +<<<<<<< Updated upstream "id": 86534, "name": "_maxAcceptableAge", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86402, "src": "3963:17:147", +======= + "id": 118449, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118317, + "src": "4030:17:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { +<<<<<<< Updated upstream "id": 86535, "name": "_pythIdForRONUSD", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86405, "src": "3982:16:147", +======= + "id": 118450, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118320, + "src": "4049:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], +<<<<<<< Updated upstream "id": 86536, +======= + "id": 118451, +>>>>>>> Stashed changes "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", +<<<<<<< Updated upstream "src": "3955:44:147", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_contract$_IPyth_$75202_$_t_uint256_$_t_bytes32_$", @@ -3824,16 +5848,37 @@ "id": 86537, "nodeType": "Return", "src": "3948:51:147" +======= + "src": "4022:44:163", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_contract$_IPyth_$106120_$_t_uint256_$_t_bytes32_$", + "typeString": "tuple(contract IPyth,uint256,bytes32)" + } + }, + "functionReturnParameters": 118447, + "id": 118452, + "nodeType": "Return", + "src": "4015:51:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91467 ], "documentation": { "id": 86523, "nodeType": "StructuredDocumentation", "src": "3781:41:147", +======= + 123409 + ], + "documentation": { + "id": 118438, + "nodeType": "StructuredDocumentation", + "src": "3848:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "2be09ecc", @@ -3841,6 +5886,7 @@ "kind": "function", "modifiers": [], "name": "getPythOracleConfig", +<<<<<<< Updated upstream "nameLocation": "3834:19:147", "parameters": { "id": 86524, @@ -3850,10 +5896,22 @@ }, "returnParameters": { "id": 86532, +======= + "nameLocation": "3901:19:163", + "parameters": { + "id": 118439, + "nodeType": "ParameterList", + "parameters": [], + "src": "3920:2:163" + }, + "returnParameters": { + "id": 118447, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86527, "mutability": "mutable", "name": "pyth", @@ -3884,6 +5942,38 @@ "src": "3879:5:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118442, + "mutability": "mutable", + "name": "pyth", + "nameLocation": "3952:4:163", + "nodeType": "VariableDeclaration", + "scope": 118454, + "src": "3946:10:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" + }, + "typeName": { + "id": 118441, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118440, + "name": "IPyth", + "nameLocations": [ + "3946:5:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 106120, + "src": "3946:5:163" + }, + "referencedDeclaration": 106120, + "src": "3946:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, @@ -3891,6 +5981,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86529, "mutability": "mutable", "name": "maxAcceptableAge", @@ -3898,6 +5989,15 @@ "nodeType": "VariableDeclaration", "scope": 86539, "src": "3891:24:147", +======= + "id": 118444, + "mutability": "mutable", + "name": "maxAcceptableAge", + "nameLocation": "3966:16:163", + "nodeType": "VariableDeclaration", + "scope": 118454, + "src": "3958:24:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3905,10 +6005,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86528, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3891:7:147", +======= + "id": 118443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3958:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3918,6 +6025,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86531, "mutability": "mutable", "name": "pythIdForRONUSD", @@ -3925,6 +6033,15 @@ "nodeType": "VariableDeclaration", "scope": 86539, "src": "3917:23:147", +======= + "id": 118446, + "mutability": "mutable", + "name": "pythIdForRONUSD", + "nameLocation": "3992:15:163", + "nodeType": "VariableDeclaration", + "scope": 118454, + "src": "3984:23:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3932,10 +6049,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86530, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3917:7:147", +======= + "id": 118445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3984:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3944,14 +6068,21 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "3878:63:147" }, "scope": 87685, +======= + "src": "3945:63:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "view", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86560, "nodeType": "FunctionDefinition", "src": "4052:212:147", @@ -3960,12 +6091,23 @@ "id": 86559, "nodeType": "Block", "src": "4192:72:147", +======= + "id": 118475, + "nodeType": "FunctionDefinition", + "src": "4119:212:163", + "nodes": [], + "body": { + "id": 118474, + "nodeType": "Block", + "src": "4259:72:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86554, "name": "pyth", "nodeType": "Identifier", @@ -3974,28 +6116,56 @@ "src": "4219:4:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118469, + "name": "pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118458, + "src": "4286:4:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, { +<<<<<<< Updated upstream "id": 86555, "name": "maxAcceptableAge", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86545, "src": "4225:16:147", +======= + "id": 118470, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118460, + "src": "4292:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { +<<<<<<< Updated upstream "id": 86556, "name": "pythIdForRONUSD", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86547, "src": "4243:15:147", +======= + "id": 118471, + "name": "pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118462, + "src": "4310:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4005,7 +6175,11 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" }, { @@ -4017,6 +6191,7 @@ "typeString": "bytes32" } ], +<<<<<<< Updated upstream "id": 86553, "name": "_setPythOracleConfig", "nodeType": "Identifier", @@ -4029,6 +6204,20 @@ } }, "id": 86557, +======= + "id": 118468, + "name": "_setPythOracleConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119404, + "src": "4265:20:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IPyth_$106120_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (contract IPyth,uint256,bytes32)" + } + }, + "id": 118472, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4037,26 +6226,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "4198:61:147", +======= + "src": "4265:61:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86558, "nodeType": "ExpressionStatement", "src": "4198:61:147" +======= + "id": 118473, + "nodeType": "ExpressionStatement", + "src": "4265:61:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91478 ], "documentation": { "id": 86540, "nodeType": "StructuredDocumentation", "src": "4008:41:147", +======= + 123420 + ], + "documentation": { + "id": 118455, + "nodeType": "StructuredDocumentation", + "src": "4075:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "28dd3065", @@ -4066,18 +6274,28 @@ { "arguments": [ { +<<<<<<< Updated upstream "id": 86550, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 68920, "src": "4170:18:147", +======= + "id": 118465, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99838, + "src": "4237:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], +<<<<<<< Updated upstream "id": 86551, "kind": "modifierInvocation", "modifierName": { @@ -4098,10 +6316,33 @@ "nameLocation": "4061:19:147", "parameters": { "id": 86548, +======= + "id": 118466, + "kind": "modifierInvocation", + "modifierName": { + "id": 118464, + "name": "onlyRole", + "nameLocations": [ + "4228:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "4228:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "4228:28:163" + } + ], + "name": "setPythOracleConfig", + "nameLocation": "4128:19:163", + "parameters": { + "id": 118463, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86543, "mutability": "mutable", "name": "pyth", @@ -4132,6 +6373,38 @@ "src": "4081:5:147", "typeDescriptions": { "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 118458, + "mutability": "mutable", + "name": "pyth", + "nameLocation": "4154:4:163", + "nodeType": "VariableDeclaration", + "scope": 118475, + "src": "4148:10:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" + }, + "typeName": { + "id": 118457, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118456, + "name": "IPyth", + "nameLocations": [ + "4148:5:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 106120, + "src": "4148:5:163" + }, + "referencedDeclaration": 106120, + "src": "4148:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes "typeString": "contract IPyth" } }, @@ -4139,6 +6412,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86545, "mutability": "mutable", "name": "maxAcceptableAge", @@ -4146,6 +6420,15 @@ "nodeType": "VariableDeclaration", "scope": 86560, "src": "4093:24:147", +======= + "id": 118460, + "mutability": "mutable", + "name": "maxAcceptableAge", + "nameLocation": "4168:16:163", + "nodeType": "VariableDeclaration", + "scope": 118475, + "src": "4160:24:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4153,10 +6436,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86544, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4093:7:147", +======= + "id": 118459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4160:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4166,6 +6456,7 @@ }, { "constant": false, +<<<<<<< Updated upstream "id": 86547, "mutability": "mutable", "name": "pythIdForRONUSD", @@ -4173,6 +6464,15 @@ "nodeType": "VariableDeclaration", "scope": 86560, "src": "4119:23:147", +======= + "id": 118462, + "mutability": "mutable", + "name": "pythIdForRONUSD", + "nameLocation": "4194:15:163", + "nodeType": "VariableDeclaration", + "scope": 118475, + "src": "4186:23:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4180,10 +6480,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 86546, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4119:7:147", +======= + "id": 118461, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4186:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4192,6 +6499,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "4080:63:147" }, "returnParameters": { @@ -4201,11 +6509,23 @@ "src": "4192:0:147" }, "scope": 87685, +======= + "src": "4147:63:163" + }, + "returnParameters": { + "id": 118467, + "nodeType": "ParameterList", + "parameters": [], + "src": "4259:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86619, "nodeType": "FunctionDefinition", "src": "4312:396:147", @@ -4214,15 +6534,30 @@ "id": 86618, "nodeType": "Block", "src": "4402:306:147", +======= + "id": 118534, + "nodeType": "FunctionDefinition", + "src": "4379:396:163", + "nodes": [], + "body": { + "id": 118533, + "nodeType": "Block", + "src": "4469:306:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ +<<<<<<< Updated upstream 86569 +======= + 118484 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86569, "mutability": "mutable", "name": "rnfMaxLength", @@ -4230,6 +6565,15 @@ "nodeType": "VariableDeclaration", "scope": 86618, "src": "4408:20:147", +======= + "id": 118484, + "mutability": "mutable", + "name": "rnfMaxLength", + "nameLocation": "4483:12:163", + "nodeType": "VariableDeclaration", + "scope": 118533, + "src": "4475:20:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4237,10 +6581,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86568, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4408:7:147", +======= + "id": 118483, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4475:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4249,6 +6600,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86571, "initialValue": { "id": 86570, @@ -4257,22 +6609,41 @@ "overloadedDeclarations": [], "referencedDeclaration": 86399, "src": "4431:13:147", +======= + "id": 118486, + "initialValue": { + "id": 118485, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118314, + "src": "4498:13:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream "src": "4408:36:147" }, { "expression": { "id": 86579, +======= + "src": "4475:36:163" + }, + { + "expression": { + "id": 118494, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { +<<<<<<< Updated upstream "id": 86572, "name": "renewalFees", "nodeType": "Identifier", @@ -4281,6 +6652,16 @@ "src": "4450:11:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_memory_ptr_$dyn_memory_ptr", +======= + "id": 118487, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118481, + "src": "4517:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee memory[] memory" } }, @@ -4289,12 +6670,21 @@ "rightHandSide": { "arguments": [ { +<<<<<<< Updated upstream "id": 86577, "name": "rnfMaxLength", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86569, "src": "4481:12:147", +======= + "id": 118492, + "name": "rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118484, + "src": "4548:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4308,19 +6698,30 @@ "typeString": "uint256" } ], +<<<<<<< Updated upstream "id": 86576, +======= + "id": 118491, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", +<<<<<<< Updated upstream "src": "4464:16:147", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RenewalFee_$91376_memory_ptr_$dyn_memory_ptr_$", +======= + "src": "4531:16:163", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr_$", +>>>>>>> Stashed changes "typeString": "function (uint256) pure returns (struct INSDomainPrice.RenewalFee memory[] memory)" }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86574, "nodeType": "UserDefinedTypeName", "pathNode": { @@ -4345,11 +6746,41 @@ "src": "4468:12:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", +======= + "id": 118489, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118488, + "name": "RenewalFee", + "nameLocations": [ + "4535:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "4535:10:163" + }, + "referencedDeclaration": 123317, + "src": "4535:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 118490, + "nodeType": "ArrayTypeName", + "src": "4535:12:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_storage_$dyn_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" } } }, +<<<<<<< Updated upstream "id": 86578, +======= + "id": 118493, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4358,6 +6789,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "4464:30:147", "tryCall": false, "typeDescriptions": { @@ -4378,10 +6810,33 @@ { "assignments": [ 86582 +======= + "src": "4531:30:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory[] memory" + } + }, + "src": "4517:44:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory[] memory" + } + }, + "id": 118495, + "nodeType": "ExpressionStatement", + "src": "4517:44:163" + }, + { + "assignments": [ + 118497 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86582, "mutability": "mutable", "name": "len", @@ -4389,6 +6844,15 @@ "nodeType": "VariableDeclaration", "scope": 86618, "src": "4500:11:147", +======= + "id": 118497, + "mutability": "mutable", + "name": "len", + "nameLocation": "4575:3:163", + "nodeType": "VariableDeclaration", + "scope": 118533, + "src": "4567:11:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4396,10 +6860,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86581, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4500:7:147", +======= + "id": 118496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4567:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4408,6 +6879,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86583, "nodeType": "VariableDeclarationStatement", "src": "4500:11:147" @@ -4426,17 +6898,46 @@ { "expression": { "id": 86594, +======= + "id": 118498, + "nodeType": "VariableDeclarationStatement", + "src": "4567:11:163" + }, + { + "body": { + "id": 118531, + "nodeType": "Block", + "src": "4620:151:163", + "statements": [ + { + "id": 118530, + "nodeType": "UncheckedBlock", + "src": "4628:137:163", + "statements": [ + { + "expression": { + "id": 118509, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { +<<<<<<< Updated upstream "id": 86590, "name": "len", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86582, "src": "4581:3:147", +======= + "id": 118505, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118497, + "src": "4648:3:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4449,18 +6950,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 86593, +======= + "id": 118508, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { +<<<<<<< Updated upstream "id": 86591, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86585, "src": "4587:1:147", +======= + "id": 118506, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118500, + "src": "4654:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4470,32 +6984,49 @@ "operator": "+", "rightExpression": { "hexValue": "31", +<<<<<<< Updated upstream "id": 86592, +======= + "id": 118507, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "4591:1:147", +======= + "src": "4658:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, +<<<<<<< Updated upstream "src": "4587:5:147", +======= + "src": "4654:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "4581:11:147", +======= + "src": "4648:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86595, "nodeType": "ExpressionStatement", "src": "4581:11:147" @@ -4503,6 +7034,15 @@ { "expression": { "id": 86601, +======= + "id": 118510, + "nodeType": "ExpressionStatement", + "src": "4648:11:163" + }, + { + "expression": { + "id": 118516, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4510,6 +7050,7 @@ "leftHandSide": { "expression": { "baseExpression": { +<<<<<<< Updated upstream "id": 86596, "name": "renewalFees", "nodeType": "Identifier", @@ -4529,6 +7070,27 @@ "overloadedDeclarations": [], "referencedDeclaration": 86585, "src": "4614:1:147", +======= + "id": 118511, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118481, + "src": "4669:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory[] memory" + } + }, + "id": 118513, + "indexExpression": { + "id": 118512, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118500, + "src": "4681:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4539,6 +7101,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", +<<<<<<< Updated upstream "src": "4602:14:147", "typeDescriptions": { "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", @@ -4546,15 +7109,32 @@ } }, "id": 86599, +======= + "src": "4669:14:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 118514, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, +<<<<<<< Updated upstream "memberLocation": "4617:11:147", "memberName": "labelLength", "nodeType": "MemberAccess", "referencedDeclaration": 91373, "src": "4602:26:147", +======= + "memberLocation": "4684:11:163", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 123314, + "src": "4669:26:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4563,23 +7143,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { +<<<<<<< Updated upstream "id": 86600, "name": "len", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86582, "src": "4631:3:147", +======= + "id": 118515, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118497, + "src": "4698:3:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "4602:32:147", +======= + "src": "4669:32:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86602, "nodeType": "ExpressionStatement", "src": "4602:32:147" @@ -4587,6 +7181,15 @@ { "expression": { "id": 86610, +======= + "id": 118517, + "nodeType": "ExpressionStatement", + "src": "4669:32:163" + }, + { + "expression": { + "id": 118525, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4594,6 +7197,7 @@ "leftHandSide": { "expression": { "baseExpression": { +<<<<<<< Updated upstream "id": 86603, "name": "renewalFees", "nodeType": "Identifier", @@ -4613,6 +7217,27 @@ "overloadedDeclarations": [], "referencedDeclaration": 86585, "src": "4656:1:147", +======= + "id": 118518, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118481, + "src": "4711:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory[] memory" + } + }, + "id": 118520, + "indexExpression": { + "id": 118519, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118500, + "src": "4723:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4623,6 +7248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", +<<<<<<< Updated upstream "src": "4644:14:147", "typeDescriptions": { "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", @@ -4630,15 +7256,32 @@ } }, "id": 86606, +======= + "src": "4711:14:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 118521, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, +<<<<<<< Updated upstream "memberLocation": "4659:3:147", "memberName": "fee", "nodeType": "MemberAccess", "referencedDeclaration": 91375, "src": "4644:18:147", +======= + "memberLocation": "4726:3:163", + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 123316, + "src": "4711:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4648,17 +7291,27 @@ "operator": "=", "rightHandSide": { "baseExpression": { +<<<<<<< Updated upstream "id": 86607, "name": "_rnFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86414, "src": "4665:6:147", +======= + "id": 118522, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118329, + "src": "4732:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", "typeString": "mapping(uint256 => uint256)" } }, +<<<<<<< Updated upstream "id": 86609, "indexExpression": { "id": 86608, @@ -4667,6 +7320,16 @@ "overloadedDeclarations": [], "referencedDeclaration": 86582, "src": "4672:3:147", +======= + "id": 118524, + "indexExpression": { + "id": 118523, + "name": "len", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118497, + "src": "4739:3:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4677,18 +7340,27 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", +<<<<<<< Updated upstream "src": "4665:11:147", +======= + "src": "4732:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "4644:32:147", +======= + "src": "4711:32:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86611, "nodeType": "ExpressionStatement", "src": "4644:32:147" @@ -4696,6 +7368,15 @@ { "expression": { "id": 86613, +======= + "id": 118526, + "nodeType": "ExpressionStatement", + "src": "4711:32:163" + }, + { + "expression": { + "id": 118528, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4703,6 +7384,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, +<<<<<<< Updated upstream "src": "4686:3:147", "subExpression": { "id": 86612, @@ -4711,6 +7393,16 @@ "overloadedDeclarations": [], "referencedDeclaration": 86585, "src": "4688:1:147", +======= + "src": "4753:3:163", + "subExpression": { + "id": 118527, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118500, + "src": "4755:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4721,9 +7413,15 @@ "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86614, "nodeType": "ExpressionStatement", "src": "4686:3:147" +======= + "id": 118529, + "nodeType": "ExpressionStatement", + "src": "4753:3:163" +>>>>>>> Stashed changes } ] } @@ -4734,18 +7432,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 86589, +======= + "id": 118504, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { +<<<<<<< Updated upstream "id": 86587, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86585, "src": "4534:1:147", +======= + "id": 118502, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118500, + "src": "4601:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4754,31 +7465,52 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { +<<<<<<< Updated upstream "id": 86588, "name": "rnfMaxLength", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86569, "src": "4538:12:147", +======= + "id": 118503, + "name": "rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118484, + "src": "4605:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "4534:16:147", +======= + "src": "4601:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, +<<<<<<< Updated upstream "id": 86617, "initializationExpression": { "assignments": [ 86585 +======= + "id": 118532, + "initializationExpression": { + "assignments": [ + 118500 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86585, "mutability": "mutable", "name": "i", @@ -4786,6 +7518,15 @@ "nodeType": "VariableDeclaration", "scope": 86617, "src": "4523:9:147", +======= + "id": 118500, + "mutability": "mutable", + "name": "i", + "nameLocation": "4598:1:163", + "nodeType": "VariableDeclaration", + "scope": 118532, + "src": "4590:9:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4793,10 +7534,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86584, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4523:7:147", +======= + "id": 118499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4590:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4805,22 +7553,40 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 86586, "nodeType": "VariableDeclarationStatement", "src": "4523:9:147" }, "nodeType": "ForStatement", "src": "4518:186:147" +======= + "id": 118501, + "nodeType": "VariableDeclarationStatement", + "src": "4590:9:163" + }, + "nodeType": "ForStatement", + "src": "4585:186:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91500 ], "documentation": { "id": 86561, "nodeType": "StructuredDocumentation", "src": "4268:41:147", +======= + 123442 + ], + "documentation": { + "id": 118476, + "nodeType": "StructuredDocumentation", + "src": "4335:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "0a44f51f", @@ -4828,6 +7594,7 @@ "kind": "function", "modifiers": [], "name": "getRenewalFeeByLengths", +<<<<<<< Updated upstream "nameLocation": "4321:22:147", "parameters": { "id": 86562, @@ -4837,10 +7604,22 @@ }, "returnParameters": { "id": 86567, +======= + "nameLocation": "4388:22:163", + "parameters": { + "id": 118477, + "nodeType": "ParameterList", + "parameters": [], + "src": "4410:2:163" + }, + "returnParameters": { + "id": 118482, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86566, "mutability": "mutable", "name": "renewalFees", @@ -4852,10 +7631,24 @@ "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_memory_ptr_$dyn_memory_ptr", +======= + "id": 118481, + "mutability": "mutable", + "name": "renewalFees", + "nameLocation": "4456:11:163", + "nodeType": "VariableDeclaration", + "scope": 118534, + "src": "4436:31:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_memory_ptr_$dyn_memory_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86564, "nodeType": "UserDefinedTypeName", "pathNode": { @@ -4880,20 +7673,53 @@ "src": "4369:12:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", - "typeString": "struct INSDomainPrice.RenewalFee[]" - } - }, - "visibility": "internal" - } - ], - "src": "4368:33:147" - }, - "scope": 87685, - "stateMutability": "view", +======= + "id": 118479, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118478, + "name": "RenewalFee", + "nameLocations": [ + "4436:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "4436:10:163" + }, + "referencedDeclaration": 123317, + "src": "4436:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 118480, + "nodeType": "ArrayTypeName", + "src": "4436:12:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_storage_$dyn_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.RenewalFee[]" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "4368:33:147" + }, + "scope": 87685, +======= + "src": "4435:33:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "view", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86635, "nodeType": "FunctionDefinition", "src": "4756:152:147", @@ -4902,12 +7728,23 @@ "id": 86634, "nodeType": "Block", "src": "4861:47:147", +======= + "id": 118550, + "nodeType": "FunctionDefinition", + "src": "4823:152:163", + "nodes": [], + "body": { + "id": 118549, + "nodeType": "Block", + "src": "4928:47:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86631, "name": "renewalFees", "nodeType": "Identifier", @@ -4916,6 +7753,16 @@ "src": "4891:11:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", +======= + "id": 118546, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118539, + "src": "4958:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" } } @@ -4923,6 +7770,7 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" } @@ -4939,6 +7787,24 @@ } }, "id": 86632, +======= + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + } + ], + "id": 118545, + "name": "_setRenewalFeeByLengths", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119372, + "src": "4934:23:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr_$returns$__$", + "typeString": "function (struct INSDomainPrice.RenewalFee calldata[] calldata)" + } + }, + "id": 118547, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -4947,26 +7813,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "4867:36:147", +======= + "src": "4934:36:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86633, "nodeType": "ExpressionStatement", "src": "4867:36:147" +======= + "id": 118548, + "nodeType": "ExpressionStatement", + "src": "4934:36:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91508 ], "documentation": { "id": 86620, "nodeType": "StructuredDocumentation", "src": "4712:41:147", +======= + 123450 + ], + "documentation": { + "id": 118535, + "nodeType": "StructuredDocumentation", + "src": "4779:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "35feb741", @@ -4976,18 +7861,28 @@ { "arguments": [ { +<<<<<<< Updated upstream "id": 86627, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 68920, "src": "4841:18:147", +======= + "id": 118542, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99838, + "src": "4908:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], +<<<<<<< Updated upstream "id": 86628, "kind": "modifierInvocation", "modifierName": { @@ -5008,10 +7903,33 @@ "nameLocation": "4765:22:147", "parameters": { "id": 86625, +======= + "id": 118543, + "kind": "modifierInvocation", + "modifierName": { + "id": 118541, + "name": "onlyRole", + "nameLocations": [ + "4899:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "4899:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "4899:28:163" + } + ], + "name": "setRenewalFeeByLengths", + "nameLocation": "4832:22:163", + "parameters": { + "id": 118540, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86624, "mutability": "mutable", "name": "renewalFees", @@ -5023,10 +7941,24 @@ "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", +======= + "id": 118539, + "mutability": "mutable", + "name": "renewalFees", + "nameLocation": "4877:11:163", + "nodeType": "VariableDeclaration", + "scope": 118550, + "src": "4855:33:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" }, "typeName": { "baseType": { +<<<<<<< Updated upstream "id": 86622, "nodeType": "UserDefinedTypeName", "pathNode": { @@ -5051,12 +7983,39 @@ "src": "4788:12:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", +======= + "id": 118537, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118536, + "name": "RenewalFee", + "nameLocations": [ + "4855:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "4855:10:163" + }, + "referencedDeclaration": 123317, + "src": "4855:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 118538, + "nodeType": "ArrayTypeName", + "src": "4855:12:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_storage_$dyn_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct INSDomainPrice.RenewalFee[]" } }, "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "4787:35:147" }, "returnParameters": { @@ -5066,11 +8025,23 @@ "src": "4861:0:147" }, "scope": 87685, +======= + "src": "4854:35:163" + }, + "returnParameters": { + "id": 118544, + "nodeType": "ParameterList", + "parameters": [], + "src": "4928:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86644, "nodeType": "FunctionDefinition", "src": "4956:88:147", @@ -5079,35 +8050,70 @@ "id": 86643, "nodeType": "Block", "src": "5017:27:147", +======= + "id": 118559, + "nodeType": "FunctionDefinition", + "src": "5023:88:163", + "nodes": [], + "body": { + "id": 118558, + "nodeType": "Block", + "src": "5084:27:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { +<<<<<<< Updated upstream "id": 86641, "name": "_taxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86396, "src": "5030:9:147", +======= + "id": 118556, + "name": "_taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118311, + "src": "5097:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "functionReturnParameters": 86640, "id": 86642, "nodeType": "Return", "src": "5023:16:147" +======= + "functionReturnParameters": 118555, + "id": 118557, + "nodeType": "Return", + "src": "5090:16:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91514 ], "documentation": { "id": 86636, "nodeType": "StructuredDocumentation", "src": "4912:41:147", +======= + 123456 + ], + "documentation": { + "id": 118551, + "nodeType": "StructuredDocumentation", + "src": "4979:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "5ef32e2c", @@ -5115,6 +8121,7 @@ "kind": "function", "modifiers": [], "name": "getTaxRatio", +<<<<<<< Updated upstream "nameLocation": "4965:11:147", "parameters": { "id": 86637, @@ -5124,10 +8131,22 @@ }, "returnParameters": { "id": 86640, +======= + "nameLocation": "5032:11:163", + "parameters": { + "id": 118552, + "nodeType": "ParameterList", + "parameters": [], + "src": "5043:2:163" + }, + "returnParameters": { + "id": 118555, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86639, "mutability": "mutable", "name": "ratio", @@ -5135,6 +8154,15 @@ "nodeType": "VariableDeclaration", "scope": 86644, "src": "5002:13:147", +======= + "id": 118554, + "mutability": "mutable", + "name": "ratio", + "nameLocation": "5077:5:163", + "nodeType": "VariableDeclaration", + "scope": 118559, + "src": "5069:13:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5142,10 +8170,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86638, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5002:7:147", +======= + "id": 118553, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5069:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5154,14 +8189,21 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5001:15:147" }, "scope": 87685, +======= + "src": "5068:15:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "view", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86658, "nodeType": "FunctionDefinition", "src": "5092:104:147", @@ -5170,18 +8212,37 @@ "id": 86657, "nodeType": "Block", "src": "5166:30:147", +======= + "id": 118573, + "nodeType": "FunctionDefinition", + "src": "5159:104:163", + "nodes": [], + "body": { + "id": 118572, + "nodeType": "Block", + "src": "5233:30:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86654, "name": "ratio", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86647, "src": "5185:5:147", +======= + "id": 118569, + "name": "ratio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118562, + "src": "5252:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5195,18 +8256,31 @@ "typeString": "uint256" } ], +<<<<<<< Updated upstream "id": 86653, "name": "_setTaxRatio", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87505, "src": "5172:12:147", +======= + "id": 118568, + "name": "_setTaxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119267, + "src": "5239:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, +<<<<<<< Updated upstream "id": 86655, +======= + "id": 118570, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -5215,26 +8289,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "5172:19:147", +======= + "src": "5239:19:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86656, "nodeType": "ExpressionStatement", "src": "5172:19:147" +======= + "id": 118571, + "nodeType": "ExpressionStatement", + "src": "5239:19:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91520 ], "documentation": { "id": 86645, "nodeType": "StructuredDocumentation", "src": "5048:41:147", +======= + 123462 + ], + "documentation": { + "id": 118560, + "nodeType": "StructuredDocumentation", + "src": "5115:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "fe303ebf", @@ -5244,18 +8337,28 @@ { "arguments": [ { +<<<<<<< Updated upstream "id": 86650, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 68920, "src": "5146:18:147", +======= + "id": 118565, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99838, + "src": "5213:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], +<<<<<<< Updated upstream "id": 86651, "kind": "modifierInvocation", "modifierName": { @@ -5276,10 +8379,33 @@ "nameLocation": "5101:11:147", "parameters": { "id": 86648, +======= + "id": 118566, + "kind": "modifierInvocation", + "modifierName": { + "id": 118564, + "name": "onlyRole", + "nameLocations": [ + "5204:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "5204:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "5204:28:163" + } + ], + "name": "setTaxRatio", + "nameLocation": "5168:11:163", + "parameters": { + "id": 118563, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86647, "mutability": "mutable", "name": "ratio", @@ -5287,6 +8413,15 @@ "nodeType": "VariableDeclaration", "scope": 86658, "src": "5113:13:147", +======= + "id": 118562, + "mutability": "mutable", + "name": "ratio", + "nameLocation": "5188:5:163", + "nodeType": "VariableDeclaration", + "scope": 118573, + "src": "5180:13:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5294,10 +8429,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86646, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5113:7:147", +======= + "id": 118561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5180:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5306,6 +8448,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5112:15:147" }, "returnParameters": { @@ -5315,11 +8458,23 @@ "src": "5166:0:147" }, "scope": 87685, +======= + "src": "5179:15:163" + }, + "returnParameters": { + "id": 118567, + "nodeType": "ParameterList", + "parameters": [], + "src": "5233:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86668, "nodeType": "FunctionDefinition", "src": "5244:127:147", @@ -5328,10 +8483,21 @@ "id": 86667, "nodeType": "Block", "src": "5340:31:147", +======= + "id": 118583, + "nodeType": "FunctionDefinition", + "src": "5311:127:163", + "nodes": [], + "body": { + "id": 118582, + "nodeType": "Block", + "src": "5407:31:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { +<<<<<<< Updated upstream "id": 86665, "name": "_dpDownScaler", "nodeType": "Identifier", @@ -5347,16 +8513,42 @@ "id": 86666, "nodeType": "Return", "src": "5346:20:147" +======= + "id": 118580, + "name": "_dpDownScaler", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118324, + "src": "5420:13:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage", + "typeString": "struct PeriodScaler storage ref" + } + }, + "functionReturnParameters": 118579, + "id": 118581, + "nodeType": "Return", + "src": "5413:20:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91485 ], "documentation": { "id": 86659, "nodeType": "StructuredDocumentation", "src": "5200:41:147", +======= + 123427 + ], + "documentation": { + "id": 118574, + "nodeType": "StructuredDocumentation", + "src": "5267:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "39e47da7", @@ -5364,6 +8556,7 @@ "kind": "function", "modifiers": [], "name": "getScaleDownRuleForDomainPrice", +<<<<<<< Updated upstream "nameLocation": "5253:30:147", "parameters": { "id": 86660, @@ -5373,10 +8566,22 @@ }, "returnParameters": { "id": 86664, +======= + "nameLocation": "5320:30:163", + "parameters": { + "id": 118575, + "nodeType": "ParameterList", + "parameters": [], + "src": "5350:2:163" + }, + "returnParameters": { + "id": 118579, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86663, "mutability": "mutable", "name": "scaleRule", @@ -5407,20 +8612,59 @@ "src": "5309:12:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "id": 118578, + "mutability": "mutable", + "name": "scaleRule", + "nameLocation": "5396:9:163", + "nodeType": "VariableDeclaration", + "scope": 118583, + "src": "5376:29:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_memory_ptr", + "typeString": "struct PeriodScaler" + }, + "typeName": { + "id": 118577, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118576, + "name": "PeriodScaler", + "nameLocations": [ + "5376:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "5376:12:163" + }, + "referencedDeclaration": 125607, + "src": "5376:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler" } }, "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5308:31:147" }, "scope": 87685, +======= + "src": "5375:31:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "view", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86683, "nodeType": "FunctionDefinition", "src": "5419:157:147", @@ -5429,12 +8673,23 @@ "id": 86682, "nodeType": "Block", "src": "5530:46:147", +======= + "id": 118598, + "nodeType": "FunctionDefinition", + "src": "5486:157:163", + "nodes": [], + "body": { + "id": 118597, + "nodeType": "Block", + "src": "5597:46:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { "arguments": [ { +<<<<<<< Updated upstream "id": 86679, "name": "scaleRule", "nodeType": "Identifier", @@ -5443,6 +8698,16 @@ "src": "5561:9:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", +======= + "id": 118594, + "name": "scaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118587, + "src": "5628:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler calldata" } } @@ -5450,6 +8715,7 @@ "expression": { "argumentTypes": [ { +<<<<<<< Updated upstream "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", "typeString": "struct PeriodScaler calldata" } @@ -5466,6 +8732,24 @@ } }, "id": 86680, +======= + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler calldata" + } + ], + "id": 118593, + "name": "_setDomainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119288, + "src": "5603:24:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_PeriodScaler_$125607_calldata_ptr_$returns$__$", + "typeString": "function (struct PeriodScaler calldata)" + } + }, + "id": 118595, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -5474,26 +8758,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "5536:35:147", +======= + "src": "5603:35:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86681, "nodeType": "ExpressionStatement", "src": "5536:35:147" +======= + "id": 118596, + "nodeType": "ExpressionStatement", + "src": "5603:35:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91492 ], "documentation": { "id": 86669, "nodeType": "StructuredDocumentation", "src": "5375:41:147", +======= + 123434 + ], + "documentation": { + "id": 118584, + "nodeType": "StructuredDocumentation", + "src": "5442:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "e229a670", @@ -5503,18 +8806,28 @@ { "arguments": [ { +<<<<<<< Updated upstream "id": 86675, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 68920, "src": "5510:18:147", +======= + "id": 118590, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99838, + "src": "5577:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], +<<<<<<< Updated upstream "id": 86676, "kind": "modifierInvocation", "modifierName": { @@ -5535,10 +8848,33 @@ "nameLocation": "5428:30:147", "parameters": { "id": 86673, +======= + "id": 118591, + "kind": "modifierInvocation", + "modifierName": { + "id": 118589, + "name": "onlyRole", + "nameLocations": [ + "5568:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "5568:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "5568:28:163" + } + ], + "name": "setScaleDownRuleForDomainPrice", + "nameLocation": "5495:30:163", + "parameters": { + "id": 118588, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86672, "mutability": "mutable", "name": "scaleRule", @@ -5569,12 +8905,45 @@ "src": "5459:12:147", "typeDescriptions": { "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "id": 118587, + "mutability": "mutable", + "name": "scaleRule", + "nameLocation": "5548:9:163", + "nodeType": "VariableDeclaration", + "scope": 118598, + "src": "5526:31:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler" + }, + "typeName": { + "id": 118586, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118585, + "name": "PeriodScaler", + "nameLocations": [ + "5526:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "5526:12:163" + }, + "referencedDeclaration": 125607, + "src": "5526:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes "typeString": "struct PeriodScaler" } }, "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5458:33:147" }, "returnParameters": { @@ -5584,11 +8953,23 @@ "src": "5530:0:147" }, "scope": 87685, +======= + "src": "5525:33:163" + }, + "returnParameters": { + "id": 118592, + "nodeType": "ParameterList", + "parameters": [], + "src": "5597:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86710, "nodeType": "FunctionDefinition", "src": "5624:226:147", @@ -5597,22 +8978,45 @@ "id": 86709, "nodeType": "Block", "src": "5719:131:147", +======= + "id": 118625, + "nodeType": "FunctionDefinition", + "src": "5691:226:163", + "nodes": [], + "body": { + "id": 118624, + "nodeType": "Block", + "src": "5786:131:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { +<<<<<<< Updated upstream "id": 86697, +======= + "id": 118612, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { +<<<<<<< Updated upstream "id": 86691, "name": "usdFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86689, "src": "5725:6:147", +======= + "id": 118606, + "name": "usdFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118604, + "src": "5792:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5622,50 +9026,88 @@ "operator": "=", "rightHandSide": { "baseExpression": { +<<<<<<< Updated upstream "id": 86692, "name": "_rnFeeOverriding", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86425, "src": "5734:16:147", +======= + "id": 118607, + "name": "_rnFeeOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118340, + "src": "5801:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, +<<<<<<< Updated upstream "id": 86696, +======= + "id": 118611, +>>>>>>> Stashed changes "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { +<<<<<<< Updated upstream "id": 86693, "name": "label", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86686, "src": "5751:5:147", +======= + "id": 118608, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118601, + "src": "5818:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" } }, +<<<<<<< Updated upstream "id": 86694, +======= + "id": 118609, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "5757:9:147", "memberName": "hashLabel", "nodeType": "MemberAccess", "referencedDeclaration": 93096, "src": "5751:15:147", +======= + "memberLocation": "5824:9:163", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 125041, + "src": "5818:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", "typeString": "function (string memory) pure returns (bytes32)" } }, +<<<<<<< Updated upstream "id": 86695, +======= + "id": 118610, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -5674,7 +9116,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "5751:17:147", +======= + "src": "5818:17:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5686,21 +9132,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", +<<<<<<< Updated upstream "src": "5734:35:147", +======= + "src": "5801:35:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "5725:44:147", +======= + "src": "5792:44:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "id": 86698, "nodeType": "ExpressionStatement", "src": "5725:44:147" +======= + "id": 118613, + "nodeType": "ExpressionStatement", + "src": "5792:44:163" +>>>>>>> Stashed changes }, { "condition": { @@ -5708,18 +9168,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 86701, +======= + "id": 118616, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { +<<<<<<< Updated upstream "id": 86699, "name": "usdFee", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86689, "src": "5779:6:147", +======= + "id": 118614, + "name": "usdFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118604, + "src": "5846:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5729,46 +9202,77 @@ "operator": "==", "rightExpression": { "hexValue": "30", +<<<<<<< Updated upstream "id": 86700, +======= + "id": 118615, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "5789:1:147", +======= + "src": "5856:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, +<<<<<<< Updated upstream "src": "5779:11:147", +======= + "src": "5846:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, +<<<<<<< Updated upstream "id": 86705, "nodeType": "IfStatement", "src": "5775:50:147", +======= + "id": 118620, + "nodeType": "IfStatement", + "src": "5842:50:163", +>>>>>>> Stashed changes "trueBody": { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], +<<<<<<< Updated upstream "id": 86702, "name": "RenewalFeeIsNotOverriden", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 91361, "src": "5799:24:147", +======= + "id": 118617, + "name": "RenewalFeeIsNotOverriden", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123302, + "src": "5866:24:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, +<<<<<<< Updated upstream "id": 86703, +======= + "id": 118618, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -5777,21 +9281,35 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "5799:26:147", +======= + "src": "5866:26:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, +<<<<<<< Updated upstream "id": 86704, "nodeType": "RevertStatement", "src": "5792:33:147" +======= + "id": 118619, + "nodeType": "RevertStatement", + "src": "5859:33:163" +>>>>>>> Stashed changes } }, { "expression": { +<<<<<<< Updated upstream "id": 86707, +======= + "id": 118622, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -5799,6 +9317,7 @@ "nodeType": "UnaryOperation", "operator": "~", "prefix": true, +<<<<<<< Updated upstream "src": "5838:7:147", "subExpression": { "id": 86706, @@ -5807,6 +9326,16 @@ "overloadedDeclarations": [], "referencedDeclaration": 86689, "src": "5839:6:147", +======= + "src": "5905:7:163", + "subExpression": { + "id": 118621, + "name": "usdFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118604, + "src": "5906:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5817,20 +9346,36 @@ "typeString": "uint256" } }, +<<<<<<< Updated upstream "functionReturnParameters": 86690, "id": 86708, "nodeType": "Return", "src": "5831:14:147" +======= + "functionReturnParameters": 118605, + "id": 118623, + "nodeType": "Return", + "src": "5898:14:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ +<<<<<<< Updated upstream 91560 ], "documentation": { "id": 86684, "nodeType": "StructuredDocumentation", "src": "5580:41:147", +======= + 123503 + ], + "documentation": { + "id": 118599, + "nodeType": "StructuredDocumentation", + "src": "5647:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, "functionSelector": "5c68c830", @@ -5838,13 +9383,20 @@ "kind": "function", "modifiers": [], "name": "getOverriddenRenewalFee", +<<<<<<< Updated upstream "nameLocation": "5633:23:147", "parameters": { "id": 86687, +======= + "nameLocation": "5700:23:163", + "parameters": { + "id": 118602, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86686, "mutability": "mutable", "name": "label", @@ -5852,6 +9404,15 @@ "nodeType": "VariableDeclaration", "scope": 86710, "src": "5657:21:147", +======= + "id": 118601, + "mutability": "mutable", + "name": "label", + "nameLocation": "5740:5:163", + "nodeType": "VariableDeclaration", + "scope": 118625, + "src": "5724:21:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -5859,10 +9420,17 @@ "typeString": "string" }, "typeName": { +<<<<<<< Updated upstream "id": 86685, "name": "string", "nodeType": "ElementaryTypeName", "src": "5657:6:147", +======= + "id": 118600, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5724:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5871,14 +9439,22 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5656:23:147" }, "returnParameters": { "id": 86690, +======= + "src": "5723:23:163" + }, + "returnParameters": { + "id": 118605, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 86689, "mutability": "mutable", "name": "usdFee", @@ -5886,6 +9462,15 @@ "nodeType": "VariableDeclaration", "scope": 86710, "src": "5703:14:147", +======= + "id": 118604, + "mutability": "mutable", + "name": "usdFee", + "nameLocation": "5778:6:163", + "nodeType": "VariableDeclaration", + "scope": 118625, + "src": "5770:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5893,10 +9478,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 86688, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5703:7:147", +======= + "id": 118603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5770:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5905,14 +9497,21 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "5702:16:147" }, "scope": 87685, +======= + "src": "5769:16:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "view", "virtual": false, "visibility": "external" }, { +<<<<<<< Updated upstream "id": 86737, "nodeType": "FunctionDefinition", "src": "5898:205:147", @@ -6245,15 +9844,30 @@ "id": 86810, "nodeType": "Block", "src": "6287:441:147", +======= + "id": 118655, + "nodeType": "FunctionDefinition", + "src": "5965:229:163", + "nodes": [], + "body": { + "id": 118654, + "nodeType": "Block", + "src": "6049:145:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ +<<<<<<< Updated upstream 86751 +======= + 118635 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 86751, "mutability": "mutable", "name": "length", @@ -6261,198 +9875,176 @@ "nodeType": "VariableDeclaration", "scope": 86810, "src": "6293:14:147", +======= + "id": 118635, + "mutability": "mutable", + "name": "tierValue", + "nameLocation": "6061:9:163", + "nodeType": "VariableDeclaration", + "scope": 118654, + "src": "6055:15:163", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 86750, - "name": "uint256", + "id": 118634, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "6293:7:147", + "src": "6055:5:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "visibility": "internal" } ], - "id": 86754, + "id": 118641, "initialValue": { - "expression": { - "id": 86752, - "name": "lbHashes", + "baseExpression": { + "id": 118636, + "name": "_tierOverriding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86741, - "src": "6310:8:147", + "referencedDeclaration": 118345, + "src": "6073:15:163", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 118640, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 118637, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118628, + "src": "6089:5:163", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "id": 118638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6095:9:163", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 125041, + "src": "6089:15:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 118639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6089:17:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 86753, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6319:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6310:15:147", + "nodeType": "IndexAccess", + "src": "6073:34:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "6293:32:147" + "src": "6055:52:163" }, { "condition": { "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "id": 86762, + "id": 118644, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 86755, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86751, - "src": "6335:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 86756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6345:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:11:147", + "id": 118642, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118635, + "src": "6117:9:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "nodeType": "BinaryOperation", - "operator": "||", + "operator": "==", "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86761, + "hexValue": "30", + "id": 118643, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "id": 86758, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86751, - "src": "6350:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 86759, - "name": "usdPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86744, - "src": "6360:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 86760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6370:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6360:16:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6350:26:147", + "nodeType": "Literal", + "src": "6130:1:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "src": "6335:41:147", + "src": "6117:14:163", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 86766, + "id": 118648, "nodeType": "IfStatement", - "src": "6331:74:147", + "src": "6113:47:163", "trueBody": { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 86763, - "name": "InvalidArrayLength", + "id": 118645, + "name": "TierIsNotOverriden", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91359, - "src": "6385:18:147", + "referencedDeclaration": 123304, + "src": "6140:18:163", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 86764, + "id": 118646, "isConstant": false, "isLValue": false, "isPure": false, @@ -6461,1042 +10053,777 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6385:20:147", + "src": "6140:20:163", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 86765, + "id": 118647, "nodeType": "RevertStatement", - "src": "6378:27:147" + "src": "6133:27:163" } }, { - "assignments": [ - 86768 - ], - "declarations": [ - { - "constant": false, - "id": 86768, - "mutability": "mutable", - "name": "inverseBitwise", - "nameLocation": "6419:14:147", - "nodeType": "VariableDeclaration", - "scope": 86810, - "src": "6411:22:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 86767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6411:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 86769, - "nodeType": "VariableDeclarationStatement", - "src": "6411:22:147" - }, + "expression": { + "arguments": [ + { + "id": 118651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "6178:10:163", + "subExpression": { + "id": 118650, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118635, + "src": "6179:9:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 118649, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123312, + "src": "6173:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$123312_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 118652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6173:16:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "functionReturnParameters": 118633, + "id": 118653, + "nodeType": "Return", + "src": "6166:23:163" + } + ] + }, + "baseFunctions": [ + 123512 + ], + "documentation": { + "id": 118626, + "nodeType": "StructuredDocumentation", + "src": "5921:41:163", + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "7e32146a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOverriddenTier", + "nameLocation": "5974:17:163", + "parameters": { + "id": 118629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 118628, + "mutability": "mutable", + "name": "label", + "nameLocation": "6008:5:163", + "nodeType": "VariableDeclaration", + "scope": 118655, + "src": "5992:21:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 118627, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5992:6:163", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5991:23:163" + }, + "returnParameters": { + "id": 118633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 118632, + "mutability": "mutable", + "name": "tier", + "nameLocation": "6043:4:163", + "nodeType": "VariableDeclaration", + "scope": 118655, + "src": "6038:9:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + }, + "typeName": { + "id": 118631, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118630, + "name": "Tier", + "nameLocations": [ + "6038:4:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123312, + "src": "6038:4:163" + }, + "referencedDeclaration": 123312, + "src": "6038:4:163", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "visibility": "internal" + } + ], + "src": "6037:11:163" + }, + "scope": 119626, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 118729, + "nodeType": "FunctionDefinition", + "src": "6242:577:163", + "nodes": [], + "body": { + "id": 118728, + "nodeType": "Block", + "src": "6378:441:163", + "nodes": [], + "statements": [ { "assignments": [ - 86771 + 118669 ], "declarations": [ { "constant": false, - "id": 86771, + "id": 118669, "mutability": "mutable", - "name": "operator", - "nameLocation": "6447:8:147", + "name": "length", + "nameLocation": "6392:6:163", "nodeType": "VariableDeclaration", - "scope": 86810, - "src": "6439:16:147", + "scope": 118728, + "src": "6384:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 86770, - "name": "address", +<<<<<<< Updated upstream + "id": 86750, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6439:7:147", - "stateMutability": "nonpayable", + "src": "6293:7:147", +======= + "id": 118668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6384:7:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "id": 86774, +<<<<<<< Updated upstream + "id": 86754, "initialValue": { - "arguments": [], "expression": { - "argumentTypes": [], - "id": 86772, - "name": "_msgSender", + "id": 86752, + "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72664, - "src": "6458:10:147", + "referencedDeclaration": 86741, + "src": "6310:8:147", +======= + "id": 118672, + "initialValue": { + "expression": { + "id": 118670, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118659, + "src": "6401:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" } }, - "id": 86773, +<<<<<<< Updated upstream + "id": 86753, +======= + "id": 118671, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6458:12:147", - "tryCall": false, +<<<<<<< Updated upstream + "memberLocation": "6319:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6310:15:147", +======= + "memberLocation": "6410:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6401:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6439:31:147" +<<<<<<< Updated upstream + "src": "6293:32:147" +======= + "src": "6384:32:163" +>>>>>>> Stashed changes }, { - "body": { - "id": 86808, - "nodeType": "Block", - "src": "6506:218:147", - "statements": [ - { - "expression": { - "id": 86786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 86781, - "name": "inverseBitwise", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86768, - "src": "6514:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 86785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "6531:13:147", - "subExpression": { - "baseExpression": { - "id": 86782, - "name": "usdPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86744, - "src": "6532:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 86784, - "indexExpression": { - "id": 86783, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86776, - "src": "6542:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6532:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6514:30:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 86762, +======= + "id": 118680, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 86757, +======= + "id": 118675, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 86755, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86751, + "src": "6335:6:147", +======= + "id": 118673, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118669, + "src": "6426:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", +<<<<<<< Updated upstream + "id": 86756, +======= + "id": 118674, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "6345:1:147", +======= + "src": "6436:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - "id": 86787, - "nodeType": "ExpressionStatement", - "src": "6514:30:147" + "value": "0" }, - { +<<<<<<< Updated upstream + "src": "6335:11:147", +======= + "src": "6426:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 86761, +======= + "id": 118679, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 86758, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86751, + "src": "6350:6:147", +======= + "id": 118676, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118669, + "src": "6441:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { "expression": { - "id": 86794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 86788, - "name": "_rnFeeOverriding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86425, - "src": "6552:16:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 86792, - "indexExpression": { - "baseExpression": { - "id": 86789, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86741, - "src": "6569:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 86791, - "indexExpression": { - "id": 86790, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86776, - "src": "6578:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6569:11:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6552:29:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 86793, - "name": "inverseBitwise", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86768, - "src": "6584:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6552:46:147", +<<<<<<< Updated upstream + "id": 86759, + "name": "usdPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86744, + "src": "6360:9:147", +======= + "id": 118677, + "name": "usdPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118662, + "src": "6451:9:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" } }, - "id": 86795, - "nodeType": "ExpressionStatement", - "src": "6552:46:147" +<<<<<<< Updated upstream + "id": 86760, +======= + "id": 118678, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "6370:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6360:16:147", +======= + "memberLocation": "6461:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6451:16:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "eventCall": { - "arguments": [ - { - "id": 86797, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86771, - "src": "6639:8:147", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "baseExpression": { - "id": 86798, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86741, - "src": "6649:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 86800, - "indexExpression": { - "id": 86799, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86776, - "src": "6658:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6649:11:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 86801, - "name": "inverseBitwise", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86768, - "src": "6662:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 86796, - "name": "RenewalFeeOverridingUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91413, - "src": "6611:27:147", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256)" - } - }, - "id": 86802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6611:66:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 86803, - "nodeType": "EmitStatement", - "src": "6606:71:147" - }, - { - "id": 86807, - "nodeType": "UncheckedBlock", - "src": "6686:32:147", - "statements": [ - { - "expression": { - "id": 86805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "6706:3:147", - "subExpression": { - "id": 86804, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86776, - "src": "6708:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 86806, - "nodeType": "ExpressionStatement", - "src": "6706:3:147" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 86778, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86776, - "src": "6493:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 86779, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86751, - "src": "6497:6:147", +<<<<<<< Updated upstream + "src": "6350:26:147", +======= + "src": "6441:26:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "src": "6493:10:147", +<<<<<<< Updated upstream + "src": "6335:41:147", +======= + "src": "6426:41:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 86809, - "initializationExpression": { - "assignments": [ - 86776 - ], - "declarations": [ - { - "constant": false, - "id": 86776, - "mutability": "mutable", - "name": "i", - "nameLocation": "6490:1:147", - "nodeType": "VariableDeclaration", - "scope": 86809, - "src": "6482:9:147", - "stateVariable": false, - "storageLocation": "default", +<<<<<<< Updated upstream + "id": 86766, + "nodeType": "IfStatement", + "src": "6331:74:147", +======= + "id": 118684, + "nodeType": "IfStatement", + "src": "6422:74:163", +>>>>>>> Stashed changes + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 86763, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91359, + "src": "6385:18:147", +======= + "id": 118681, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123300, + "src": "6476:18:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, +<<<<<<< Updated upstream + "id": 86764, +======= + "id": 118682, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "6385:20:147", +======= + "src": "6476:20:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, +<<<<<<< Updated upstream + "id": 86765, + "nodeType": "RevertStatement", + "src": "6378:27:147" +======= + "id": 118683, + "nodeType": "RevertStatement", + "src": "6469:27:163" +>>>>>>> Stashed changes + } + }, + { + "assignments": [ +<<<<<<< Updated upstream + 86768 +======= + 118686 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86768, + "mutability": "mutable", + "name": "inverseBitwise", + "nameLocation": "6419:14:147", + "nodeType": "VariableDeclaration", + "scope": 86810, + "src": "6411:22:147", +======= + "id": 118686, + "mutability": "mutable", + "name": "inverseBitwise", + "nameLocation": "6510:14:163", + "nodeType": "VariableDeclaration", + "scope": 118728, + "src": "6502:22:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 86767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6411:7:147", +======= + "id": 118685, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6502:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 86775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6482:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 86777, - "nodeType": "VariableDeclarationStatement", - "src": "6482:9:147" - }, - "nodeType": "ForStatement", - "src": "6477:247:147" - } - ] - }, - "baseFunctions": [ - 91578 - ], - "documentation": { - "id": 86738, - "nodeType": "StructuredDocumentation", - "src": "6107:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "dd28776d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 86747, - "name": "OVERRIDER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86380, - "src": "6269:14:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + } + }, + "visibility": "internal" } - } - ], - "id": 86748, - "kind": "modifierInvocation", - "modifierName": { - "id": 86746, - "name": "onlyRole", - "nameLocations": [ - "6260:8:147" ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 68931, - "src": "6260:8:147" +<<<<<<< Updated upstream + "id": 86769, + "nodeType": "VariableDeclarationStatement", + "src": "6411:22:147" }, - "nodeType": "ModifierInvocation", - "src": "6260:24:147" - } - ], - "name": "bulkOverrideRenewalFees", - "nameLocation": "6160:23:147", - "parameters": { - "id": 86745, - "nodeType": "ParameterList", - "parameters": [ { - "constant": false, - "id": 86741, - "mutability": "mutable", - "name": "lbHashes", - "nameLocation": "6203:8:147", - "nodeType": "VariableDeclaration", - "scope": 86811, - "src": "6184:27:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 86739, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6184:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 86740, - "nodeType": "ArrayTypeName", - "src": "6184:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" + "assignments": [ + 86771 +======= + "id": 118687, + "nodeType": "VariableDeclarationStatement", + "src": "6502:22:163" }, - { - "constant": false, - "id": 86744, - "mutability": "mutable", - "name": "usdPrices", - "nameLocation": "6232:9:147", - "nodeType": "VariableDeclaration", - "scope": 86811, - "src": "6213:28:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 86742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6213:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 86743, - "nodeType": "ArrayTypeName", - "src": "6213:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "6183:59:147" - }, - "returnParameters": { - "id": 86749, - "nodeType": "ParameterList", - "parameters": [], - "src": "6287:0:147" - }, - "scope": 87685, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 86885, - "nodeType": "FunctionDefinition", - "src": "6776:542:147", - "nodes": [], - "body": { - "id": 86884, - "nodeType": "Block", - "src": "6892:426:147", - "nodes": [], - "statements": [ { "assignments": [ - 86825 + 118689 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86825, +<<<<<<< Updated upstream + "id": 86771, "mutability": "mutable", - "name": "length", - "nameLocation": "6906:6:147", + "name": "operator", + "nameLocation": "6447:8:147", "nodeType": "VariableDeclaration", - "scope": 86884, - "src": "6898:14:147", + "scope": 86810, + "src": "6439:16:147", +======= + "id": 118689, + "mutability": "mutable", + "name": "operator", + "nameLocation": "6538:8:163", + "nodeType": "VariableDeclaration", + "scope": 118728, + "src": "6530:16:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 86824, - "name": "uint256", +<<<<<<< Updated upstream + "id": 86770, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "6898:7:147", + "src": "6439:7:147", +======= + "id": 118688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6530:7:163", +>>>>>>> Stashed changes + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "id": 86828, +<<<<<<< Updated upstream + "id": 86774, +======= + "id": 118692, +>>>>>>> Stashed changes "initialValue": { + "arguments": [], "expression": { - "id": 86826, - "name": "lbHashes", + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 86772, + "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86815, - "src": "6915:8:147", + "referencedDeclaration": 72664, + "src": "6458:10:147", +======= + "id": 118690, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "6549:10:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 86827, +<<<<<<< Updated upstream + "id": 86773, +======= + "id": 118691, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "6924:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6915:15:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "6458:12:147", +======= + "src": "6549:12:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "6898:32:147" +<<<<<<< Updated upstream + "src": "6439:31:147" }, { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 86836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 86829, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86825, - "src": "6940:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 86830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6950:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6940:11:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 86832, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86825, - "src": "6955:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { + "body": { + "id": 86808, + "nodeType": "Block", + "src": "6506:218:147", + "statements": [ + { "expression": { - "id": 86833, - "name": "tiers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86818, - "src": "6965:5:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 86834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "6971:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "6965:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6955:22:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6940:37:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 86840, - "nodeType": "IfStatement", - "src": "6936:70:147", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 86837, - "name": "InvalidArrayLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91359, - "src": "6986:18:147", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 86838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6986:20:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 86839, - "nodeType": "RevertStatement", - "src": "6979:27:147" - } - }, - { - "assignments": [ - 86842 - ], - "declarations": [ - { - "constant": false, - "id": 86842, - "mutability": "mutable", - "name": "inverseBitwise", - "nameLocation": "7020:14:147", - "nodeType": "VariableDeclaration", - "scope": 86884, - "src": "7012:22:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 86841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7012:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 86843, - "nodeType": "VariableDeclarationStatement", - "src": "7012:22:147" - }, - { - "assignments": [ - 86845 - ], - "declarations": [ - { - "constant": false, - "id": 86845, - "mutability": "mutable", - "name": "operator", - "nameLocation": "7048:8:147", - "nodeType": "VariableDeclaration", - "scope": 86884, - "src": "7040:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 86844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7040:7:147", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 86848, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 86846, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72664, - "src": "7059:10:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 86847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7059:12:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7040:31:147" + "id": 86786, +======= + "src": "6530:31:163" }, { "body": { - "id": 86882, + "id": 118726, "nodeType": "Block", - "src": "7107:207:147", + "src": "6597:218:163", "statements": [ { "expression": { - "id": 86860, + "id": 118704, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 86855, +<<<<<<< Updated upstream + "id": 86781, "name": "inverseBitwise", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86842, - "src": "7115:14:147", + "referencedDeclaration": 86768, + "src": "6514:14:147", +======= + "id": 118699, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118686, + "src": "6605:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7505,7 +10832,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 86859, +<<<<<<< Updated upstream + "id": 86785, +======= + "id": 118703, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -7513,28 +10844,51 @@ "nodeType": "UnaryOperation", "operator": "~", "prefix": true, - "src": "7132:9:147", +<<<<<<< Updated upstream + "src": "6531:13:147", "subExpression": { "baseExpression": { - "id": 86856, - "name": "tiers", + "id": 86782, + "name": "usdPrices", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86818, - "src": "7133:5:147", + "referencedDeclaration": 86744, + "src": "6532:9:147", +======= + "src": "6622:13:163", + "subExpression": { + "baseExpression": { + "id": 118700, + "name": "usdPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118662, + "src": "6623:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 86858, +<<<<<<< Updated upstream + "id": 86784, "indexExpression": { - "id": 86857, + "id": 86783, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86850, - "src": "7139:1:147", + "referencedDeclaration": 86776, + "src": "6542:1:147", +======= + "id": 118702, + "indexExpression": { + "id": 118701, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118694, + "src": "6633:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7545,7 +10899,11 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7133:8:147", +<<<<<<< Updated upstream + "src": "6532:12:147", +======= + "src": "6623:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7556,58 +10914,104 @@ "typeString": "uint256" } }, - "src": "7115:26:147", +<<<<<<< Updated upstream + "src": "6514:30:147", +======= + "src": "6605:30:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86861, +<<<<<<< Updated upstream + "id": 86787, "nodeType": "ExpressionStatement", - "src": "7115:26:147" + "src": "6514:30:147" }, { "expression": { - "id": 86868, + "id": 86794, +======= + "id": 118705, + "nodeType": "ExpressionStatement", + "src": "6605:30:163" + }, + { + "expression": { + "id": 118712, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 86862, - "name": "_tierOverriding", +<<<<<<< Updated upstream + "id": 86788, + "name": "_rnFeeOverriding", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86430, - "src": "7149:15:147", + "referencedDeclaration": 86425, + "src": "6552:16:147", +======= + "id": 118706, + "name": "_rnFeeOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118340, + "src": "6643:16:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" } }, - "id": 86866, +<<<<<<< Updated upstream + "id": 86792, "indexExpression": { "baseExpression": { - "id": 86863, + "id": 86789, "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86815, - "src": "7165:8:147", + "referencedDeclaration": 86741, + "src": "6569:8:147", +======= + "id": 118710, + "indexExpression": { + "baseExpression": { + "id": 118707, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118659, + "src": "6660:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 86865, +<<<<<<< Updated upstream + "id": 86791, "indexExpression": { - "id": 86864, + "id": 86790, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86850, - "src": "7174:1:147", + "referencedDeclaration": 86776, + "src": "6578:1:147", +======= + "id": 118709, + "indexExpression": { + "id": 118708, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118694, + "src": "6669:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7618,7 +11022,11 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7165:11:147", +<<<<<<< Updated upstream + "src": "6569:11:147", +======= + "src": "6660:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -7629,7 +11037,11 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7149:28:147", +<<<<<<< Updated upstream + "src": "6552:29:147", +======= + "src": "6643:29:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7638,37 +11050,65 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 86867, +<<<<<<< Updated upstream + "id": 86793, "name": "inverseBitwise", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86842, - "src": "7180:14:147", + "referencedDeclaration": 86768, + "src": "6584:14:147", +======= + "id": 118711, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118686, + "src": "6675:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7149:45:147", +<<<<<<< Updated upstream + "src": "6552:46:147", +======= + "src": "6643:46:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86869, +<<<<<<< Updated upstream + "id": 86795, "nodeType": "ExpressionStatement", - "src": "7149:45:147" + "src": "6552:46:147" +======= + "id": 118713, + "nodeType": "ExpressionStatement", + "src": "6643:46:163" +>>>>>>> Stashed changes }, { "eventCall": { "arguments": [ { - "id": 86871, +<<<<<<< Updated upstream + "id": 86797, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86845, - "src": "7229:8:147", + "referencedDeclaration": 86771, + "src": "6639:8:147", +======= + "id": 118715, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118689, + "src": "6730:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7676,25 +11116,45 @@ }, { "baseExpression": { - "id": 86872, +<<<<<<< Updated upstream + "id": 86798, "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86815, - "src": "7239:8:147", + "referencedDeclaration": 86741, + "src": "6649:8:147", +======= + "id": 118716, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118659, + "src": "6740:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 86874, +<<<<<<< Updated upstream + "id": 86800, "indexExpression": { - "id": 86873, + "id": 86799, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86850, - "src": "7248:1:147", + "referencedDeclaration": 86776, + "src": "6658:1:147", +======= + "id": 118718, + "indexExpression": { + "id": 118717, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118694, + "src": "6749:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7705,19 +11165,32 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7239:11:147", +<<<<<<< Updated upstream + "src": "6649:11:147", +======= + "src": "6740:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 86875, +<<<<<<< Updated upstream + "id": 86801, "name": "inverseBitwise", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86842, - "src": "7252:14:147", + "referencedDeclaration": 86768, + "src": "6662:14:147", +======= + "id": 118719, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118686, + "src": "6753:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7739,18 +11212,31 @@ "typeString": "uint256" } ], - "id": 86870, - "name": "TierOverridingUpdated", +<<<<<<< Updated upstream + "id": 86796, + "name": "RenewalFeeOverridingUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91422, - "src": "7207:21:147", + "referencedDeclaration": 91413, + "src": "6611:27:147", +======= + "id": 118714, + "name": "RenewalFeeOverridingUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123354, + "src": "6702:27:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", "typeString": "function (address,bytes32,uint256)" } }, - "id": 86876, +<<<<<<< Updated upstream + "id": 86802, +======= + "id": 118720, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -7759,25 +11245,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7207:60:147", +<<<<<<< Updated upstream + "src": "6611:66:147", +======= + "src": "6702:66:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 86877, +<<<<<<< Updated upstream + "id": 86803, "nodeType": "EmitStatement", - "src": "7202:65:147" + "src": "6606:71:147" }, { - "id": 86881, + "id": 86807, "nodeType": "UncheckedBlock", - "src": "7276:32:147", + "src": "6686:32:147", "statements": [ { "expression": { - "id": 86879, + "id": 86805, +======= + "id": 118721, + "nodeType": "EmitStatement", + "src": "6697:71:163" + }, + { + "id": 118725, + "nodeType": "UncheckedBlock", + "src": "6777:32:163", + "statements": [ + { + "expression": { + "id": 118723, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -7785,14 +11290,25 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, - "src": "7296:3:147", +<<<<<<< Updated upstream + "src": "6706:3:147", "subExpression": { - "id": 86878, + "id": 86804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86850, - "src": "7298:1:147", + "referencedDeclaration": 86776, + "src": "6708:1:147", +======= + "src": "6797:3:163", + "subExpression": { + "id": 118722, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118694, + "src": "6799:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7803,9 +11319,15 @@ "typeString": "uint256" } }, - "id": 86880, +<<<<<<< Updated upstream + "id": 86806, "nodeType": "ExpressionStatement", - "src": "7296:3:147" + "src": "6706:3:147" +======= + "id": 118724, + "nodeType": "ExpressionStatement", + "src": "6797:3:163" +>>>>>>> Stashed changes } ] } @@ -7816,18 +11338,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 86854, +<<<<<<< Updated upstream + "id": 86780, +======= + "id": 118698, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 86852, +<<<<<<< Updated upstream + "id": 86778, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86850, - "src": "7094:1:147", + "referencedDeclaration": 86776, + "src": "6493:1:147", +======= + "id": 118696, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118694, + "src": "6584:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7836,38 +11371,68 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 86853, +<<<<<<< Updated upstream + "id": 86779, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86825, - "src": "7098:6:147", + "referencedDeclaration": 86751, + "src": "6497:6:147", +======= + "id": 118697, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118669, + "src": "6588:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7094:10:147", +<<<<<<< Updated upstream + "src": "6493:10:147", +======= + "src": "6584:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 86883, +<<<<<<< Updated upstream + "id": 86809, "initializationExpression": { "assignments": [ - 86850 + 86776 +======= + "id": 118727, + "initializationExpression": { + "assignments": [ + 118694 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86850, +<<<<<<< Updated upstream + "id": 86776, "mutability": "mutable", "name": "i", - "nameLocation": "7091:1:147", + "nameLocation": "6490:1:147", "nodeType": "VariableDeclaration", - "scope": 86883, - "src": "7083:9:147", + "scope": 86809, + "src": "6482:9:147", +======= + "id": 118694, + "mutability": "mutable", + "name": "i", + "nameLocation": "6581:1:163", + "nodeType": "VariableDeclaration", + "scope": 118727, + "src": "6573:9:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7875,10 +11440,17 @@ "typeString": "uint256" }, "typeName": { - "id": 86849, +<<<<<<< Updated upstream + "id": 86775, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7083:7:147", + "src": "6482:7:147", +======= + "id": 118693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6573:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7887,74 +11459,134 @@ "visibility": "internal" } ], - "id": 86851, +<<<<<<< Updated upstream + "id": 86777, "nodeType": "VariableDeclarationStatement", - "src": "7083:9:147" + "src": "6482:9:147" }, "nodeType": "ForStatement", - "src": "7078:236:147" + "src": "6477:247:147" +======= + "id": 118695, + "nodeType": "VariableDeclarationStatement", + "src": "6573:9:163" + }, + "nodeType": "ForStatement", + "src": "6568:247:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ - 91588 +<<<<<<< Updated upstream + 91578 ], "documentation": { - "id": 86812, + "id": 86738, "nodeType": "StructuredDocumentation", - "src": "6732:41:147", + "src": "6107:41:147", +======= + 123522 + ], + "documentation": { + "id": 118656, + "nodeType": "StructuredDocumentation", + "src": "6198:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, - "functionSelector": "cff8372f", + "functionSelector": "dd28776d", "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 86821, +<<<<<<< Updated upstream + "id": 86747, "name": "OVERRIDER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86380, - "src": "6876:14:147", + "src": "6269:14:147", +======= + "id": 118665, + "name": "OVERRIDER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118295, + "src": "6360:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 86822, +<<<<<<< Updated upstream + "id": 86748, "kind": "modifierInvocation", "modifierName": { - "id": 86820, + "id": 86746, "name": "onlyRole", "nameLocations": [ - "6867:8:147" + "6260:8:147" ], "nodeType": "IdentifierPath", "referencedDeclaration": 68931, - "src": "6867:8:147" + "src": "6260:8:147" }, "nodeType": "ModifierInvocation", - "src": "6867:24:147" + "src": "6260:24:147" } ], - "name": "bulkOverrideTiers", - "nameLocation": "6785:17:147", + "name": "bulkOverrideRenewalFees", + "nameLocation": "6160:23:147", "parameters": { - "id": 86819, + "id": 86745, +======= + "id": 118666, + "kind": "modifierInvocation", + "modifierName": { + "id": 118664, + "name": "onlyRole", + "nameLocations": [ + "6351:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "6351:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "6351:24:163" + } + ], + "name": "bulkOverrideRenewalFees", + "nameLocation": "6251:23:163", + "parameters": { + "id": 118663, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 86815, +<<<<<<< Updated upstream + "id": 86741, "mutability": "mutable", "name": "lbHashes", - "nameLocation": "6822:8:147", + "nameLocation": "6203:8:147", "nodeType": "VariableDeclaration", - "scope": 86885, - "src": "6803:27:147", + "scope": 86811, + "src": "6184:27:147", +======= + "id": 118659, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "6294:8:163", + "nodeType": "VariableDeclaration", + "scope": 118729, + "src": "6275:27:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -7963,18 +11595,31 @@ }, "typeName": { "baseType": { - "id": 86813, +<<<<<<< Updated upstream + "id": 86739, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6803:7:147", + "src": "6184:7:147", +======= + "id": 118657, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6275:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 86814, +<<<<<<< Updated upstream + "id": 86740, "nodeType": "ArrayTypeName", - "src": "6803:9:147", + "src": "6184:9:147", +======= + "id": 118658, + "nodeType": "ArrayTypeName", + "src": "6275:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -7984,13 +11629,23 @@ }, { "constant": false, - "id": 86818, +<<<<<<< Updated upstream + "id": 86744, "mutability": "mutable", - "name": "tiers", - "nameLocation": "6851:5:147", + "name": "usdPrices", + "nameLocation": "6232:9:147", "nodeType": "VariableDeclaration", - "scope": 86885, - "src": "6832:24:147", + "scope": 86811, + "src": "6213:28:147", +======= + "id": 118662, + "mutability": "mutable", + "name": "usdPrices", + "nameLocation": "6323:9:163", + "nodeType": "VariableDeclaration", + "scope": 118729, + "src": "6304:28:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -7999,18 +11654,31 @@ }, "typeName": { "baseType": { - "id": 86816, +<<<<<<< Updated upstream + "id": 86742, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6832:7:147", + "src": "6213:7:147", +======= + "id": 118660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6304:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86817, +<<<<<<< Updated upstream + "id": 86743, "nodeType": "ArrayTypeName", - "src": "6832:9:147", + "src": "6213:9:147", +======= + "id": 118661, + "nodeType": "ArrayTypeName", + "src": "6304:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -8019,44 +11687,81 @@ "visibility": "internal" } ], - "src": "6802:55:147" +<<<<<<< Updated upstream + "src": "6183:59:147" }, "returnParameters": { - "id": 86823, + "id": 86749, "nodeType": "ParameterList", "parameters": [], - "src": "6892:0:147" + "src": "6287:0:147" }, "scope": 87685, +======= + "src": "6274:59:163" + }, + "returnParameters": { + "id": 118667, + "nodeType": "ParameterList", + "parameters": [], + "src": "6378:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 86963, +<<<<<<< Updated upstream + "id": 86885, "nodeType": "FunctionDefinition", - "src": "7366:610:147", + "src": "6776:542:147", "nodes": [], "body": { - "id": 86962, + "id": 86884, "nodeType": "Block", - "src": "7602:374:147", + "src": "6892:426:147", +======= + "id": 118809, + "nodeType": "FunctionDefinition", + "src": "6867:538:163", + "nodes": [], + "body": { + "id": 118808, + "nodeType": "Block", + "src": "6980:425:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ - 86908 +<<<<<<< Updated upstream + 86825 +======= + 118744 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86908, +<<<<<<< Updated upstream + "id": 86825, "mutability": "mutable", "name": "length", - "nameLocation": "7616:6:147", + "nameLocation": "6906:6:147", "nodeType": "VariableDeclaration", - "scope": 86962, - "src": "7608:14:147", + "scope": 86884, + "src": "6898:14:147", +======= + "id": 118744, + "mutability": "mutable", + "name": "length", + "nameLocation": "6994:6:163", + "nodeType": "VariableDeclaration", + "scope": 118808, + "src": "6986:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8064,10 +11769,17 @@ "typeString": "uint256" }, "typeName": { - "id": 86907, +<<<<<<< Updated upstream + "id": 86824, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7608:7:147", + "src": "6898:7:147", +======= + "id": 118743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6986:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8076,132 +11788,444 @@ "visibility": "internal" } ], - "id": 86915, +<<<<<<< Updated upstream + "id": 86828, "initialValue": { - "arguments": [ - { - "id": 86910, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86889, - "src": "7666:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - { - "id": 86911, - "name": "ronPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86892, - "src": "7676:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "id": 86912, - "name": "proofHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86895, - "src": "7687:11:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - { - "id": 86913, - "name": "setTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86898, - "src": "7700:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - ], - "id": 86909, - "name": "_requireBulkSetDomainPriceArgumentsValid", + "id": 86826, + "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87423, - "src": "7625:40:147", + "referencedDeclaration": 86815, + "src": "6915:8:147", +======= + "id": 118747, + "initialValue": { + "expression": { + "id": 118745, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118733, + "src": "7003:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes32[] calldata,uint256[] calldata,bytes32[] calldata,uint256[] calldata) pure returns (uint256)" + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" } }, - "id": 86914, +<<<<<<< Updated upstream + "id": 86827, +======= + "id": 118746, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7625:84:147", - "tryCall": false, +<<<<<<< Updated upstream + "memberLocation": "6924:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6915:15:147", +======= + "memberLocation": "7012:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7003:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "7608:101:147" +<<<<<<< Updated upstream + "src": "6898:32:147" +======= + "src": "6986:32:163" +>>>>>>> Stashed changes }, { - "assignments": [ - 86917 - ], - "declarations": [ - { - "constant": false, - "id": 86917, - "mutability": "mutable", - "name": "operator", - "nameLocation": "7723:8:147", - "nodeType": "VariableDeclaration", - "scope": 86962, - "src": "7715:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 86836, +======= + "id": 118755, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 86831, +======= + "id": 118750, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 86829, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86825, + "src": "6940:6:147", +======= + "id": 118748, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118744, + "src": "7028:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", +<<<<<<< Updated upstream + "id": 86830, +======= + "id": 118749, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "6950:1:147", +======= + "src": "7038:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, +<<<<<<< Updated upstream + "src": "6940:11:147", +======= + "src": "7028:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 86835, +======= + "id": 118754, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 86832, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86825, + "src": "6955:6:147", +======= + "id": 118751, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118744, + "src": "7043:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { +<<<<<<< Updated upstream + "id": 86833, + "name": "tiers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86818, + "src": "6965:5:147", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 86834, +======= + "id": 118752, + "name": "tiers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118737, + "src": "7053:5:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_enum$_Tier_$123312_$dyn_calldata_ptr", + "typeString": "enum INSDomainPrice.Tier[] calldata" + } + }, + "id": 118753, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "6971:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6965:12:147", +======= + "memberLocation": "7059:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7053:12:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "6955:22:147", +======= + "src": "7043:22:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "src": "6940:37:147", +======= + "src": "7028:37:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "id": 86840, + "nodeType": "IfStatement", + "src": "6936:70:147", +======= + "id": 118759, + "nodeType": "IfStatement", + "src": "7024:70:163", +>>>>>>> Stashed changes + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 86837, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91359, + "src": "6986:18:147", +======= + "id": 118756, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123300, + "src": "7074:18:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, +<<<<<<< Updated upstream + "id": 86838, +======= + "id": 118757, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "6986:20:147", +======= + "src": "7074:20:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, +<<<<<<< Updated upstream + "id": 86839, + "nodeType": "RevertStatement", + "src": "6979:27:147" +======= + "id": 118758, + "nodeType": "RevertStatement", + "src": "7067:27:163" +>>>>>>> Stashed changes + } + }, + { + "assignments": [ +<<<<<<< Updated upstream + 86842 +======= + 118761 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86842, + "mutability": "mutable", + "name": "inverseBitwise", + "nameLocation": "7020:14:147", + "nodeType": "VariableDeclaration", + "scope": 86884, + "src": "7012:22:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 86916, + "id": 86841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7012:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" +======= + "id": 118761, + "mutability": "mutable", + "name": "inverseBitwise", + "nameLocation": "7106:14:163", + "nodeType": "VariableDeclaration", + "scope": 118808, + "src": "7100:20:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 118760, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7100:5:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" +>>>>>>> Stashed changes + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 86843, + "nodeType": "VariableDeclarationStatement", + "src": "7012:22:147" + }, + { + "assignments": [ + 86845 +======= + "id": 118762, + "nodeType": "VariableDeclarationStatement", + "src": "7100:20:163" + }, + { + "assignments": [ + 118764 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86845, + "mutability": "mutable", + "name": "operator", + "nameLocation": "7048:8:147", + "nodeType": "VariableDeclaration", + "scope": 86884, + "src": "7040:16:147", +======= + "id": 118764, + "mutability": "mutable", + "name": "operator", + "nameLocation": "7134:8:163", + "nodeType": "VariableDeclaration", + "scope": 118808, + "src": "7126:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 86844, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7715:7:147", + "src": "7040:7:147", +======= + "id": 118763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7126:7:163", +>>>>>>> Stashed changes "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8211,23 +12235,40 @@ "visibility": "internal" } ], - "id": 86920, +<<<<<<< Updated upstream + "id": 86848, +======= + "id": 118767, +>>>>>>> Stashed changes "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 86918, +<<<<<<< Updated upstream + "id": 86846, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 72664, - "src": "7734:10:147", + "src": "7059:10:147", +======= + "id": 118765, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "7145:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 86919, +<<<<<<< Updated upstream + "id": 86847, +======= + "id": 118766, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -8236,7 +12277,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7734:12:147", +<<<<<<< Updated upstream + "src": "7059:12:147", +======= + "src": "7145:12:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -8244,660 +12289,926 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7715:31:147" +<<<<<<< Updated upstream + "src": "7040:31:147" }, { - "expression": { - "id": 86927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 86921, - "name": "updated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86905, - "src": "7752:7:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 86925, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86908, - "src": "7773:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 86924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7762:10:147", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (bool[] memory)" - }, - "typeName": { - "baseType": { - "id": 86922, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7766:4:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 86923, - "nodeType": "ArrayTypeName", - "src": "7766:6:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" - } - } - }, - "id": 86926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7762:18:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "src": "7752:28:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 86928, - "nodeType": "ExpressionStatement", - "src": "7752:28:147" + "body": { + "id": 86882, + "nodeType": "Block", + "src": "7107:207:147", + "statements": [ + { + "expression": { + "id": 86860, +======= + "src": "7126:31:163" }, { "body": { - "id": 86960, + "id": 118806, "nodeType": "Block", - "src": "7816:156:147", + "src": "7193:208:163", "statements": [ { "expression": { - "id": 86954, + "id": 118782, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "baseExpression": { - "id": 86935, - "name": "updated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86905, - "src": "7824:7:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[] memory" - } - }, - "id": 86937, - "indexExpression": { - "id": 86936, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7832:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7824:10:147", +<<<<<<< Updated upstream + "id": 86855, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86842, + "src": "7115:14:147", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" +======= + "id": 118774, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118761, + "src": "7201:14:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" +>>>>>>> Stashed changes } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "arguments": [ - { - "id": 86939, - "name": "operator", +<<<<<<< Updated upstream + "id": 86859, +======= + "id": 118781, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, +<<<<<<< Updated upstream + "src": "7132:9:147", + "subExpression": { + "baseExpression": { + "id": 86856, + "name": "tiers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86917, - "src": "7853:8:147", + "referencedDeclaration": 86818, + "src": "7133:5:147", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" } }, - { - "baseExpression": { - "id": 86940, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86889, - "src": "7863:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 86942, - "indexExpression": { - "id": 86941, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7872:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7863:11:147", + "id": 86858, + "indexExpression": { + "id": 86857, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86850, + "src": "7139:1:147", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - { - "baseExpression": { - "id": 86943, - "name": "ronPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86892, - "src": "7876:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 86945, - "indexExpression": { - "id": 86944, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7886:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7876:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 86946, - "name": "proofHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86895, - "src": "7890:11:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 86948, - "indexExpression": { - "id": 86947, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7902:1:147", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7133:8:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7115:26:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 86861, + "nodeType": "ExpressionStatement", + "src": "7115:26:147" + }, + { + "expression": { + "id": 86868, +======= + "src": "7218:16:163", + "subExpression": { + "arguments": [ + { + "baseExpression": { + "id": 118777, + "name": "tiers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118737, + "src": "7225:5:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_enum$_Tier_$123312_$dyn_calldata_ptr", + "typeString": "enum INSDomainPrice.Tier[] calldata" + } + }, + "id": 118779, + "indexExpression": { + "id": 118778, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7231:1:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7225:8:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7890:14:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } - }, - { - "baseExpression": { - "id": 86949, - "name": "setTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86898, - "src": "7906:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 86951, - "indexExpression": { - "id": 86950, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7915:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7906:11:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 86952, + ], + "id": 118776, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", "lValueRequested": false, - "nodeType": "Literal", - "src": "7919:5:147", + "nodeType": "ElementaryTypeNameExpression", + "src": "7219:5:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeName": { + "id": 118775, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7219:5:163", + "typeDescriptions": {} } - ], - "id": 86938, - "name": "_setDomainPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87488, - "src": "7837:15:147", + }, + "id": 118780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7219:15:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256,bytes32,uint256,bool) returns (bool)" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 86953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7837:88:147", - "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "src": "7824:101:147", + "src": "7201:33:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 86955, + "id": 118783, "nodeType": "ExpressionStatement", - "src": "7824:101:147" + "src": "7201:33:163" }, { - "id": 86959, - "nodeType": "UncheckedBlock", - "src": "7934:32:147", - "statements": [ - { - "expression": { - "id": 86957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "7954:3:147", - "subExpression": { - "id": 86956, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7956:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "expression": { + "id": 118790, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { +<<<<<<< Updated upstream + "id": 86862, + "name": "_tierOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86430, + "src": "7149:15:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" } }, - "id": 86958, - "nodeType": "ExpressionStatement", - "src": "7954:3:147" - } - ] - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 86934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 86932, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86930, - "src": "7803:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 86933, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86908, - "src": "7807:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7803:10:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 86961, - "initializationExpression": { - "assignments": [ - 86930 - ], - "declarations": [ - { - "constant": false, - "id": 86930, - "mutability": "mutable", - "name": "i", - "nameLocation": "7800:1:147", - "nodeType": "VariableDeclaration", - "scope": 86961, - "src": "7792:9:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 86929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7792:7:147", + "id": 86866, + "indexExpression": { + "baseExpression": { + "id": 86863, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86815, + "src": "7165:8:147", +======= + "id": 118784, + "name": "_tierOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118345, + "src": "7242:15:163", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, + "id": 118788, + "indexExpression": { + "baseExpression": { + "id": 118785, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118733, + "src": "7258:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86865, + "indexExpression": { + "id": 86864, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86850, + "src": "7174:1:147", +======= + "id": 118787, + "indexExpression": { + "id": 118786, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7267:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7165:11:147", +======= + "src": "7258:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7149:28:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" +======= + "src": "7242:28:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" +>>>>>>> Stashed changes + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { +<<<<<<< Updated upstream + "id": 86867, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86842, + "src": "7180:14:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7149:45:147", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" - } - ], - "id": 86931, - "nodeType": "VariableDeclarationStatement", - "src": "7792:9:147" - }, - "nodeType": "ForStatement", - "src": "7787:185:147" - } - ] - }, - "baseFunctions": [ - 91607 - ], - "documentation": { - "id": 86886, - "nodeType": "StructuredDocumentation", - "src": "7322:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "53faf909", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 86901, - "name": "OPERATOR_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86374, - "src": "7555:13:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 86902, - "kind": "modifierInvocation", - "modifierName": { - "id": 86900, - "name": "onlyRole", - "nameLocations": [ - "7546:8:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 68931, - "src": "7546:8:147" - }, - "nodeType": "ModifierInvocation", - "src": "7546:23:147" - } - ], - "name": "bulkTrySetDomainPrice", - "nameLocation": "7375:21:147", - "parameters": { - "id": 86899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86889, - "mutability": "mutable", - "name": "lbHashes", - "nameLocation": "7421:8:147", - "nodeType": "VariableDeclaration", - "scope": 86963, - "src": "7402:27:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 86887, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7402:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 86888, - "nodeType": "ArrayTypeName", - "src": "7402:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 86892, - "mutability": "mutable", - "name": "ronPrices", - "nameLocation": "7454:9:147", - "nodeType": "VariableDeclaration", - "scope": 86963, - "src": "7435:28:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" + "id": 86869, + "nodeType": "ExpressionStatement", + "src": "7149:45:147" +======= + "id": 118789, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118761, + "src": "7273:14:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "7242:45:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 118791, + "nodeType": "ExpressionStatement", + "src": "7242:45:163" +>>>>>>> Stashed changes + }, + { + "eventCall": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 86871, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86845, + "src": "7229:8:147", +======= + "id": 118793, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118764, + "src": "7322:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 86872, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86815, + "src": "7239:8:147", +======= + "id": 118794, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118733, + "src": "7332:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86874, + "indexExpression": { + "id": 86873, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86850, + "src": "7248:1:147", +======= + "id": 118796, + "indexExpression": { + "id": 118795, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7341:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7239:11:147", +======= + "src": "7332:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { +<<<<<<< Updated upstream + "id": 86875, + "name": "inverseBitwise", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86842, + "src": "7252:14:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" +======= + "baseExpression": { + "id": 118797, + "name": "tiers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118737, + "src": "7345:5:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_enum$_Tier_$123312_$dyn_calldata_ptr", + "typeString": "enum INSDomainPrice.Tier[] calldata" + } + }, + "id": 118799, + "indexExpression": { + "id": 118798, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7351:1:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7345:8:163", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" +>>>>>>> Stashed changes + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { +<<<<<<< Updated upstream + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 86870, + "name": "TierOverridingUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91422, + "src": "7207:21:147", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256)" + } + }, + "id": 86876, +======= + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + ], + "id": 118792, + "name": "TierOverridingUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123364, + "src": "7300:21:163", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_enum$_Tier_$123312_$returns$__$", + "typeString": "function (address,bytes32,enum INSDomainPrice.Tier)" + } + }, + "id": 118800, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "7207:60:147", +======= + "src": "7300:54:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, +<<<<<<< Updated upstream + "id": 86877, + "nodeType": "EmitStatement", + "src": "7202:65:147" + }, + { + "id": 86881, + "nodeType": "UncheckedBlock", + "src": "7276:32:147", + "statements": [ + { + "expression": { + "id": 86879, +======= + "id": 118801, + "nodeType": "EmitStatement", + "src": "7295:59:163" + }, + { + "id": 118805, + "nodeType": "UncheckedBlock", + "src": "7363:32:163", + "statements": [ + { + "expression": { + "id": 118803, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, +<<<<<<< Updated upstream + "src": "7296:3:147", + "subExpression": { + "id": 86878, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86850, + "src": "7298:1:147", +======= + "src": "7383:3:163", + "subExpression": { + "id": 118802, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7385:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 86880, + "nodeType": "ExpressionStatement", + "src": "7296:3:147" +======= + "id": 118804, + "nodeType": "ExpressionStatement", + "src": "7383:3:163" +>>>>>>> Stashed changes + } + ] + } + ] }, - "typeName": { - "baseType": { - "id": 86890, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7435:7:147", + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 86854, +======= + "id": 118773, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 86852, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86850, + "src": "7094:1:147", +======= + "id": 118771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118769, + "src": "7180:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86891, - "nodeType": "ArrayTypeName", - "src": "7435:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { +<<<<<<< Updated upstream + "id": 86853, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86825, + "src": "7098:6:147", +======= + "id": 118772, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118744, + "src": "7184:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "7094:10:147", +======= + "src": "7180:10:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "internal" +<<<<<<< Updated upstream + "id": 86883, + "initializationExpression": { + "assignments": [ + 86850 +======= + "id": 118807, + "initializationExpression": { + "assignments": [ + 118769 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86850, + "mutability": "mutable", + "name": "i", + "nameLocation": "7091:1:147", + "nodeType": "VariableDeclaration", + "scope": 86883, + "src": "7083:9:147", +======= + "id": 118769, + "mutability": "mutable", + "name": "i", + "nameLocation": "7177:1:163", + "nodeType": "VariableDeclaration", + "scope": 118807, + "src": "7169:9:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 86849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7083:7:147", +======= + "id": 118768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7169:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 86851, + "nodeType": "VariableDeclarationStatement", + "src": "7083:9:147" + }, + "nodeType": "ForStatement", + "src": "7078:236:147" +======= + "id": 118770, + "nodeType": "VariableDeclarationStatement", + "src": "7169:9:163" + }, + "nodeType": "ForStatement", + "src": "7164:237:163" +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91588 + ], + "documentation": { + "id": 86812, + "nodeType": "StructuredDocumentation", + "src": "6732:41:147", + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "cff8372f", +======= + 123533 + ], + "documentation": { + "id": 118730, + "nodeType": "StructuredDocumentation", + "src": "6823:41:163", + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "59228107", +>>>>>>> Stashed changes + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 86821, + "name": "OVERRIDER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86380, + "src": "6876:14:147", +======= + "id": 118740, + "name": "OVERRIDER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118295, + "src": "6964:14:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], +<<<<<<< Updated upstream + "id": 86822, + "kind": "modifierInvocation", + "modifierName": { + "id": 86820, + "name": "onlyRole", + "nameLocations": [ + "6867:8:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 68931, + "src": "6867:8:147" + }, + "nodeType": "ModifierInvocation", + "src": "6867:24:147" + } + ], + "name": "bulkOverrideTiers", + "nameLocation": "6785:17:147", + "parameters": { + "id": 86819, +======= + "id": 118741, + "kind": "modifierInvocation", + "modifierName": { + "id": 118739, + "name": "onlyRole", + "nameLocations": [ + "6955:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "6955:8:163" }, + "nodeType": "ModifierInvocation", + "src": "6955:24:163" + } + ], + "name": "bulkOverrideTiers", + "nameLocation": "6876:17:163", + "parameters": { + "id": 118738, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 86895, +<<<<<<< Updated upstream + "id": 86815, "mutability": "mutable", - "name": "proofHashes", - "nameLocation": "7488:11:147", + "name": "lbHashes", + "nameLocation": "6822:8:147", "nodeType": "VariableDeclaration", - "scope": 86963, - "src": "7469:30:147", + "scope": 86885, + "src": "6803:27:147", +======= + "id": 118733, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "6913:8:163", + "nodeType": "VariableDeclaration", + "scope": 118809, + "src": "6894:27:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -8906,18 +13217,31 @@ }, "typeName": { "baseType": { - "id": 86893, +<<<<<<< Updated upstream + "id": 86813, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "7469:7:147", + "src": "6803:7:147", +======= + "id": 118731, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6894:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 86894, +<<<<<<< Updated upstream + "id": 86814, "nodeType": "ArrayTypeName", - "src": "7469:9:147", + "src": "6803:9:147", +======= + "id": 118732, + "nodeType": "ArrayTypeName", + "src": "6894:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -8927,13 +13251,14 @@ }, { "constant": false, - "id": 86898, +<<<<<<< Updated upstream + "id": 86818, "mutability": "mutable", - "name": "setTypes", - "nameLocation": "7524:8:147", + "name": "tiers", + "nameLocation": "6851:5:147", "nodeType": "VariableDeclaration", - "scope": 86963, - "src": "7505:27:147", + "scope": 86885, + "src": "6832:24:147", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -8942,101 +13267,143 @@ }, "typeName": { "baseType": { - "id": 86896, + "id": 86816, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7505:7:147", + "src": "6832:7:147", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86897, + "id": 86817, "nodeType": "ArrayTypeName", - "src": "7505:9:147", + "src": "6832:9:147", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "7396:140:147" - }, - "returnParameters": { - "id": 86906, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86905, +======= + "id": 118737, "mutability": "mutable", - "name": "updated", - "nameLocation": "7593:7:147", + "name": "tiers", + "nameLocation": "6939:5:163", "nodeType": "VariableDeclaration", - "scope": 86963, - "src": "7579:21:147", + "scope": 118809, + "src": "6923:21:163", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", - "typeString": "bool[]" + "typeIdentifier": "t_array$_t_enum$_Tier_$123312_$dyn_calldata_ptr", + "typeString": "enum INSDomainPrice.Tier[]" }, "typeName": { "baseType": { - "id": 86903, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7579:4:147", + "id": 118735, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118734, + "name": "Tier", + "nameLocations": [ + "6923:4:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123312, + "src": "6923:4:163" + }, + "referencedDeclaration": 123312, + "src": "6923:4:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" } }, - "id": 86904, + "id": 118736, "nodeType": "ArrayTypeName", - "src": "7579:6:147", + "src": "6923:6:163", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", - "typeString": "bool[]" + "typeIdentifier": "t_array$_t_enum$_Tier_$123312_$dyn_storage_ptr", + "typeString": "enum INSDomainPrice.Tier[]" +>>>>>>> Stashed changes } }, "visibility": "internal" } ], - "src": "7578:23:147" +<<<<<<< Updated upstream + "src": "6802:55:147" + }, + "returnParameters": { + "id": 86823, + "nodeType": "ParameterList", + "parameters": [], + "src": "6892:0:147" }, "scope": 87685, +======= + "src": "6893:52:163" + }, + "returnParameters": { + "id": 118742, + "nodeType": "ParameterList", + "parameters": [], + "src": "6980:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 87026, +<<<<<<< Updated upstream + "id": 86963, "nodeType": "FunctionDefinition", - "src": "8024:527:147", + "src": "7366:610:147", "nodes": [], "body": { - "id": 87025, + "id": 86962, "nodeType": "Block", - "src": "8226:325:147", + "src": "7602:374:147", +======= + "id": 118887, + "nodeType": "FunctionDefinition", + "src": "7453:610:163", + "nodes": [], + "body": { + "id": 118886, + "nodeType": "Block", + "src": "7689:374:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ - 86983 +<<<<<<< Updated upstream + 86908 +======= + 118832 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86983, +<<<<<<< Updated upstream + "id": 86908, "mutability": "mutable", "name": "length", - "nameLocation": "8240:6:147", + "nameLocation": "7616:6:147", "nodeType": "VariableDeclaration", - "scope": 87025, - "src": "8232:14:147", + "scope": 86962, + "src": "7608:14:147", +======= + "id": 118832, + "mutability": "mutable", + "name": "length", + "nameLocation": "7703:6:163", + "nodeType": "VariableDeclaration", + "scope": 118886, + "src": "7695:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9044,10 +13411,17 @@ "typeString": "uint256" }, "typeName": { - "id": 86982, +<<<<<<< Updated upstream + "id": 86907, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8232:7:147", + "src": "7608:7:147", +======= + "id": 118831, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7695:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9056,52 +13430,92 @@ "visibility": "internal" } ], - "id": 86990, +<<<<<<< Updated upstream + "id": 86915, "initialValue": { "arguments": [ { - "id": 86985, + "id": 86910, "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86967, - "src": "8290:8:147", + "referencedDeclaration": 86889, + "src": "7666:8:147", +======= + "id": 118839, + "initialValue": { + "arguments": [ + { + "id": 118834, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118813, + "src": "7753:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, { - "id": 86986, +<<<<<<< Updated upstream + "id": 86911, "name": "ronPrices", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86970, - "src": "8300:9:147", + "referencedDeclaration": 86892, + "src": "7676:9:147", +======= + "id": 118835, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118816, + "src": "7763:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, { - "id": 86987, +<<<<<<< Updated upstream + "id": 86912, "name": "proofHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86973, - "src": "8311:11:147", + "referencedDeclaration": 86895, + "src": "7687:11:147", +======= + "id": 118836, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118819, + "src": "7774:11:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, { - "id": 86988, +<<<<<<< Updated upstream + "id": 86913, "name": "setTypes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86976, - "src": "8324:8:147", + "referencedDeclaration": 86898, + "src": "7700:8:147", +======= + "id": 118837, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118822, + "src": "7787:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" @@ -9127,18 +13541,31 @@ "typeString": "uint256[] calldata" } ], - "id": 86984, +<<<<<<< Updated upstream + "id": 86909, "name": "_requireBulkSetDomainPriceArgumentsValid", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87423, - "src": "8249:40:147", + "src": "7625:40:147", +======= + "id": 118833, + "name": "_requireBulkSetDomainPriceArgumentsValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119185, + "src": "7712:40:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$returns$_t_uint256_$", "typeString": "function (bytes32[] calldata,uint256[] calldata,bytes32[] calldata,uint256[] calldata) pure returns (uint256)" } }, - "id": 86989, +<<<<<<< Updated upstream + "id": 86914, +======= + "id": 118838, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -9147,7 +13574,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8249:84:147", +<<<<<<< Updated upstream + "src": "7625:84:147", +======= + "src": "7712:84:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9155,22 +13586,40 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8232:101:147" +<<<<<<< Updated upstream + "src": "7608:101:147" }, { "assignments": [ - 86992 + 86917 +======= + "src": "7695:101:163" + }, + { + "assignments": [ + 118841 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86992, +<<<<<<< Updated upstream + "id": 86917, "mutability": "mutable", "name": "operator", - "nameLocation": "8347:8:147", + "nameLocation": "7723:8:147", "nodeType": "VariableDeclaration", - "scope": 87025, - "src": "8339:16:147", + "scope": 86962, + "src": "7715:16:147", +======= + "id": 118841, + "mutability": "mutable", + "name": "operator", + "nameLocation": "7810:8:163", + "nodeType": "VariableDeclaration", + "scope": 118886, + "src": "7802:16:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9178,10 +13627,17 @@ "typeString": "address" }, "typeName": { - "id": 86991, +<<<<<<< Updated upstream + "id": 86916, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8339:7:147", + "src": "7715:7:147", +======= + "id": 118840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7802:7:163", +>>>>>>> Stashed changes "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9191,23 +13647,40 @@ "visibility": "internal" } ], - "id": 86995, +<<<<<<< Updated upstream + "id": 86920, +======= + "id": 118844, +>>>>>>> Stashed changes "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 86993, +<<<<<<< Updated upstream + "id": 86918, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 72664, - "src": "8358:10:147", + "src": "7734:10:147", +======= + "id": 118842, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "7821:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 86994, +<<<<<<< Updated upstream + "id": 86919, +======= + "id": 118843, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -9216,7 +13689,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8358:12:147", +<<<<<<< Updated upstream + "src": "7734:12:147", +======= + "src": "7821:12:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9224,260 +13701,659 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "8339:31:147" +<<<<<<< Updated upstream + "src": "7715:31:147" + }, + { + "expression": { + "id": 86927, +======= + "src": "7802:31:163" + }, + { + "expression": { + "id": 118851, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 86921, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86905, + "src": "7752:7:147", +======= + "id": 118845, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118829, + "src": "7839:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 86925, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86908, + "src": "7773:6:147", +======= + "id": 118849, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118832, + "src": "7860:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], +<<<<<<< Updated upstream + "id": 86924, +======= + "id": 118848, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", +<<<<<<< Updated upstream + "src": "7762:10:147", +======= + "src": "7849:10:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (bool[] memory)" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 86922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7766:4:147", +======= + "id": 118846, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7853:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "id": 86923, + "nodeType": "ArrayTypeName", + "src": "7766:6:147", +======= + "id": 118847, + "nodeType": "ArrayTypeName", + "src": "7853:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + } + }, +<<<<<<< Updated upstream + "id": 86926, +======= + "id": 118850, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "7762:18:147", +======= + "src": "7849:18:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, +<<<<<<< Updated upstream + "src": "7752:28:147", +======= + "src": "7839:28:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, +<<<<<<< Updated upstream + "id": 86928, + "nodeType": "ExpressionStatement", + "src": "7752:28:147" }, { "body": { - "id": 87023, + "id": 86960, "nodeType": "Block", - "src": "8406:141:147", + "src": "7816:156:147", "statements": [ { "expression": { - "arguments": [ - { - "id": 87003, - "name": "operator", + "id": 86954, +======= + "id": 118852, + "nodeType": "ExpressionStatement", + "src": "7839:28:163" + }, + { + "body": { + "id": 118884, + "nodeType": "Block", + "src": "7903:156:163", + "statements": [ + { + "expression": { + "id": 118878, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { +<<<<<<< Updated upstream + "id": 86935, + "name": "updated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86992, - "src": "8430:8:147", + "referencedDeclaration": 86905, + "src": "7824:7:147", +======= + "id": 118859, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118829, + "src": "7911:7:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" } }, - { - "baseExpression": { - "id": 87004, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86967, - "src": "8440:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 87006, - "indexExpression": { - "id": 87005, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8449:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8440:11:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 87007, - "name": "ronPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86970, - "src": "8453:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 87009, - "indexExpression": { - "id": 87008, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8463:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8453:12:147", +<<<<<<< Updated upstream + "id": 86937, + "indexExpression": { + "id": 86936, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86930, + "src": "7832:1:147", +======= + "id": 118861, + "indexExpression": { + "id": 118860, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "7919:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - { - "baseExpression": { - "id": 87010, - "name": "proofHashes", + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7824:10:147", +======= + "src": "7911:10:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 86939, + "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86973, - "src": "8467:11:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 87012, - "indexExpression": { - "id": 87011, - "name": "i", + "referencedDeclaration": 86917, + "src": "7853:8:147", +======= + "id": 118863, + "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8479:1:147", + "referencedDeclaration": 118841, + "src": "7940:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8467:14:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 87013, - "name": "setTypes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86976, - "src": "8483:8:147", + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 86940, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86889, + "src": "7863:8:147", +======= + "id": 118864, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118813, + "src": "7950:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86942, + "indexExpression": { + "id": 86941, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86930, + "src": "7872:1:147", +======= + "id": 118866, + "indexExpression": { + "id": 118865, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "7959:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7863:11:147", +======= + "src": "7950:11:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 87015, - "indexExpression": { - "id": 87014, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8492:1:147", + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 86943, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86892, + "src": "7876:9:147", +======= + "id": 118867, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118816, + "src": "7963:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86945, + "indexExpression": { + "id": 86944, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86930, + "src": "7886:1:147", +======= + "id": 118869, + "indexExpression": { + "id": 118868, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "7973:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7876:12:147", +======= + "src": "7963:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8483:11:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "74727565", - "id": 87016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8496:4:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "baseExpression": { +<<<<<<< Updated upstream + "id": 86946, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86895, + "src": "7890:11:147", +======= + "id": 118870, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118819, + "src": "7977:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86948, + "indexExpression": { + "id": 86947, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86930, + "src": "7902:1:147", +======= + "id": 118872, + "indexExpression": { + "id": 118871, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "7989:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7890:14:147", +======= + "src": "7977:14:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "baseExpression": { +<<<<<<< Updated upstream + "id": 86949, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86898, + "src": "7906:8:147", +======= + "id": 118873, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118822, + "src": "7993:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 86951, + "indexExpression": { + "id": 86950, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86930, + "src": "7915:1:147", +======= + "id": 118875, + "indexExpression": { + "id": 118874, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "8002:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "7906:11:147", +======= + "src": "7993:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, { - "typeIdentifier": "t_bool", - "typeString": "bool" + "hexValue": "66616c7365", +<<<<<<< Updated upstream + "id": 86952, +======= + "id": 118876, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "7919:5:147", +======= + "src": "8006:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" } ], - "id": 87002, - "name": "_setDomainPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87488, - "src": "8414:15:147", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], +<<<<<<< Updated upstream + "id": 86938, + "name": "_setDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87488, + "src": "7837:15:147", +======= + "id": 118862, + "name": "_setDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119250, + "src": "7924:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,bytes32,uint256,bytes32,uint256,bool) returns (bool)" + } + }, +<<<<<<< Updated upstream + "id": 86953, +======= + "id": 118877, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "7837:88:147", +======= + "src": "7924:88:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_bool_$returns$_t_bool_$", - "typeString": "function (address,bytes32,uint256,bytes32,uint256,bool) returns (bool)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 87017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8414:87:147", - "tryCall": false, +<<<<<<< Updated upstream + "src": "7824:101:147", +======= + "src": "7911:101:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 87018, +<<<<<<< Updated upstream + "id": 86955, "nodeType": "ExpressionStatement", - "src": "8414:87:147" + "src": "7824:101:147" }, { - "id": 87022, + "id": 86959, "nodeType": "UncheckedBlock", - "src": "8509:32:147", + "src": "7934:32:147", "statements": [ { "expression": { - "id": 87020, + "id": 86957, +======= + "id": 118879, + "nodeType": "ExpressionStatement", + "src": "7911:101:163" + }, + { + "id": 118883, + "nodeType": "UncheckedBlock", + "src": "8021:32:163", + "statements": [ + { + "expression": { + "id": 118881, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -9485,14 +14361,25 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, - "src": "8529:3:147", +<<<<<<< Updated upstream + "src": "7954:3:147", "subExpression": { - "id": 87019, + "id": 86956, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8531:1:147", + "referencedDeclaration": 86930, + "src": "7956:1:147", +======= + "src": "8041:3:163", + "subExpression": { + "id": 118880, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "8043:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9503,9 +14390,15 @@ "typeString": "uint256" } }, - "id": 87021, +<<<<<<< Updated upstream + "id": 86958, "nodeType": "ExpressionStatement", - "src": "8529:3:147" + "src": "7954:3:147" +======= + "id": 118882, + "nodeType": "ExpressionStatement", + "src": "8041:3:163" +>>>>>>> Stashed changes } ] } @@ -9516,18 +14409,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 87001, +<<<<<<< Updated upstream + "id": 86934, +======= + "id": 118858, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 86999, +<<<<<<< Updated upstream + "id": 86932, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86997, - "src": "8393:1:147", + "referencedDeclaration": 86930, + "src": "7803:1:147", +======= + "id": 118856, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118854, + "src": "7890:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9536,38 +14442,68 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 87000, +<<<<<<< Updated upstream + "id": 86933, "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86983, - "src": "8397:6:147", + "referencedDeclaration": 86908, + "src": "7807:6:147", +======= + "id": 118857, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118832, + "src": "7894:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8393:10:147", +<<<<<<< Updated upstream + "src": "7803:10:147", +======= + "src": "7890:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 87024, +<<<<<<< Updated upstream + "id": 86961, "initializationExpression": { "assignments": [ - 86997 + 86930 +======= + "id": 118885, + "initializationExpression": { + "assignments": [ + 118854 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 86997, +<<<<<<< Updated upstream + "id": 86930, "mutability": "mutable", "name": "i", - "nameLocation": "8390:1:147", + "nameLocation": "7800:1:147", "nodeType": "VariableDeclaration", - "scope": 87024, - "src": "8382:9:147", + "scope": 86961, + "src": "7792:9:147", +======= + "id": 118854, + "mutability": "mutable", + "name": "i", + "nameLocation": "7887:1:163", + "nodeType": "VariableDeclaration", + "scope": 118885, + "src": "7879:9:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9575,10 +14511,17 @@ "typeString": "uint256" }, "typeName": { - "id": 86996, +<<<<<<< Updated upstream + "id": 86929, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8382:7:147", + "src": "7792:7:147", +======= + "id": 118853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7879:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9587,74 +14530,134 @@ "visibility": "internal" } ], - "id": 86998, +<<<<<<< Updated upstream + "id": 86931, "nodeType": "VariableDeclarationStatement", - "src": "8382:9:147" + "src": "7792:9:147" }, "nodeType": "ForStatement", - "src": "8377:170:147" + "src": "7787:185:147" +======= + "id": 118855, + "nodeType": "VariableDeclarationStatement", + "src": "7879:9:163" + }, + "nodeType": "ForStatement", + "src": "7874:185:163" +>>>>>>> Stashed changes } ] }, "baseFunctions": [ - 91623 +<<<<<<< Updated upstream + 91607 ], "documentation": { - "id": 86964, + "id": 86886, "nodeType": "StructuredDocumentation", - "src": "7980:41:147", + "src": "7322:41:147", +======= + 123552 + ], + "documentation": { + "id": 118810, + "nodeType": "StructuredDocumentation", + "src": "7409:41:163", +>>>>>>> Stashed changes "text": " @inheritdoc INSDomainPrice" }, - "functionSelector": "599eaabf", + "functionSelector": "53faf909", "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 86979, - "name": "OVERRIDER_ROLE", +<<<<<<< Updated upstream + "id": 86901, + "name": "OPERATOR_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86380, - "src": "8210:14:147", + "referencedDeclaration": 86374, + "src": "7555:13:147", +======= + "id": 118825, + "name": "OPERATOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118289, + "src": "7642:13:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 86980, +<<<<<<< Updated upstream + "id": 86902, "kind": "modifierInvocation", "modifierName": { - "id": 86978, + "id": 86900, "name": "onlyRole", "nameLocations": [ - "8201:8:147" + "7546:8:147" ], "nodeType": "IdentifierPath", "referencedDeclaration": 68931, - "src": "8201:8:147" + "src": "7546:8:147" }, "nodeType": "ModifierInvocation", - "src": "8201:24:147" + "src": "7546:23:147" } ], - "name": "bulkSetDomainPrice", - "nameLocation": "8033:18:147", + "name": "bulkTrySetDomainPrice", + "nameLocation": "7375:21:147", "parameters": { - "id": 86977, + "id": 86899, +======= + "id": 118826, + "kind": "modifierInvocation", + "modifierName": { + "id": 118824, + "name": "onlyRole", + "nameLocations": [ + "7633:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "7633:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "7633:23:163" + } + ], + "name": "bulkTrySetDomainPrice", + "nameLocation": "7462:21:163", + "parameters": { + "id": 118823, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 86967, +<<<<<<< Updated upstream + "id": 86889, "mutability": "mutable", "name": "lbHashes", - "nameLocation": "8076:8:147", + "nameLocation": "7421:8:147", "nodeType": "VariableDeclaration", - "scope": 87026, - "src": "8057:27:147", + "scope": 86963, + "src": "7402:27:147", +======= + "id": 118813, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "7508:8:163", + "nodeType": "VariableDeclaration", + "scope": 118887, + "src": "7489:27:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -9663,18 +14666,31 @@ }, "typeName": { "baseType": { - "id": 86965, +<<<<<<< Updated upstream + "id": 86887, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8057:7:147", + "src": "7402:7:147", +======= + "id": 118811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7489:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 86966, +<<<<<<< Updated upstream + "id": 86888, "nodeType": "ArrayTypeName", - "src": "8057:9:147", + "src": "7402:9:147", +======= + "id": 118812, + "nodeType": "ArrayTypeName", + "src": "7489:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9684,13 +14700,23 @@ }, { "constant": false, - "id": 86970, +<<<<<<< Updated upstream + "id": 86892, "mutability": "mutable", "name": "ronPrices", - "nameLocation": "8109:9:147", + "nameLocation": "7454:9:147", "nodeType": "VariableDeclaration", - "scope": 87026, - "src": "8090:28:147", + "scope": 86963, + "src": "7435:28:147", +======= + "id": 118816, + "mutability": "mutable", + "name": "ronPrices", + "nameLocation": "7541:9:163", + "nodeType": "VariableDeclaration", + "scope": 118887, + "src": "7522:28:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -9699,18 +14725,31 @@ }, "typeName": { "baseType": { - "id": 86968, +<<<<<<< Updated upstream + "id": 86890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8090:7:147", + "src": "7435:7:147", +======= + "id": 118814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7522:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86969, +<<<<<<< Updated upstream + "id": 86891, "nodeType": "ArrayTypeName", - "src": "8090:9:147", + "src": "7435:9:147", +======= + "id": 118815, + "nodeType": "ArrayTypeName", + "src": "7522:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9720,13 +14759,23 @@ }, { "constant": false, - "id": 86973, +<<<<<<< Updated upstream + "id": 86895, "mutability": "mutable", "name": "proofHashes", - "nameLocation": "8143:11:147", + "nameLocation": "7488:11:147", "nodeType": "VariableDeclaration", - "scope": 87026, - "src": "8124:30:147", + "scope": 86963, + "src": "7469:30:147", +======= + "id": 118819, + "mutability": "mutable", + "name": "proofHashes", + "nameLocation": "7575:11:163", + "nodeType": "VariableDeclaration", + "scope": 118887, + "src": "7556:30:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -9735,18 +14784,31 @@ }, "typeName": { "baseType": { - "id": 86971, +<<<<<<< Updated upstream + "id": 86893, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "8124:7:147", + "src": "7469:7:147", +======= + "id": 118817, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7556:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 86972, +<<<<<<< Updated upstream + "id": 86894, "nodeType": "ArrayTypeName", - "src": "8124:9:147", + "src": "7469:9:147", +======= + "id": 118818, + "nodeType": "ArrayTypeName", + "src": "7556:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -9756,13 +14818,23 @@ }, { "constant": false, - "id": 86976, +<<<<<<< Updated upstream + "id": 86898, "mutability": "mutable", "name": "setTypes", - "nameLocation": "8179:8:147", + "nameLocation": "7524:8:147", "nodeType": "VariableDeclaration", - "scope": 87026, - "src": "8160:27:147", + "scope": 86963, + "src": "7505:27:147", +======= + "id": 118822, + "mutability": "mutable", + "name": "setTypes", + "nameLocation": "7611:8:163", + "nodeType": "VariableDeclaration", + "scope": 118887, + "src": "7592:27:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -9771,18 +14843,31 @@ }, "typeName": { "baseType": { - "id": 86974, +<<<<<<< Updated upstream + "id": 86896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8160:7:147", + "src": "7505:7:147", +======= + "id": 118820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7592:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 86975, +<<<<<<< Updated upstream + "id": 86897, "nodeType": "ArrayTypeName", - "src": "8160:9:147", + "src": "7505:9:147", +======= + "id": 118821, + "nodeType": "ArrayTypeName", + "src": "7592:9:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9791,419 +14876,419 @@ "visibility": "internal" } ], - "src": "8051:140:147" +<<<<<<< Updated upstream + "src": "7396:140:147" }, "returnParameters": { - "id": 86981, + "id": 86906, +======= + "src": "7483:140:163" + }, + "returnParameters": { + "id": 118830, +>>>>>>> Stashed changes "nodeType": "ParameterList", - "parameters": [], - "src": "8226:0:147" + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86905, + "mutability": "mutable", + "name": "updated", + "nameLocation": "7593:7:147", + "nodeType": "VariableDeclaration", + "scope": 86963, + "src": "7579:21:147", +======= + "id": 118829, + "mutability": "mutable", + "name": "updated", + "nameLocation": "7680:7:163", + "nodeType": "VariableDeclaration", + "scope": 118887, + "src": "7666:21:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 86903, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7579:4:147", +======= + "id": 118827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7666:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "id": 86904, + "nodeType": "ArrayTypeName", + "src": "7579:6:147", +======= + "id": 118828, + "nodeType": "ArrayTypeName", + "src": "7666:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "7578:23:147" }, "scope": 87685, +======= + "src": "7665:23:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 87051, +<<<<<<< Updated upstream + "id": 87026, "nodeType": "FunctionDefinition", - "src": "8599:200:147", + "src": "8024:527:147", "nodes": [], "body": { - "id": 87050, + "id": 87025, "nodeType": "Block", - "src": "8701:98:147", + "src": "8226:325:147", +======= + "id": 118950, + "nodeType": "FunctionDefinition", + "src": "8111:527:163", + "nodes": [], + "body": { + "id": 118949, + "nodeType": "Block", + "src": "8313:325:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { - "expression": { - "id": 87042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 87036, - "name": "usdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87032, - "src": "8707:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 87038, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87029, - "src": "8734:5:147", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 87039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8740:9:147", - "memberName": "hashLabel", - "nodeType": "MemberAccess", - "referencedDeclaration": 93096, - "src": "8734:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 87040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8734:17:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "assignments": [ +<<<<<<< Updated upstream + 86983 +======= + 118907 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86983, + "mutability": "mutable", + "name": "length", + "nameLocation": "8240:6:147", + "nodeType": "VariableDeclaration", + "scope": 87025, + "src": "8232:14:147", +======= + "id": 118907, + "mutability": "mutable", + "name": "length", + "nameLocation": "8327:6:163", + "nodeType": "VariableDeclaration", + "scope": 118949, + "src": "8319:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 86982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8232:7:147", +======= + "id": 118906, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8319:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 87037, - "name": "_getDomainPrice", + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 86990, + "initialValue": { + "arguments": [ + { + "id": 86985, + "name": "lbHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87684, - "src": "8718:15:147", + "referencedDeclaration": 86967, + "src": "8290:8:147", +======= + "id": 118914, + "initialValue": { + "arguments": [ + { + "id": 118909, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118891, + "src": "8377:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" } }, - "id": 87041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8718:34:147", - "tryCall": false, + { +<<<<<<< Updated upstream + "id": 86986, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86970, + "src": "8300:9:147", +======= + "id": 118910, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118894, + "src": "8387:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { +<<<<<<< Updated upstream + "id": 86987, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86973, + "src": "8311:11:147", +======= + "id": 118911, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118897, + "src": "8398:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + { +<<<<<<< Updated upstream + "id": 86988, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86976, + "src": "8324:8:147", +======= + "id": 118912, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118900, + "src": "8411:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + ], +<<<<<<< Updated upstream + "id": 86984, + "name": "_requireBulkSetDomainPriceArgumentsValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87423, + "src": "8249:40:147", +======= + "id": 118908, + "name": "_requireBulkSetDomainPriceArgumentsValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119185, + "src": "8336:40:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$_t_array$_t_bytes32_$dyn_calldata_ptr_$_t_array$_t_uint256_$dyn_calldata_ptr_$returns$_t_uint256_$", + "typeString": "function (bytes32[] calldata,uint256[] calldata,bytes32[] calldata,uint256[] calldata) pure returns (uint256)" } }, - "src": "8707:45:147", +<<<<<<< Updated upstream + "id": 86989, +======= + "id": 118913, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "8249:84:147", +======= + "src": "8336:84:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 87043, - "nodeType": "ExpressionStatement", - "src": "8707:45:147" + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "8232:101:147" }, { - "expression": { - "id": 87048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 87044, - "name": "ronPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87034, - "src": "8758:8:147", + "assignments": [ + 86992 +======= + "src": "8319:101:163" + }, + { + "assignments": [ + 118916 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86992, + "mutability": "mutable", + "name": "operator", + "nameLocation": "8347:8:147", + "nodeType": "VariableDeclaration", + "scope": 87025, + "src": "8339:16:147", +======= + "id": 118916, + "mutability": "mutable", + "name": "operator", + "nameLocation": "8434:8:163", + "nodeType": "VariableDeclaration", + "scope": 118949, + "src": "8426:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 87046, - "name": "usdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87032, - "src": "8785:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 87045, - "name": "convertUSDToRON", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87350, - "src": "8769:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 87047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8769:25:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8758:36:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87049, - "nodeType": "ExpressionStatement", - "src": "8758:36:147" - } - ] - }, - "baseFunctions": [ - 91530 - ], - "documentation": { - "id": 87027, - "nodeType": "StructuredDocumentation", - "src": "8555:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "713a69a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getDomainPrice", - "nameLocation": "8608:14:147", - "parameters": { - "id": 87030, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87029, - "mutability": "mutable", - "name": "label", - "nameLocation": "8637:5:147", - "nodeType": "VariableDeclaration", - "scope": 87051, - "src": "8623:19:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 87028, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8623:6:147", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "8622:21:147" - }, - "returnParameters": { - "id": 87035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87032, - "mutability": "mutable", - "name": "usdPrice", - "nameLocation": "8673:8:147", - "nodeType": "VariableDeclaration", - "scope": 87051, - "src": "8665:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87031, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8665:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87034, - "mutability": "mutable", - "name": "ronPrice", - "nameLocation": "8691:8:147", - "nodeType": "VariableDeclaration", - "scope": 87051, - "src": "8683:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87033, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8683:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8664:36:147" - }, - "scope": 87685, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 87146, - "nodeType": "FunctionDefinition", - "src": "8847:751:147", - "nodes": [], - "body": { - "id": 87145, - "nodeType": "Block", - "src": "8920:678:147", - "nodes": [], - "statements": [ - { - "assignments": [ - 87060 - ], - "declarations": [ - { - "constant": false, - "id": 87060, - "mutability": "mutable", - "name": "lbHash", - "nameLocation": "8934:6:147", - "nodeType": "VariableDeclaration", - "scope": 87145, - "src": "8926:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 87059, - "name": "bytes32", +<<<<<<< Updated upstream + "id": 86991, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "8926:7:147", + "src": "8339:7:147", +======= + "id": 118915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8426:7:163", +>>>>>>> Stashed changes + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "id": 87064, +<<<<<<< Updated upstream + "id": 86995, +======= + "id": 118919, +>>>>>>> Stashed changes "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "expression": { - "id": 87061, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87054, - "src": "8943:5:147", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 87062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8949:9:147", - "memberName": "hashLabel", - "nodeType": "MemberAccess", - "referencedDeclaration": 93096, - "src": "8943:15:147", +<<<<<<< Updated upstream + "id": 86993, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72664, + "src": "8358:10:147", +======= + "id": 118917, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "8445:10:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes32)" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 87063, +<<<<<<< Updated upstream + "id": 86994, +======= + "id": 118918, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -10212,473 +15297,381 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8943:17:147", +<<<<<<< Updated upstream + "src": "8358:12:147", +======= + "src": "8445:12:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8926:34:147" - }, - { - "assignments": [ - 87066 - ], - "declarations": [ - { - "constant": false, - "id": 87066, - "mutability": "mutable", - "name": "overriddenTier", - "nameLocation": "8974:14:147", - "nodeType": "VariableDeclaration", - "scope": 87145, - "src": "8966:22:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8966:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87070, - "initialValue": { - "baseExpression": { - "id": 87067, - "name": "_tierOverriding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86430, - "src": "8991:15:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 87069, - "indexExpression": { - "id": 87068, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87060, - "src": "9007:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8991:23:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "8966:48:147" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87071, - "name": "overriddenTier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87066, - "src": "9025:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 87072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9043:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9025:19:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 87077, - "nodeType": "IfStatement", - "src": "9021:47:147", - "trueBody": { - "expression": { - "id": 87075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "9053:15:147", - "subExpression": { - "id": 87074, - "name": "overriddenTier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87066, - "src": "9054:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 87058, - "id": 87076, - "nodeType": "Return", - "src": "9046:22:147" - } +<<<<<<< Updated upstream + "src": "8339:31:147" }, { - "assignments": [ - 87079 - ], - "declarations": [ - { - "constant": false, - "id": 87079, - "mutability": "mutable", - "name": "overriddenRenewalFee", - "nameLocation": "9083:20:147", - "nodeType": "VariableDeclaration", - "scope": 87145, - "src": "9075:28:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9075:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87083, - "initialValue": { - "baseExpression": { - "id": 87080, - "name": "_rnFeeOverriding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86425, - "src": "9106:16:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 87082, - "indexExpression": { - "id": 87081, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87060, - "src": "9123:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9106:24:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9075:55:147" + "body": { + "id": 87023, + "nodeType": "Block", + "src": "8406:141:147", +======= + "src": "8426:31:163" }, { - "assignments": [ - 87085 - ], - "declarations": [ - { - "constant": false, - "id": 87085, - "mutability": "mutable", - "name": "yearlyRenewalFeeByLength", - "nameLocation": "9144:24:147", - "nodeType": "VariableDeclaration", - "scope": 87145, - "src": "9136:32:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9136:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87105, - "initialValue": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87086, - "name": "overriddenRenewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87079, - "src": "9171:20:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 87087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9195:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9171:25:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "333635", - "id": 87093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9246:8:147", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "baseExpression": { - "id": 87094, - "name": "_rnFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86414, - "src": "9257:6:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 87102, - "indexExpression": { + "body": { + "id": 118947, + "nodeType": "Block", + "src": "8493:141:163", +>>>>>>> Stashed changes + "statements": [ + { + "expression": { "arguments": [ { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 87097, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87054, - "src": "9273:5:147", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 87098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9279:6:147", - "memberName": "strlen", - "nodeType": "MemberAccess", - "referencedDeclaration": 93214, - "src": "9273:12:147", +<<<<<<< Updated upstream + "id": 87003, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86992, + "src": "8430:8:147", +======= + "id": 118927, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118916, + "src": "8517:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 87004, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86967, + "src": "8440:8:147", +======= + "id": 118928, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118891, + "src": "8527:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$", - "typeString": "function (string memory) pure returns (uint256)" + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 87006, + "indexExpression": { + "id": 87005, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86997, + "src": "8449:1:147", +======= + "id": 118930, + "indexExpression": { + "id": 118929, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118921, + "src": "8536:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87099, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9273:14:147", - "tryCall": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "8440:11:147", +======= + "src": "8527:11:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, { - "id": 87100, - "name": "_rnfMaxLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86399, - "src": "9289:13:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "baseExpression": { +<<<<<<< Updated upstream + "id": 87007, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86970, + "src": "8453:9:147", +======= + "id": 118931, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118894, + "src": "8540:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } }, - { +<<<<<<< Updated upstream + "id": 87009, + "indexExpression": { + "id": 87008, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86997, + "src": "8463:1:147", +======= + "id": 118933, + "indexExpression": { + "id": 118932, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118921, + "src": "8550:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "8453:12:147", +======= + "src": "8540:12:163", +>>>>>>> Stashed changes + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ], - "expression": { - "id": 87095, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73915, - "src": "9264:4:147", + }, + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 87010, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86973, + "src": "8467:11:147", +======= + "id": 118934, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118897, + "src": "8554:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 87012, + "indexExpression": { + "id": 87011, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86997, + "src": "8479:1:147", +======= + "id": 118936, + "indexExpression": { + "id": 118935, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118921, + "src": "8566:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "8467:14:147", +======= + "src": "8554:14:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", - "typeString": "type(library Math)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 87096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9269:3:147", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 73092, - "src": "9264:8:147", + { + "baseExpression": { +<<<<<<< Updated upstream + "id": 87013, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86976, + "src": "8483:8:147", +======= + "id": 118937, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118900, + "src": "8570:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 87015, + "indexExpression": { + "id": 87014, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86997, + "src": "8492:1:147", +======= + "id": 118939, + "indexExpression": { + "id": 118938, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118921, + "src": "8579:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "8483:11:147", +======= + "src": "8570:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", +<<<<<<< Updated upstream + "id": 87016, +======= + "id": 118940, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "8496:4:147", +======= + "src": "8583:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], +<<<<<<< Updated upstream + "id": 87002, + "name": "_setDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87488, + "src": "8414:15:147", +======= + "id": 118926, + "name": "_setDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119250, + "src": "8501:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,bytes32,uint256,bytes32,uint256,bool) returns (bool)" } }, - "id": 87101, +<<<<<<< Updated upstream + "id": 87017, +======= + "id": 118941, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -10687,3371 +15680,9491 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9264:39:147", +<<<<<<< Updated upstream + "src": "8414:87:147", +======= + "src": "8501:87:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9257:47:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } +<<<<<<< Updated upstream + "id": 87018, + "nodeType": "ExpressionStatement", + "src": "8414:87:147" }, - "src": "9246:58:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "id": 87022, + "nodeType": "UncheckedBlock", + "src": "8509:32:147", + "statements": [ + { + "expression": { + "id": 87020, +======= + "id": 118942, + "nodeType": "ExpressionStatement", + "src": "8501:87:163" + }, + { + "id": 118946, + "nodeType": "UncheckedBlock", + "src": "8596:32:163", + "statements": [ + { + "expression": { + "id": 118944, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, +<<<<<<< Updated upstream + "src": "8529:3:147", + "subExpression": { + "id": 87019, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86997, + "src": "8531:1:147", +======= + "src": "8616:3:163", + "subExpression": { + "id": 118943, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118921, + "src": "8618:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87021, + "nodeType": "ExpressionStatement", + "src": "8529:3:147" +======= + "id": 118945, + "nodeType": "ExpressionStatement", + "src": "8616:3:163" +>>>>>>> Stashed changes + } + ] } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 87104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "9171:133:147", - "trueExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "333635", - "id": 87089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9205:8:147", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 87091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "9216:21:147", - "subExpression": { - "id": 87090, - "name": "overriddenRenewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87079, - "src": "9217:20:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9205:32:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9136:168:147" - }, - { - "assignments": [ - 87107 - ], - "declarations": [ - { - "constant": false, - "id": 87107, - "mutability": "mutable", - "name": "tierValue", - "nameLocation": "9318:9:147", - "nodeType": "VariableDeclaration", - "scope": 87145, - "src": "9310:17:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9310:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87115, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87114, +<<<<<<< Updated upstream + "id": 87001, +======= + "id": 118925, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 87108, - "name": "yearlyRenewalFeeByLength", +<<<<<<< Updated upstream + "id": 86999, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87085, - "src": "9330:24:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 87110, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87060, - "src": "9373:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 87109, - "name": "_getDomainPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87684, - "src": "9357:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 87111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9357:23:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "32", - "id": 87112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9383:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9357:27:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9330:54:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9310:74:147" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87116, - "name": "tierValue", + "referencedDeclaration": 86997, + "src": "8393:1:147", +======= + "id": 118923, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87107, - "src": "9395:9:147", + "referencedDeclaration": 118921, + "src": "8480:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": ">", + "operator": "<", "rightExpression": { - "id": 87117, - "name": "TIER_1_THRESHOLD", +<<<<<<< Updated upstream + "id": 87000, + "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86356, - "src": "9407:16:147", + "referencedDeclaration": 86983, + "src": "8397:6:147", +======= + "id": 118924, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118907, + "src": "8484:6:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9395:28:147", +<<<<<<< Updated upstream + "src": "8393:10:147", +======= + "src": "8480:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87126, - "name": "tierValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87107, - "src": "9476:9:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 87127, - "name": "TIER_2_THRESHOLD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86360, - "src": "9488:16:147", +<<<<<<< Updated upstream + "id": 87024, + "initializationExpression": { + "assignments": [ + 86997 +======= + "id": 118948, + "initializationExpression": { + "assignments": [ + 118921 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86997, + "mutability": "mutable", + "name": "i", + "nameLocation": "8390:1:147", + "nodeType": "VariableDeclaration", + "scope": 87024, + "src": "8382:9:147", +======= + "id": 118921, + "mutability": "mutable", + "name": "i", + "nameLocation": "8477:1:163", + "nodeType": "VariableDeclaration", + "scope": 118948, + "src": "8469:9:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "src": "9476:28:147", + }, + "typeName": { +<<<<<<< Updated upstream + "id": 86996, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8382:7:147", +======= + "id": 118920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8469:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 86998, + "nodeType": "VariableDeclarationStatement", + "src": "8382:9:147" + }, + "nodeType": "ForStatement", + "src": "8377:170:147" +======= + "id": 118922, + "nodeType": "VariableDeclarationStatement", + "src": "8469:9:163" + }, + "nodeType": "ForStatement", + "src": "8464:170:163" +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91623 + ], + "documentation": { + "id": 86964, + "nodeType": "StructuredDocumentation", + "src": "7980:41:147", +======= + 123568 + ], + "documentation": { + "id": 118888, + "nodeType": "StructuredDocumentation", + "src": "8067:41:163", +>>>>>>> Stashed changes + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "599eaabf", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 86979, + "name": "OVERRIDER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86380, + "src": "8210:14:147", +======= + "id": 118903, + "name": "OVERRIDER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118295, + "src": "8297:14:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], +<<<<<<< Updated upstream + "id": 86980, + "kind": "modifierInvocation", + "modifierName": { + "id": 86978, + "name": "onlyRole", + "nameLocations": [ + "8201:8:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 68931, + "src": "8201:8:147" + }, + "nodeType": "ModifierInvocation", + "src": "8201:24:147" + } + ], + "name": "bulkSetDomainPrice", + "nameLocation": "8033:18:147", + "parameters": { + "id": 86977, +======= + "id": 118904, + "kind": "modifierInvocation", + "modifierName": { + "id": 118902, + "name": "onlyRole", + "nameLocations": [ + "8288:8:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 99849, + "src": "8288:8:163" + }, + "nodeType": "ModifierInvocation", + "src": "8288:24:163" + } + ], + "name": "bulkSetDomainPrice", + "nameLocation": "8120:18:163", + "parameters": { + "id": 118901, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 86967, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "8076:8:147", + "nodeType": "VariableDeclaration", + "scope": 87026, + "src": "8057:27:147", +======= + "id": 118891, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "8163:8:163", + "nodeType": "VariableDeclaration", + "scope": 118950, + "src": "8144:27:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 86965, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8057:7:147", +======= + "id": 118889, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8144:7:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "falseBody": { - "id": 87142, - "nodeType": "Block", - "src": "9553:41:147", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 87138, - "name": "Tier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91371, - "src": "9576:4:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", - "typeString": "type(enum INSDomainPrice.Tier)" - } - }, - "id": 87139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9581:5:147", - "memberName": "Tier3", - "nodeType": "MemberAccess", - "referencedDeclaration": 91370, - "src": "9576:10:147", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - ], - "id": 87137, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9568:7:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 87136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9568:7:147", - "typeDescriptions": {} - } - }, - "id": 87140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9568:19:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 87058, - "id": 87141, - "nodeType": "Return", - "src": "9561:26:147" - } - ] - }, - "id": 87143, - "nodeType": "IfStatement", - "src": "9472:122:147", - "trueBody": { - "id": 87135, - "nodeType": "Block", - "src": "9506:41:147", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 87131, - "name": "Tier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91371, - "src": "9529:4:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", - "typeString": "type(enum INSDomainPrice.Tier)" - } - }, - "id": 87132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9534:5:147", - "memberName": "Tier2", - "nodeType": "MemberAccess", - "referencedDeclaration": 91369, - "src": "9529:10:147", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - ], - "id": 87130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9521:7:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 87129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9521:7:147", - "typeDescriptions": {} - } - }, - "id": 87133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9521:19:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 87058, - "id": 87134, - "nodeType": "Return", - "src": "9514:26:147" - } - ] +<<<<<<< Updated upstream + "id": 86966, + "nodeType": "ArrayTypeName", + "src": "8057:9:147", +======= + "id": 118890, + "nodeType": "ArrayTypeName", + "src": "8144:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" } }, - "id": 87144, - "nodeType": "IfStatement", - "src": "9391:203:147", - "trueBody": { - "id": 87125, - "nodeType": "Block", - "src": "9425:41:147", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 87121, - "name": "Tier", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91371, - "src": "9448:4:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", - "typeString": "type(enum INSDomainPrice.Tier)" - } - }, - "id": 87122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9453:5:147", - "memberName": "Tier1", - "nodeType": "MemberAccess", - "referencedDeclaration": 91368, - "src": "9448:10:147", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_Tier_$91371", - "typeString": "enum INSDomainPrice.Tier" - } - ], - "id": 87120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9440:7:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 87119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9440:7:147", - "typeDescriptions": {} - } - }, - "id": 87123, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9440:19:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 87058, - "id": 87124, - "nodeType": "Return", - "src": "9433:26:147" - } - ] - } - } - ] - }, - "baseFunctions": [ - 91552 - ], - "documentation": { - "id": 87052, - "nodeType": "StructuredDocumentation", - "src": "8803:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "dfef64da", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTier", - "nameLocation": "8856:7:147", - "parameters": { - "id": 87055, - "nodeType": "ParameterList", - "parameters": [ + "visibility": "internal" + }, { "constant": false, - "id": 87054, +<<<<<<< Updated upstream + "id": 86970, "mutability": "mutable", - "name": "label", - "nameLocation": "8878:5:147", + "name": "ronPrices", + "nameLocation": "8109:9:147", "nodeType": "VariableDeclaration", - "scope": 87146, - "src": "8864:19:147", + "scope": 87026, + "src": "8090:28:147", +======= + "id": 118894, + "mutability": "mutable", + "name": "ronPrices", + "nameLocation": "8196:9:163", + "nodeType": "VariableDeclaration", + "scope": 118950, + "src": "8177:28:163", +>>>>>>> Stashed changes "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" }, "typeName": { - "id": 87053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8864:6:147", + "baseType": { +<<<<<<< Updated upstream + "id": 86968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8090:7:147", +======= + "id": 118892, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8177:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 86969, + "nodeType": "ArrayTypeName", + "src": "8090:9:147", +======= + "id": 118893, + "nodeType": "ArrayTypeName", + "src": "8177:9:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "visibility": "internal" - } - ], - "src": "8863:21:147" - }, - "returnParameters": { - "id": 87058, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 87057, +<<<<<<< Updated upstream + "id": 86973, "mutability": "mutable", - "name": "tier", - "nameLocation": "8914:4:147", + "name": "proofHashes", + "nameLocation": "8143:11:147", "nodeType": "VariableDeclaration", - "scope": 87146, - "src": "8906:12:147", + "scope": 87026, + "src": "8124:30:147", +======= + "id": 118897, + "mutability": "mutable", + "name": "proofHashes", + "nameLocation": "8230:11:163", + "nodeType": "VariableDeclaration", + "scope": 118950, + "src": "8211:30:163", +>>>>>>> Stashed changes "stateVariable": false, - "storageLocation": "default", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" }, "typeName": { - "id": 87056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8906:7:147", + "baseType": { +<<<<<<< Updated upstream + "id": 86971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8124:7:147", +======= + "id": 118895, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8211:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, +<<<<<<< Updated upstream + "id": 86972, + "nodeType": "ArrayTypeName", + "src": "8124:9:147", +======= + "id": 118896, + "nodeType": "ArrayTypeName", + "src": "8211:9:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 86976, + "mutability": "mutable", + "name": "setTypes", + "nameLocation": "8179:8:147", + "nodeType": "VariableDeclaration", + "scope": 87026, + "src": "8160:27:147", +======= + "id": 118900, + "mutability": "mutable", + "name": "setTypes", + "nameLocation": "8266:8:163", + "nodeType": "VariableDeclaration", + "scope": 118950, + "src": "8247:27:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 86974, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8160:7:147", +======= + "id": 118898, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8247:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 86975, + "nodeType": "ArrayTypeName", + "src": "8160:9:147", +======= + "id": 118899, + "nodeType": "ArrayTypeName", + "src": "8247:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" } }, "visibility": "internal" } ], - "src": "8905:14:147" +<<<<<<< Updated upstream + "src": "8051:140:147" + }, + "returnParameters": { + "id": 86981, + "nodeType": "ParameterList", + "parameters": [], + "src": "8226:0:147" }, "scope": 87685, - "stateMutability": "view", +======= + "src": "8138:140:163" + }, + "returnParameters": { + "id": 118905, + "nodeType": "ParameterList", + "parameters": [], + "src": "8313:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "external" }, { - "id": 87320, +<<<<<<< Updated upstream + "id": 87051, "nodeType": "FunctionDefinition", - "src": "9646:1367:147", + "src": "8599:200:147", "nodes": [], "body": { - "id": 87319, + "id": 87050, "nodeType": "Block", - "src": "9793:1220:147", + "src": "8701:98:147", +======= + "id": 118975, + "nodeType": "FunctionDefinition", + "src": "8686:200:163", + "nodes": [], + "body": { + "id": 118974, + "nodeType": "Block", + "src": "8788:98:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { - "assignments": [ - 87161 - ], - "declarations": [ - { - "constant": false, - "id": 87161, - "mutability": "mutable", - "name": "nameLen", - "nameLocation": "9807:7:147", - "nodeType": "VariableDeclaration", - "scope": 87319, - "src": "9799:15:147", - "stateVariable": false, - "storageLocation": "default", + "expression": { +<<<<<<< Updated upstream + "id": 87042, +======= + "id": 118966, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87036, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87032, + "src": "8707:8:147", +======= + "id": 118960, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118956, + "src": "8794:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 87160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9799:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { +<<<<<<< Updated upstream + "id": 87038, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87029, + "src": "8734:5:147", +======= + "id": 118962, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118953, + "src": "8821:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, +<<<<<<< Updated upstream + "id": 87039, +======= + "id": 118963, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "8740:9:147", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 93096, + "src": "8734:15:147", +======= + "memberLocation": "8827:9:163", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 125041, + "src": "8821:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, +<<<<<<< Updated upstream + "id": 87040, +======= + "id": 118964, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "8734:17:147", +======= + "src": "8821:17:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } } - }, - "visibility": "internal" - } - ], - "id": 87165, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], + ], "expression": { - "id": 87162, - "name": "label", + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], +<<<<<<< Updated upstream + "id": 87037, + "name": "_getDomainPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87149, - "src": "9817:5:147", + "referencedDeclaration": 87684, + "src": "8718:15:147", +======= + "id": 118961, + "name": "_getDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119625, + "src": "8805:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" } }, - "id": 87163, +<<<<<<< Updated upstream + "id": 87041, +======= + "id": 118965, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "9823:6:147", - "memberName": "strlen", - "nodeType": "MemberAccess", - "referencedDeclaration": 93214, - "src": "9817:12:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$", - "typeString": "function (string memory) pure returns (uint256)" + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "8718:34:147", +======= + "src": "8805:34:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9817:14:147", - "tryCall": false, +<<<<<<< Updated upstream + "src": "8707:45:147", +======= + "src": "8794:45:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "9799:32:147" +<<<<<<< Updated upstream + "id": 87043, + "nodeType": "ExpressionStatement", + "src": "8707:45:147" }, { - "assignments": [ - 87167 - ], - "declarations": [ - { - "constant": false, - "id": 87167, - "mutability": "mutable", - "name": "lbHash", - "nameLocation": "9845:6:147", - "nodeType": "VariableDeclaration", - "scope": 87319, - "src": "9837:14:147", - "stateVariable": false, - "storageLocation": "default", + "expression": { + "id": 87048, +======= + "id": 118967, + "nodeType": "ExpressionStatement", + "src": "8794:45:163" + }, + { + "expression": { + "id": 118972, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87044, + "name": "ronPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87034, + "src": "8758:8:147", +======= + "id": 118968, + "name": "ronPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118958, + "src": "8845:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 87166, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9837:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87046, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87032, + "src": "8785:8:147", +======= + "id": 118970, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118956, + "src": "8872:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } - }, - "visibility": "internal" - } - ], - "id": 87171, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], + ], "expression": { - "id": 87168, - "name": "label", + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], +<<<<<<< Updated upstream + "id": 87045, + "name": "convertUSDToRON", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87149, - "src": "9854:5:147", + "referencedDeclaration": 87350, + "src": "8769:15:147", +======= + "id": 118969, + "name": "convertUSDToRON", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119112, + "src": "8856:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" } }, - "id": 87169, +<<<<<<< Updated upstream + "id": 87047, +======= + "id": 118971, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "9860:9:147", - "memberName": "hashLabel", - "nodeType": "MemberAccess", - "referencedDeclaration": 93096, - "src": "9854:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 87170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9854:17:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9837:34:147" - }, - { - "assignments": [ - 87173 - ], - "declarations": [ - { - "constant": false, - "id": 87173, - "mutability": "mutable", - "name": "overriddenRenewalFee", - "nameLocation": "9885:20:147", - "nodeType": "VariableDeclaration", - "scope": 87319, - "src": "9877:28:147", - "stateVariable": false, - "storageLocation": "default", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "8769:25:147", +======= + "src": "8856:25:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - }, - "typeName": { - "id": 87172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9877:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87177, - "initialValue": { - "baseExpression": { - "id": 87174, - "name": "_rnFeeOverriding", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86425, - "src": "9908:16:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 87176, - "indexExpression": { - "id": 87175, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87167, - "src": "9925:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9908:24:147", +<<<<<<< Updated upstream + "src": "8758:36:147", +======= + "src": "8845:36:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "nodeType": "VariableDeclarationStatement", - "src": "9877:55:147" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87178, - "name": "overriddenRenewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87173, - "src": "9943:20:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 87179, +<<<<<<< Updated upstream + "id": 87049, + "nodeType": "ExpressionStatement", + "src": "8758:36:147" +======= + "id": 118973, + "nodeType": "ExpressionStatement", + "src": "8845:36:163" +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91530 + ], + "documentation": { + "id": 87027, + "nodeType": "StructuredDocumentation", + "src": "8555:41:147", +======= + 123472 + ], + "documentation": { + "id": 118951, + "nodeType": "StructuredDocumentation", + "src": "8642:41:163", +>>>>>>> Stashed changes + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "713a69a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDomainPrice", +<<<<<<< Updated upstream + "nameLocation": "8608:14:147", + "parameters": { + "id": 87030, +======= + "nameLocation": "8695:14:163", + "parameters": { + "id": 118954, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87029, + "mutability": "mutable", + "name": "label", + "nameLocation": "8637:5:147", + "nodeType": "VariableDeclaration", + "scope": 87051, + "src": "8623:19:147", +======= + "id": 118953, + "mutability": "mutable", + "name": "label", + "nameLocation": "8724:5:163", + "nodeType": "VariableDeclaration", + "scope": 118975, + "src": "8710:19:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87028, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8623:6:147", +======= + "id": 118952, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8710:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "8622:21:147" + }, + "returnParameters": { + "id": 87035, +======= + "src": "8709:21:163" + }, + "returnParameters": { + "id": 118959, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87032, + "mutability": "mutable", + "name": "usdPrice", + "nameLocation": "8673:8:147", + "nodeType": "VariableDeclaration", + "scope": 87051, + "src": "8665:16:147", +======= + "id": 118956, + "mutability": "mutable", + "name": "usdPrice", + "nameLocation": "8760:8:163", + "nodeType": "VariableDeclaration", + "scope": 118975, + "src": "8752:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8665:7:147", +======= + "id": 118955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8752:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87034, + "mutability": "mutable", + "name": "ronPrice", + "nameLocation": "8691:8:147", + "nodeType": "VariableDeclaration", + "scope": 87051, + "src": "8683:16:147", +======= + "id": 118958, + "mutability": "mutable", + "name": "ronPrice", + "nameLocation": "8778:8:163", + "nodeType": "VariableDeclaration", + "scope": 118975, + "src": "8770:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8683:7:147", +======= + "id": 118957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8770:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "8664:36:147" + }, + "scope": 87685, +======= + "src": "8751:36:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { +<<<<<<< Updated upstream + "id": 87146, + "nodeType": "FunctionDefinition", + "src": "8847:751:147", + "nodes": [], + "body": { + "id": 87145, + "nodeType": "Block", + "src": "8920:678:147", +======= + "id": 119045, + "nodeType": "FunctionDefinition", + "src": "8934:631:163", + "nodes": [], + "body": { + "id": 119044, + "nodeType": "Block", + "src": "9004:561:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "assignments": [ +<<<<<<< Updated upstream + 87060 +======= + 118985 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87060, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "8934:6:147", + "nodeType": "VariableDeclaration", + "scope": 87145, + "src": "8926:14:147", +======= + "id": 118985, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "9018:6:163", + "nodeType": "VariableDeclaration", + "scope": 119044, + "src": "9010:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87059, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8926:7:147", +======= + "id": 118984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9010:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87064, +======= + "id": 118989, +>>>>>>> Stashed changes + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { +<<<<<<< Updated upstream + "id": 87061, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87054, + "src": "8943:5:147", +======= + "id": 118986, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118978, + "src": "9027:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, +<<<<<<< Updated upstream + "id": 87062, +======= + "id": 118987, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "number", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "9967:1:147", +<<<<<<< Updated upstream + "memberLocation": "8949:9:147", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 93096, + "src": "8943:15:147", +======= + "memberLocation": "9033:9:163", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 125041, + "src": "9027:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes32)" + } }, - "src": "9943:25:147", +<<<<<<< Updated upstream + "id": 87063, +======= + "id": 118988, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "8943:17:147", +======= + "src": "9027:17:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "falseBody": { - "id": 87299, - "nodeType": "Block", - "src": "10039:877:147", - "statements": [ - { - "assignments": [ - 87192 - ], - "declarations": [ - { - "constant": false, - "id": 87192, - "mutability": "mutable", - "name": "renewalFeeByLength", - "nameLocation": "10055:18:147", - "nodeType": "VariableDeclaration", - "scope": 87299, - "src": "10047:26:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10047:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87200, - "initialValue": { - "baseExpression": { - "id": 87193, - "name": "_rnFee", + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "8926:34:147" + }, + { + "assignments": [ + 87066 +======= + "src": "9010:34:163" + }, + { + "assignments": [ + 118991 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87066, + "mutability": "mutable", + "name": "overriddenTier", + "nameLocation": "8974:14:147", + "nodeType": "VariableDeclaration", + "scope": 87145, + "src": "8966:22:147", +======= + "id": 118991, + "mutability": "mutable", + "name": "overriddenTier", + "nameLocation": "9056:14:163", + "nodeType": "VariableDeclaration", + "scope": 119044, + "src": "9050:20:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8966:7:147", +======= + "id": 118990, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "9050:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87070, + "initialValue": { + "baseExpression": { + "id": 87067, + "name": "_tierOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86430, + "src": "8991:15:147", +======= + "id": 118995, + "initialValue": { + "baseExpression": { + "id": 118992, + "name": "_tierOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118345, + "src": "9073:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint8_$", + "typeString": "mapping(bytes32 => uint8)" + } + }, +<<<<<<< Updated upstream + "id": 87069, + "indexExpression": { + "id": 87068, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87060, + "src": "9007:6:147", +======= + "id": 118994, + "indexExpression": { + "id": 118993, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118985, + "src": "9089:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "8991:23:147", +======= + "src": "9073:23:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9050:46:163" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 118998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 118996, + "name": "overriddenTier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118991, + "src": "9107:14:163", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 118997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9125:1:163", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9107:19:163", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119004, + "nodeType": "IfStatement", + "src": "9103:53:163", + "trueBody": { + "expression": { + "arguments": [ + { + "id": 119001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "9140:15:163", + "subExpression": { + "id": 119000, + "name": "overriddenTier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86414, - "src": "10076:6:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 87199, - "indexExpression": { - "arguments": [ - { - "id": 87196, - "name": "nameLen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87161, - "src": "10092:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 87197, - "name": "_rnfMaxLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86399, - "src": "10101:13:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87194, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73915, - "src": "10083:4:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", - "typeString": "type(library Math)" - } - }, - "id": 87195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10088:3:147", - "memberName": "min", - "nodeType": "MemberAccess", - "referencedDeclaration": 73092, - "src": "10083:8:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 87198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10083:32:147", - "tryCall": false, + "referencedDeclaration": 118991, + "src": "9141:14:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10076:40:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" } + ], + "id": 118999, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123312, + "src": "9135:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$123312_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 119002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9135:21:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "functionReturnParameters": 118983, + "id": 119003, + "nodeType": "Return", + "src": "9128:28:163" + } + }, + { + "assignments": [ + 119007, + null, + null + ], + "declarations": [ + { + "constant": false, + "id": 119007, + "mutability": "mutable", + "name": "yearlyRenewalFeeByLength", + "nameLocation": "9181:24:163", + "nodeType": "VariableDeclaration", + "scope": 119044, + "src": "9164:41:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + }, + "typeName": { + "id": 119006, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119005, + "name": "UnitPrice", + "nameLocations": [ + "9164:9:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123322, + "src": "9164:9:163" }, - "nodeType": "VariableDeclarationStatement", - "src": "10047:69:147" + "referencedDeclaration": 123322, + "src": "9164:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_storage_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + } }, + "visibility": "internal" + }, + null, + null + ], + "id": 119012, + "initialValue": { + "arguments": [ { - "expression": { - "id": 87207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 87201, - "name": "basePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87155, - "src": "10124:9:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" - } - }, - "id": 87203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10134:3:147", - "memberName": "usd", - "nodeType": "MemberAccess", - "referencedDeclaration": 91378, - "src": "10124:13:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87204, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87151, - "src": "10140:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 87205, - "name": "renewalFeeByLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87192, - "src": "10151:18:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10140:29:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10124:45:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87208, - "nodeType": "ExpressionStatement", - "src": "10124:45:147" + "id": 119009, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118978, + "src": "9238:5:163", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } }, { - "assignments": [ - 87210 - ], - "declarations": [ - { - "constant": false, - "id": 87210, - "mutability": "mutable", - "name": "id", - "nameLocation": "10185:2:147", - "nodeType": "VariableDeclaration", - "scope": 87299, - "src": "10177:10:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10177:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87217, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 87213, - "name": "LibRNSDomain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93107, - "src": "10208:12:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$93107_$", - "typeString": "type(library LibRNSDomain)" - } - }, - "id": 87214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10221:6:147", - "memberName": "RON_ID", - "nodeType": "MemberAccess", - "referencedDeclaration": 93070, - "src": "10208:19:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 87215, - "name": "label", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87149, - "src": "10229:5:147", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 87211, - "name": "LibRNSDomain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93107, - "src": "10190:12:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$93107_$", - "typeString": "type(library LibRNSDomain)" - } - }, - "id": 87212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10203:4:147", - "memberName": "toId", - "nodeType": "MemberAccess", - "referencedDeclaration": 93086, - "src": "10190:17:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (uint256,string memory) pure returns (uint256)" - } - }, - "id": 87216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10190:45:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "hexValue": "333635", + "id": 119010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9255:8:163", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" }, - "nodeType": "VariableDeclarationStatement", - "src": "10177:58:147" + "value": "365" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" + } + ], + "id": 119008, + "name": "_tryGetRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119583, + "src": "9211:17:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "function (string memory,uint256) view returns (struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "id": 119011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [ + "9231:5:163", + "9245:8:163" + ], + "names": [ + "label", + "duration" + ], + "nodeType": "FunctionCall", + "src": "9211:55:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "tuple(struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9163:103:163" + }, + { + "assignments": [ + 119014 + ], + "declarations": [ + { + "constant": false, + "id": 119014, + "mutability": "mutable", + "name": "tierValue", + "nameLocation": "9280:9:163", + "nodeType": "VariableDeclaration", + "scope": 119044, + "src": "9272:17:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - { - "assignments": [ - 87220 - ], - "declarations": [ + "typeName": { + "id": 119013, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9272:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119023, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119015, + "name": "yearlyRenewalFeeByLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119007, + "src": "9292:24:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119016, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9317:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "9292:28:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ { - "constant": false, - "id": 87220, - "mutability": "mutable", - "name": "auction", - "nameLocation": "10254:7:147", - "nodeType": "VariableDeclaration", - "scope": 87299, - "src": "10243:18:147", - "stateVariable": false, - "storageLocation": "default", + "id": 119018, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118985, + "src": "9339:6:163", "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - }, - "typeName": { - "id": 87219, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87218, - "name": "INSAuction", - "nameLocations": [ - "10243:10:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91351, - "src": "10243:10:147" - }, - "referencedDeclaration": 91351, - "src": "10243:10:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - } - }, - "visibility": "internal" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } } ], - "id": 87222, - "initialValue": { - "id": 87221, - "name": "_auction", + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 119017, + "name": "_getDomainPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86393, - "src": "10264:8:147", + "referencedDeclaration": 119625, + "src": "9323:15:163", "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10243:29:147" + "id": 119019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9323:23:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { - "condition": { - "arguments": [ - { - "id": 87225, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87210, - "src": "10301:2:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87223, - "name": "auction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87220, - "src": "10284:7:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - } - }, - "id": 87224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10292:8:147", - "memberName": "reserved", - "nodeType": "MemberAccess", - "referencedDeclaration": 91238, - "src": "10284:16:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view external returns (bool)" - } - }, - "id": 87226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10284:20:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 119020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9349:1:163", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" }, - "id": 87298, - "nodeType": "IfStatement", - "src": "10280:630:147", - "trueBody": { - "id": 87297, - "nodeType": "Block", - "src": "10306:604:147", - "statements": [ - { - "assignments": [ - 87229 - ], - "declarations": [ - { - "constant": false, - "id": 87229, - "mutability": "mutable", - "name": "rns", - "nameLocation": "10327:3:147", - "nodeType": "VariableDeclaration", - "scope": 87297, - "src": "10316:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSUnified_$92040", - "typeString": "contract INSUnified" - }, - "typeName": { - "id": 87228, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87227, - "name": "INSUnified", - "nameLocations": [ - "10316:10:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 92040, - "src": "10316:10:147" - }, - "referencedDeclaration": 92040, - "src": "10316:10:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSUnified_$92040", - "typeString": "contract INSUnified" - } - }, - "visibility": "internal" - } - ], - "id": 87233, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 87230, - "name": "auction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87220, - "src": "10333:7:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - } - }, - "id": 87231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10341:13:147", - "memberName": "getRNSUnified", - "nodeType": "MemberAccess", - "referencedDeclaration": 91350, - "src": "10333:21:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_INSUnified_$92040_$", - "typeString": "function () view external returns (contract INSUnified)" - } - }, - "id": 87232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10333:23:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSUnified_$92040", - "typeString": "contract INSUnified" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10316:40:147" - }, - { - "assignments": [ - 87235 - ], - "declarations": [ - { - "constant": false, - "id": 87235, - "mutability": "mutable", - "name": "expiry", - "nameLocation": "10374:6:147", - "nodeType": "VariableDeclaration", - "scope": 87297, - "src": "10366:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10366:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87251, - "initialValue": { - "arguments": [ - { - "expression": { - "expression": { - "arguments": [ - { - "id": 87240, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87210, - "src": "10428:2:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87238, - "name": "rns", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87229, - "src": "10414:3:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSUnified_$92040", - "typeString": "contract INSUnified" - } - }, - "id": 87239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10418:9:147", - "memberName": "getRecord", - "nodeType": "MemberAccess", - "referencedDeclaration": 91969, - "src": "10414:13:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Record_$91853_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct INSUnified.Record memory)" - } - }, - "id": 87241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10414:17:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Record_$91853_memory_ptr", - "typeString": "struct INSUnified.Record memory" - } - }, - "id": 87242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10432:3:147", - "memberName": "mut", - "nodeType": "MemberAccess", - "referencedDeclaration": 91852, - "src": "10414:21:147", + "value": "2" + }, + "src": "9323:27:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9292:58:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "8966:48:147" +======= + "src": "9272:78:163" +>>>>>>> Stashed changes + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87073, +======= + "id": 119026, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 87071, + "name": "overriddenTier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87066, + "src": "9025:14:147", +======= + "id": 119024, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119014, + "src": "9361:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { +<<<<<<< Updated upstream + "hexValue": "30", + "id": 87072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9043:1:147", +======= + "id": 119025, + "name": "TIER_1_FROM_EXCLUDED_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118271, + "src": "9373:30:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "9025:19:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 87077, + "nodeType": "IfStatement", + "src": "9021:47:147", + "trueBody": { + "expression": { + "id": 87075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "9053:15:147", + "subExpression": { + "id": 87074, + "name": "overriddenTier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87066, + "src": "9054:14:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 87058, + "id": 87076, + "nodeType": "Return", + "src": "9046:22:147" + } + }, + { + "assignments": [ + 87079 + ], + "declarations": [ + { + "constant": false, + "id": 87079, + "mutability": "mutable", + "name": "overriddenRenewalFee", + "nameLocation": "9083:20:147", + "nodeType": "VariableDeclaration", + "scope": 87145, + "src": "9075:28:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87078, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9075:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87083, + "initialValue": { + "baseExpression": { + "id": 87080, + "name": "_rnFeeOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86425, + "src": "9106:16:147", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 87082, + "indexExpression": { + "id": 87081, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87060, + "src": "9123:6:147", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9106:24:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9075:55:147" + }, + { + "assignments": [ + 87085 + ], + "declarations": [ + { + "constant": false, + "id": 87085, + "mutability": "mutable", + "name": "yearlyRenewalFeeByLength", + "nameLocation": "9144:24:147", + "nodeType": "VariableDeclaration", + "scope": 87145, + "src": "9136:32:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9136:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87105, + "initialValue": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87086, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87079, + "src": "9171:20:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 87087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9195:1:147", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9171:25:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "333635", + "id": 87093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9246:8:147", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" + }, + "value": "365" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "baseExpression": { + "id": 87094, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86414, + "src": "9257:6:147", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 87102, + "indexExpression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 87097, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87054, + "src": "9273:5:147", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 87098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9279:6:147", + "memberName": "strlen", + "nodeType": "MemberAccess", + "referencedDeclaration": 93214, + "src": "9273:12:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (uint256)" + } + }, + "id": 87099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9273:14:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 87100, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86399, + "src": "9289:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 87095, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73915, + "src": "9264:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", + "typeString": "type(library Math)" + } + }, + "id": 87096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9269:3:147", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 73092, + "src": "9264:8:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 87101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9264:39:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9257:47:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9246:58:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 87104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "9171:133:147", + "trueExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "333635", + "id": 87089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9205:8:147", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_31536000_by_1", + "typeString": "int_const 31536000" + }, + "value": "365" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 87091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "9216:21:147", + "subExpression": { + "id": 87090, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87079, + "src": "9217:20:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9205:32:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9136:168:147" + }, + { + "assignments": [ + 87107 + ], + "declarations": [ + { + "constant": false, + "id": 87107, + "mutability": "mutable", + "name": "tierValue", + "nameLocation": "9318:9:147", + "nodeType": "VariableDeclaration", + "scope": 87145, + "src": "9310:17:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9310:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87115, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87108, + "name": "yearlyRenewalFeeByLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87085, + "src": "9330:24:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 87110, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87060, + "src": "9373:6:147", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 87109, + "name": "_getDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87684, + "src": "9357:15:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 87111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9357:23:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "32", + "id": 87112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9383:1:147", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "9357:27:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9330:54:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9310:74:147" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87116, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87107, + "src": "9395:9:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 87117, + "name": "TIER_1_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86356, + "src": "9407:16:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9395:28:147", +======= + "src": "9361:42:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87128, +======= + "id": 119033, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 87126, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87107, + "src": "9476:9:147", +======= + "id": 119031, + "name": "tierValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119014, + "src": "9447:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87127, + "name": "TIER_2_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86360, + "src": "9488:16:147", +======= + "id": 119032, + "name": "TIER_2_FROM_EXCLUDED_THRESHOLD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118275, + "src": "9459:30:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "9476:28:147", +======= + "src": "9447:42:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { +<<<<<<< Updated upstream + "id": 87142, + "nodeType": "Block", + "src": "9553:41:147", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 87138, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91371, + "src": "9576:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 87139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9581:5:147", + "memberName": "Tier3", + "nodeType": "MemberAccess", + "referencedDeclaration": 91370, + "src": "9576:10:147", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + ], + "id": 87137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9568:7:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 87136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9568:7:147", + "typeDescriptions": {} + } + }, + "id": 87140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9568:19:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 87058, + "id": 87141, + "nodeType": "Return", + "src": "9561:26:147" + } + ] + }, + "id": 87143, + "nodeType": "IfStatement", + "src": "9472:122:147", + "trueBody": { + "id": 87135, + "nodeType": "Block", + "src": "9506:41:147", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 87131, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91371, + "src": "9529:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 87132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9534:5:147", + "memberName": "Tier2", + "nodeType": "MemberAccess", + "referencedDeclaration": 91369, + "src": "9529:10:147", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + ], + "id": 87130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9521:7:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 87129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9521:7:147", + "typeDescriptions": {} + } + }, + "id": 87133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9521:19:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 87058, + "id": 87134, + "nodeType": "Return", + "src": "9514:26:147" + } + ] + } + }, + "id": 87144, + "nodeType": "IfStatement", + "src": "9391:203:147", + "trueBody": { + "id": 87125, + "nodeType": "Block", + "src": "9425:41:147", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 87121, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91371, + "src": "9448:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$91371_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 87122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9453:5:147", + "memberName": "Tier1", + "nodeType": "MemberAccess", + "referencedDeclaration": 91368, + "src": "9448:10:147", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_Tier_$91371", + "typeString": "enum INSDomainPrice.Tier" + } + ], + "id": 87120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9440:7:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 87119, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9440:7:147", + "typeDescriptions": {} + } + }, + "id": 87123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9440:19:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 87058, + "id": 87124, + "nodeType": "Return", + "src": "9433:26:147" + } + ] + } + } + ] + }, + "baseFunctions": [ + 91552 + ], + "documentation": { + "id": 87052, + "nodeType": "StructuredDocumentation", + "src": "8803:41:147", + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "dfef64da", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTier", + "nameLocation": "8856:7:147", + "parameters": { + "id": 87055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 87054, + "mutability": "mutable", + "name": "label", + "nameLocation": "8878:5:147", + "nodeType": "VariableDeclaration", + "scope": 87146, + "src": "8864:19:147", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 87053, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8864:6:147", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8863:21:147" + }, + "returnParameters": { + "id": 87058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 87057, + "mutability": "mutable", + "name": "tier", + "nameLocation": "8914:4:147", + "nodeType": "VariableDeclaration", + "scope": 87146, + "src": "8906:12:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87056, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8906:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8905:14:147" + }, + "scope": 87685, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 87320, + "nodeType": "FunctionDefinition", + "src": "9646:1367:147", + "nodes": [], + "body": { + "id": 87319, + "nodeType": "Block", + "src": "9793:1220:147", + "nodes": [], + "statements": [ + { + "assignments": [ + 87161 + ], + "declarations": [ + { + "constant": false, + "id": 87161, + "mutability": "mutable", + "name": "nameLen", + "nameLocation": "9807:7:147", + "nodeType": "VariableDeclaration", + "scope": 87319, + "src": "9799:15:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9799:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87165, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 87162, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87149, + "src": "9817:5:147", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 87163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9823:6:147", + "memberName": "strlen", + "nodeType": "MemberAccess", + "referencedDeclaration": 93214, + "src": "9817:12:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (uint256)" + } + }, + "id": 87164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9817:14:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9799:32:147" + }, + { + "assignments": [ + 87167 + ], + "declarations": [ + { + "constant": false, + "id": 87167, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "9845:6:147", + "nodeType": "VariableDeclaration", + "scope": 87319, + "src": "9837:14:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 87166, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9837:7:147", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 87171, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 87168, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87149, + "src": "9854:5:147", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 87169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9860:9:147", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 93096, + "src": "9854:15:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 87170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9854:17:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9837:34:147" + }, + { + "assignments": [ + 87173 + ], + "declarations": [ + { + "constant": false, + "id": 87173, + "mutability": "mutable", + "name": "overriddenRenewalFee", + "nameLocation": "9885:20:147", + "nodeType": "VariableDeclaration", + "scope": 87319, + "src": "9877:28:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87172, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9877:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87177, + "initialValue": { + "baseExpression": { + "id": 87174, + "name": "_rnFeeOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86425, + "src": "9908:16:147", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 87176, + "indexExpression": { + "id": 87175, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87167, + "src": "9925:6:147", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9908:24:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9877:55:147" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87178, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87173, + "src": "9943:20:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 87179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9967:1:147", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9943:25:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 87299, + "nodeType": "Block", + "src": "10039:877:147", + "statements": [ + { + "assignments": [ + 87192 + ], + "declarations": [ + { + "constant": false, + "id": 87192, + "mutability": "mutable", + "name": "renewalFeeByLength", + "nameLocation": "10055:18:147", + "nodeType": "VariableDeclaration", + "scope": 87299, + "src": "10047:26:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10047:7:147", +======= + "id": 119041, + "nodeType": "Block", + "src": "9529:32:163", + "statements": [ + { + "expression": { + "expression": { + "id": 119038, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123312, + "src": "9544:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$123312_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, +<<<<<<< Updated upstream + "visibility": "internal" + } + ], + "id": 87200, + "initialValue": { + "baseExpression": { + "id": 87193, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86414, + "src": "10076:6:147", +======= + "id": 119039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9549:5:163", + "memberName": "Tier3", + "nodeType": "MemberAccess", + "referencedDeclaration": 123311, + "src": "9544:10:163", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "functionReturnParameters": 118983, + "id": 119040, + "nodeType": "Return", + "src": "9537:17:163" + } + ] + }, + "id": 119042, + "nodeType": "IfStatement", + "src": "9443:118:163", + "trueBody": { + "id": 119037, + "nodeType": "Block", + "src": "9491:32:163", + "statements": [ + { + "expression": { + "expression": { + "id": 119034, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123312, + "src": "9506:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$123312_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, + "id": 119035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "9511:5:163", + "memberName": "Tier2", + "nodeType": "MemberAccess", + "referencedDeclaration": 123310, + "src": "9506:10:163", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "functionReturnParameters": 118983, + "id": 119036, + "nodeType": "Return", + "src": "9499:17:163" + } + ] + } + }, + "id": 119043, + "nodeType": "IfStatement", + "src": "9357:204:163", + "trueBody": { + "id": 119030, + "nodeType": "Block", + "src": "9405:32:163", + "statements": [ + { + "expression": { + "expression": { + "id": 119027, + "name": "Tier", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123312, + "src": "9420:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_Tier_$123312_$", + "typeString": "type(enum INSDomainPrice.Tier)" + } + }, +<<<<<<< Updated upstream + "id": 87199, + "indexExpression": { + "arguments": [ + { + "id": 87196, + "name": "nameLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87161, + "src": "10092:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 87197, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86399, + "src": "10101:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 87194, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73915, + "src": "10083:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", + "typeString": "type(library Math)" + } + }, + "id": 87195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10088:3:147", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 73092, + "src": "10083:8:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 87198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10083:32:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10076:40:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10047:69:147" + }, + { + "expression": { + "id": 87207, +======= + "id": 119028, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, +<<<<<<< Updated upstream + "leftHandSide": { + "expression": { + "id": 87201, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87155, + "src": "10124:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87203, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10134:3:147", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 91378, + "src": "10124:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87204, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87151, + "src": "10140:8:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 87205, + "name": "renewalFeeByLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87192, + "src": "10151:18:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10140:29:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10124:45:147", +======= + "memberLocation": "9425:5:163", + "memberName": "Tier1", + "nodeType": "MemberAccess", + "referencedDeclaration": 123309, + "src": "9420:10:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, +<<<<<<< Updated upstream + "id": 87208, + "nodeType": "ExpressionStatement", + "src": "10124:45:147" + }, + { + "assignments": [ + 87210 + ], + "declarations": [ + { + "constant": false, + "id": 87210, + "mutability": "mutable", + "name": "id", + "nameLocation": "10185:2:147", + "nodeType": "VariableDeclaration", + "scope": 87299, + "src": "10177:10:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87209, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10177:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87217, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 87213, + "name": "LibRNSDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93107, + "src": "10208:12:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$93107_$", + "typeString": "type(library LibRNSDomain)" + } + }, + "id": 87214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10221:6:147", + "memberName": "RON_ID", + "nodeType": "MemberAccess", + "referencedDeclaration": 93070, + "src": "10208:19:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 87215, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87149, + "src": "10229:5:147", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 87211, + "name": "LibRNSDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93107, + "src": "10190:12:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$93107_$", + "typeString": "type(library LibRNSDomain)" + } + }, + "id": 87212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10203:4:147", + "memberName": "toId", + "nodeType": "MemberAccess", + "referencedDeclaration": 93086, + "src": "10190:17:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,string memory) pure returns (uint256)" + } + }, + "id": 87216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10190:45:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10177:58:147" + }, + { + "assignments": [ + 87220 + ], + "declarations": [ + { + "constant": false, + "id": 87220, + "mutability": "mutable", + "name": "auction", + "nameLocation": "10254:7:147", + "nodeType": "VariableDeclaration", + "scope": 87299, + "src": "10243:18:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + }, + "typeName": { + "id": 87219, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87218, + "name": "INSAuction", + "nameLocations": [ + "10243:10:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91351, + "src": "10243:10:147" + }, + "referencedDeclaration": 91351, + "src": "10243:10:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "visibility": "internal" + } + ], + "id": 87222, + "initialValue": { + "id": 87221, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86393, + "src": "10264:8:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10243:29:147" + }, + { + "condition": { + "arguments": [ + { + "id": 87225, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87210, + "src": "10301:2:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 87223, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87220, + "src": "10284:7:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "id": 87224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10292:8:147", + "memberName": "reserved", + "nodeType": "MemberAccess", + "referencedDeclaration": 91238, + "src": "10284:16:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 87226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10284:20:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 87298, + "nodeType": "IfStatement", + "src": "10280:630:147", + "trueBody": { + "id": 87297, + "nodeType": "Block", + "src": "10306:604:147", + "statements": [ + { + "assignments": [ + 87229 + ], + "declarations": [ + { + "constant": false, + "id": 87229, + "mutability": "mutable", + "name": "rns", + "nameLocation": "10327:3:147", + "nodeType": "VariableDeclaration", + "scope": 87297, + "src": "10316:14:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$92040", + "typeString": "contract INSUnified" + }, + "typeName": { + "id": 87228, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87227, + "name": "INSUnified", + "nameLocations": [ + "10316:10:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 92040, + "src": "10316:10:147" + }, + "referencedDeclaration": 92040, + "src": "10316:10:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$92040", + "typeString": "contract INSUnified" + } + }, + "visibility": "internal" + } + ], + "id": 87233, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 87230, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87220, + "src": "10333:7:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "id": 87231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10341:13:147", + "memberName": "getRNSUnified", + "nodeType": "MemberAccess", + "referencedDeclaration": 91350, + "src": "10333:21:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_INSUnified_$92040_$", + "typeString": "function () view external returns (contract INSUnified)" + } + }, + "id": 87232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10333:23:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$92040", + "typeString": "contract INSUnified" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10316:40:147" + }, + { + "assignments": [ + 87235 + ], + "declarations": [ + { + "constant": false, + "id": 87235, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "10374:6:147", + "nodeType": "VariableDeclaration", + "scope": 87297, + "src": "10366:14:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10366:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87251, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 87240, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87210, + "src": "10428:2:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 87238, + "name": "rns", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87229, + "src": "10414:3:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$92040", + "typeString": "contract INSUnified" + } + }, + "id": 87239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10418:9:147", + "memberName": "getRecord", + "nodeType": "MemberAccess", + "referencedDeclaration": 91969, + "src": "10414:13:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Record_$91853_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct INSUnified.Record memory)" + } + }, + "id": 87241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10414:17:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$91853_memory_ptr", + "typeString": "struct INSUnified.Record memory" + } + }, + "id": 87242, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10432:3:147", + "memberName": "mut", + "nodeType": "MemberAccess", + "referencedDeclaration": 91852, + "src": "10414:21:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableRecord_$91846_memory_ptr", + "typeString": "struct INSUnified.MutableRecord memory" + } + }, + "id": 87243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10436:6:147", + "memberName": "expiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 91843, + "src": "10414:28:147", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 87244, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87151, + "src": "10444:8:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "arguments": [ + { + "id": 87247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10459:6:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 87246, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "10459:6:147", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 87245, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10454:4:147", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 87248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10454:12:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 87249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "10467:3:147", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10454:16:147", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "id": 87236, + "name": "LibSafeRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 93651, + "src": "10383:12:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibSafeRange_$93651_$", + "typeString": "type(library LibSafeRange)" + } + }, + "id": 87237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10396:17:147", + "memberName": "addWithUpperbound", + "nodeType": "MemberAccess", + "referencedDeclaration": 93650, + "src": "10383:30:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 87250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10383:88:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10366:105:147" + }, + { + "assignments": [ + 87256, + null + ], + "declarations": [ + { + "constant": false, + "id": 87256, + "mutability": "mutable", + "name": "domainAuction", + "nameLocation": "10514:13:147", + "nodeType": "VariableDeclaration", + "scope": 87297, + "src": "10482:45:147", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$91146_memory_ptr", + "typeString": "struct INSAuction.DomainAuction" + }, + "typeName": { + "id": 87255, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87254, + "name": "INSAuction.DomainAuction", + "nameLocations": [ + "10482:10:147", + "10493:13:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91146, + "src": "10482:24:147" + }, + "referencedDeclaration": 91146, + "src": "10482:24:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$91146_storage_ptr", + "typeString": "struct INSAuction.DomainAuction" + } + }, + "visibility": "internal" + }, + null + ], + "id": 87261, + "initialValue": { + "arguments": [ + { + "id": 87259, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87210, + "src": "10551:2:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 87257, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87220, + "src": "10532:7:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "id": 87258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10540:10:147", + "memberName": "getAuction", + "nodeType": "MemberAccess", + "referencedDeclaration": 91309, + "src": "10532:18:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_DomainAuction_$91146_memory_ptr_$_t_uint256_$", + "typeString": "function (uint256) view external returns (struct INSAuction.DomainAuction memory,uint256)" + } + }, + "id": 87260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10532:22:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_DomainAuction_$91146_memory_ptr_$_t_uint256_$", + "typeString": "tuple(struct INSAuction.DomainAuction memory,uint256)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10481:73:147" + }, + { + "assignments": [ + 87263 + ], + "declarations": [ + { + "constant": false, + "id": 87263, + "mutability": "mutable", + "name": "claimedAt", + "nameLocation": "10572:9:147", + "nodeType": "VariableDeclaration", + "scope": 87297, + "src": "10564:17:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 87262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10564:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 87267, + "initialValue": { + "expression": { + "expression": { + "id": 87264, + "name": "domainAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87256, + "src": "10584:13:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$91146_memory_ptr", + "typeString": "struct INSAuction.DomainAuction memory" + } + }, + "id": 87265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10598:3:147", + "memberName": "bid", + "nodeType": "MemberAccess", + "referencedDeclaration": 91145, + "src": "10584:17:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bid_$91138_memory_ptr", + "typeString": "struct INSAuction.Bid memory" + } + }, + "id": 87266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10602:9:147", + "memberName": "claimedAt", + "nodeType": "MemberAccess", + "referencedDeclaration": 91137, + "src": "10584:27:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10564:47:147" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 87278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87268, + "name": "claimedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87263, + "src": "10625:9:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 87269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10638:1:147", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10625:14:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87271, + "name": "expiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87235, + "src": "10643:6:147", "typeDescriptions": { - "typeIdentifier": "t_struct$_MutableRecord_$91846_memory_ptr", - "typeString": "struct INSUnified.MutableRecord memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87243, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 87272, + "name": "claimedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87263, + "src": "10652:9:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10643:18:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 87274, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87220, + "src": "10664:7:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$91351", + "typeString": "contract INSAuction" + } + }, + "id": 87275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10672:25:147", + "memberName": "MAX_AUCTION_DOMAIN_EXPIRY", + "nodeType": "MemberAccess", + "referencedDeclaration": 91202, + "src": "10664:33:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$__$returns$_t_uint64_$", + "typeString": "function () pure external returns (uint64)" + } + }, + "id": 87276, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "10436:6:147", - "memberName": "expiry", - "nodeType": "MemberAccess", - "referencedDeclaration": 91843, - "src": "10414:28:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10664:35:147", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, + "src": "10643:56:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10625:74:147", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 87283, + "nodeType": "IfStatement", + "src": "10621:137:147", + "trueBody": { + "id": 87282, + "nodeType": "Block", + "src": "10701:57:147", + "statements": [ { - "id": 87244, - "name": "duration", + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 87279, + "name": "ExceedAuctionDomainExpiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91365, + "src": "10720:25:147", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 87280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10720:27:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 87281, + "nodeType": "RevertStatement", + "src": "10713:34:147" + } + ] + } + }, + { + "expression": { + "id": 87295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 87284, + "name": "tax", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87151, - "src": "10444:8:147", + "referencedDeclaration": 87158, + "src": "10828:3:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" } }, - { - "expression": { - "arguments": [ - { - "id": 87247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10459:6:147", + "id": 87286, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10832:3:147", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 91378, + "src": "10828:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 87289, + "name": "_taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86396, + "src": "10850:9:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 87291, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87167, + "src": "10877:6:147", "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" - }, - "typeName": { - "id": 87246, - "name": "uint64", - "nodeType": "ElementaryTypeName", - "src": "10459:6:147", - "typeDescriptions": {} + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_uint64_$", - "typeString": "type(uint64)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 87245, - "name": "type", + "id": 87290, + "name": "_getDomainPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "10454:4:147", + "referencedDeclaration": 87684, + "src": "10861:15:147", "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" } }, - "id": 87248, + "id": 87292, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10454:12:147", + "src": "10861:23:147", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint64", - "typeString": "type(uint64)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87249, + { + "id": 87293, + "name": "MAX_PERCENTAGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86368, + "src": "10886:14:147", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "id": 87287, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73915, + "src": "10838:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", + "typeString": "type(library Math)" + } + }, + "id": 87288, "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberLocation": "10467:3:147", - "memberName": "max", + "memberLocation": "10843:6:147", + "memberName": "mulDiv", "nodeType": "MemberAccess", - "src": "10454:16:147", + "referencedDeclaration": 73263, + "src": "10838:11:147", "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } + }, + "id": 87294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10838:63:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "id": 87236, - "name": "LibSafeRange", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93651, - "src": "10383:12:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_LibSafeRange_$93651_$", - "typeString": "type(library LibSafeRange)" - } + }, + "src": "10828:73:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 87296, + "nodeType": "ExpressionStatement", + "src": "10828:73:147" + } + ] + } + } + ] + }, + "id": 87300, + "nodeType": "IfStatement", + "src": "9939:977:147", + "trueBody": { + "id": 87190, + "nodeType": "Block", + "src": "9970:63:147", + "statements": [ + { + "expression": { + "id": 87188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 87181, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87155, + "src": "9978:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9988:3:147", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 91378, + "src": "9978:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 87187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 87184, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87151, + "src": "9994:8:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 87186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "10005:21:147", + "subExpression": { + "id": 87185, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87173, + "src": "10006:20:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9994:32:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9978:48:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 87189, + "nodeType": "ExpressionStatement", + "src": "9978:48:147" + } + ] + } + }, + { + "expression": { + "id": 87308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 87301, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87158, + "src": "10922:3:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87303, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10926:3:147", + "memberName": "ron", + "nodeType": "MemberAccess", + "referencedDeclaration": 91380, + "src": "10922:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 87305, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87158, + "src": "10948:3:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87306, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10952:3:147", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 91378, + "src": "10948:7:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 87304, + "name": "convertUSDToRON", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87350, + "src": "10932:15:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 87307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10932:24:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10922:34:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 87309, + "nodeType": "ExpressionStatement", + "src": "10922:34:147" + }, + { + "expression": { + "id": 87317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 87310, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87155, + "src": "10962:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87312, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "10972:3:147", + "memberName": "ron", + "nodeType": "MemberAccess", + "referencedDeclaration": 91380, + "src": "10962:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 87314, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87155, + "src": "10994:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 87315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11004:3:147", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 91378, + "src": "10994:13:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 87313, + "name": "convertUSDToRON", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87350, + "src": "10978:15:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 87316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10978:30:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10962:46:147", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 87318, + "nodeType": "ExpressionStatement", + "src": "10962:46:147" +======= + "functionReturnParameters": 118983, + "id": 119029, + "nodeType": "Return", + "src": "9413:17:163" + } + ] + } +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91544 + ], + "documentation": { + "id": 87147, + "nodeType": "StructuredDocumentation", + "src": "9602:41:147", +======= + 123495 + ], + "documentation": { + "id": 118976, + "nodeType": "StructuredDocumentation", + "src": "8890:41:163", +>>>>>>> Stashed changes + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "dfef64da", + "implemented": true, + "kind": "function", + "modifiers": [], +<<<<<<< Updated upstream + "name": "getRenewalFee", + "nameLocation": "9655:13:147", + "parameters": { + "id": 87152, +======= + "name": "getTier", + "nameLocation": "8943:7:163", + "parameters": { + "id": 118979, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87149, + "mutability": "mutable", + "name": "label", + "nameLocation": "9683:5:147", + "nodeType": "VariableDeclaration", + "scope": 87320, + "src": "9669:19:147", +======= + "id": 118978, + "mutability": "mutable", + "name": "label", + "nameLocation": "8965:5:163", + "nodeType": "VariableDeclaration", + "scope": 119045, + "src": "8951:19:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87148, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9669:6:147", +======= + "id": 118977, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8951:6:163", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8950:21:163" + }, + "returnParameters": { + "id": 118983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 118982, + "mutability": "mutable", + "name": "tier", + "nameLocation": "8998:4:163", + "nodeType": "VariableDeclaration", + "scope": 119045, + "src": "8993:9:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + }, + "typeName": { + "id": 118981, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 118980, + "name": "Tier", + "nameLocations": [ + "8993:4:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123312, + "src": "8993:4:163" + }, + "referencedDeclaration": 123312, + "src": "8993:4:163", + "typeDescriptions": { + "typeIdentifier": "t_enum$_Tier_$123312", + "typeString": "enum INSDomainPrice.Tier" + } + }, + "visibility": "internal" + } + ], + "src": "8992:11:163" + }, + "scope": 119626, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 119082, + "nodeType": "FunctionDefinition", + "src": "9613:396:163", + "nodes": [], + "body": { + "id": 119081, + "nodeType": "Block", + "src": "9760:249:163", + "nodes": [], + "statements": [ + { + "assignments": [ + 119060 + ], + "declarations": [ + { + "constant": false, + "id": 119060, + "mutability": "mutable", + "name": "revertReason", + "nameLocation": "9773:12:163", + "nodeType": "VariableDeclaration", + "scope": 119081, + "src": "9766:19:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 119059, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "9766:6:163", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "id": 119061, + "nodeType": "VariableDeclarationStatement", + "src": "9766:19:163" + }, + { + "expression": { + "id": 119070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 119062, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119054, + "src": "9792:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + { + "id": 119063, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119057, + "src": "9803:3:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + { + "id": 119064, + "name": "revertReason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119060, + "src": "9808:12:163", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "id": 119065, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9791:30:163", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "tuple(struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 119067, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119048, + "src": "9842:5:163", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 119068, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119050, + "src": "9849:8:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 119066, + "name": "_tryGetRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119583, + "src": "9824:17:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "function (string memory,uint256) view returns (struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "id": 119069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9824:34:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "tuple(struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "src": "9791:67:163", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 119071, + "nodeType": "ExpressionStatement", + "src": "9791:67:163" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 119077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119072, + "name": "revertReason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119060, + "src": "9868:12:163", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830", + "id": 119075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9891:3:163", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 119074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9884:6:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 119073, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "9884:6:163", + "typeDescriptions": {} + } + }, + "id": 119076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9884:11:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "9868:27:163", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119080, + "nodeType": "IfStatement", + "src": "9864:141:163", + "trueBody": { + "id": 119079, + "nodeType": "Block", + "src": "9897:108:163", + "statements": [ + { + "AST": { + "nativeSrc": "9930:69:163", + "nodeType": "YulBlock", + "src": "9930:69:163", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9947:3:163", + "nodeType": "YulLiteral", + "src": "9947:3:163", + "type": "", + "value": "0x0" }, - "id": 87237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10396:17:147", - "memberName": "addWithUpperbound", - "nodeType": "MemberAccess", - "referencedDeclaration": 93650, - "src": "10383:30:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + { + "name": "revertReason", + "nativeSrc": "9952:12:163", + "nodeType": "YulIdentifier", + "src": "9952:12:163" } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9940:6:163", + "nodeType": "YulIdentifier", + "src": "9940:6:163" }, - "id": 87250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10383:88:147", - "tryCall": false, + "nativeSrc": "9940:25:163", + "nodeType": "YulFunctionCall", + "src": "9940:25:163" + }, + "nativeSrc": "9940:25:163", + "nodeType": "YulExpressionStatement", + "src": "9940:25:163" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9981:3:163", + "nodeType": "YulLiteral", + "src": "9981:3:163", + "type": "", + "value": "0x0" + }, + { + "kind": "number", + "nativeSrc": "9986:4:163", + "nodeType": "YulLiteral", + "src": "9986:4:163", + "type": "", + "value": "0x04" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9974:6:163", + "nodeType": "YulIdentifier", + "src": "9974:6:163" + }, + "nativeSrc": "9974:17:163", + "nodeType": "YulFunctionCall", + "src": "9974:17:163" + }, + "nativeSrc": "9974:17:163", + "nodeType": "YulExpressionStatement", + "src": "9974:17:163" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 119060, + "isOffset": false, + "isSlot": false, + "src": "9952:12:163", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 119078, + "nodeType": "InlineAssembly", + "src": "9905:94:163" + } + ] + } + } + ] + }, + "baseFunctions": [ + 123486 + ], + "documentation": { + "id": 119046, + "nodeType": "StructuredDocumentation", + "src": "9569:41:163", + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "f4651f49", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRenewalFee", + "nameLocation": "9622:13:163", + "parameters": { + "id": 119051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119048, + "mutability": "mutable", + "name": "label", + "nameLocation": "9650:5:163", + "nodeType": "VariableDeclaration", + "scope": 119082, + "src": "9636:19:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119047, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9636:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87151, + "mutability": "mutable", + "name": "duration", + "nameLocation": "9698:8:147", + "nodeType": "VariableDeclaration", + "scope": 87320, + "src": "9690:16:147", +======= + "id": 119050, + "mutability": "mutable", + "name": "duration", + "nameLocation": "9665:8:163", + "nodeType": "VariableDeclaration", + "scope": 119082, + "src": "9657:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9690:7:147", +======= + "id": 119049, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9657:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "9668:39:147" + }, + "returnParameters": { + "id": 87159, +======= + "src": "9635:39:163" + }, + "returnParameters": { + "id": 119058, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87155, + "mutability": "mutable", + "name": "basePrice", + "nameLocation": "9758:9:147", + "nodeType": "VariableDeclaration", + "scope": 87320, + "src": "9741:26:147", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + }, + "typeName": { + "id": 87154, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87153, + "name": "UnitPrice", + "nameLocations": [ + "9741:9:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91381, + "src": "9741:9:147" + }, + "referencedDeclaration": 91381, + "src": "9741:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_storage_ptr", +======= + "id": 119054, + "mutability": "mutable", + "name": "basePrice", + "nameLocation": "9725:9:163", + "nodeType": "VariableDeclaration", + "scope": 119082, + "src": "9708:26:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + }, + "typeName": { + "id": 119053, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119052, + "name": "UnitPrice", + "nameLocations": [ + "9708:9:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123322, + "src": "9708:9:163" + }, + "referencedDeclaration": 123322, + "src": "9708:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.UnitPrice" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87158, + "mutability": "mutable", + "name": "tax", + "nameLocation": "9786:3:147", + "nodeType": "VariableDeclaration", + "scope": 87320, + "src": "9769:20:147", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + }, + "typeName": { + "id": 87157, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87156, + "name": "UnitPrice", + "nameLocations": [ + "9769:9:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91381, + "src": "9769:9:147" + }, + "referencedDeclaration": 91381, + "src": "9769:9:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$91381_storage_ptr", +======= + "id": 119057, + "mutability": "mutable", + "name": "tax", + "nameLocation": "9753:3:163", + "nodeType": "VariableDeclaration", + "scope": 119082, + "src": "9736:20:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" + }, + "typeName": { + "id": 119056, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119055, + "name": "UnitPrice", + "nameLocations": [ + "9736:9:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123322, + "src": "9736:9:163" + }, + "referencedDeclaration": 123322, + "src": "9736:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.UnitPrice" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "9740:50:147" + }, + "scope": 87685, +======= + "src": "9707:50:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { +<<<<<<< Updated upstream + "id": 87350, + "nodeType": "FunctionDefinition", + "src": "11061:286:147", + "nodes": [], + "body": { + "id": 87349, + "nodeType": "Block", + "src": "11139:208:147", +======= + "id": 119112, + "nodeType": "FunctionDefinition", + "src": "10057:286:163", + "nodes": [], + "body": { + "id": 119111, + "nodeType": "Block", + "src": "10135:208:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87338, + "name": "usdWei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87323, + "src": "11258:6:147", +======= + "id": 119100, + "name": "usdWei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119085, + "src": "10254:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87343, + "name": "USD_DECIMALS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86364, + "src": "11298:12:147", +======= + "id": 119105, + "name": "USD_DECIMALS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118279, + "src": "10294:12:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], +<<<<<<< Updated upstream + "id": 87342, +======= + "id": 119104, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", +<<<<<<< Updated upstream + "src": "11291:6:147", +======= + "src": "10287:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87341, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "11291:6:147", + "typeDescriptions": {} + } + }, + "id": 87344, +======= + "id": 119103, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "10287:6:163", + "typeDescriptions": {} + } + }, + "id": 119106, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11291:20:147", +======= + "src": "10287:20:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], +<<<<<<< Updated upstream + "id": 87340, +======= + "id": 119102, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", +<<<<<<< Updated upstream + "src": "11285:5:147", +======= + "src": "10281:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87339, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "11285:5:147", + "typeDescriptions": {} + } + }, + "id": 87345, +======= + "id": 119101, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "10281:5:163", + "typeDescriptions": {} + } + }, + "id": 119107, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11285:27:147", +======= + "src": "10281:27:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + }, + { + "hexValue": "3138", +<<<<<<< Updated upstream + "id": 87346, +======= + "id": 119108, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "11333:2:147", +======= + "src": "10329:2:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_int32", + "typeString": "int32" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + } + ], + "expression": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87335, +======= + "id": 119097, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "-", + "prefix": true, +<<<<<<< Updated upstream + "src": "11231:3:147", + "subExpression": { + "hexValue": "3138", + "id": 87334, +======= + "src": "10227:3:163", + "subExpression": { + "hexValue": "3138", + "id": 119096, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "11232:2:147", +======= + "src": "10228:2:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "typeDescriptions": { + "typeIdentifier": "t_rational_minus_18_by_1", + "typeString": "int_const -18" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_minus_18_by_1", + "typeString": "int_const -18" + } + ], + "expression": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87330, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86405, + "src": "11178:16:147", +======= + "id": 119092, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118320, + "src": "10174:16:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { +<<<<<<< Updated upstream + "id": 87331, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86402, + "src": "11196:17:147", +======= + "id": 119093, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118317, + "src": "10192:17:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10366:105:147" - }, - { - "assignments": [ - 87256, - null - ], - "declarations": [ - { - "constant": false, - "id": 87256, - "mutability": "mutable", - "name": "domainAuction", - "nameLocation": "10514:13:147", - "nodeType": "VariableDeclaration", - "scope": 87297, - "src": "10482:45:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DomainAuction_$91146_memory_ptr", - "typeString": "struct INSAuction.DomainAuction" - }, - "typeName": { - "id": 87255, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87254, - "name": "INSAuction.DomainAuction", - "nameLocations": [ - "10482:10:147", - "10493:13:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91146, - "src": "10482:24:147" - }, - "referencedDeclaration": 91146, - "src": "10482:24:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DomainAuction_$91146_storage_ptr", - "typeString": "struct INSAuction.DomainAuction" - } - }, - "visibility": "internal" - }, - null + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } ], - "id": 87261, - "initialValue": { - "arguments": [ - { - "id": 87259, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87210, - "src": "10551:2:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87257, - "name": "auction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87220, - "src": "10532:7:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - } - }, - "id": 87258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10540:10:147", - "memberName": "getAuction", - "nodeType": "MemberAccess", - "referencedDeclaration": 91309, - "src": "10532:18:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_DomainAuction_$91146_memory_ptr_$_t_uint256_$", - "typeString": "function (uint256) view external returns (struct INSAuction.DomainAuction memory,uint256)" - } - }, - "id": 87260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10532:22:147", - "tryCall": false, + "expression": { +<<<<<<< Updated upstream + "id": 87328, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86389, + "src": "11152:5:147", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_struct$_DomainAuction_$91146_memory_ptr_$_t_uint256_$", - "typeString": "tuple(struct INSAuction.DomainAuction memory,uint256)" + "typeIdentifier": "t_contract$_IPyth_$75202", + "typeString": "contract IPyth" } }, - "nodeType": "VariableDeclarationStatement", - "src": "10481:73:147" - }, - { - "assignments": [ - 87263 - ], - "declarations": [ - { - "constant": false, - "id": 87263, - "mutability": "mutable", - "name": "claimedAt", - "nameLocation": "10572:9:147", - "nodeType": "VariableDeclaration", - "scope": 87297, - "src": "10564:17:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10564:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" + "id": 87329, +======= + "id": 119090, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118304, + "src": "10148:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" } - ], - "id": 87267, - "initialValue": { - "expression": { - "expression": { - "id": 87264, - "name": "domainAuction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87256, - "src": "10584:13:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DomainAuction_$91146_memory_ptr", - "typeString": "struct INSAuction.DomainAuction memory" - } - }, - "id": 87265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10598:3:147", - "memberName": "bid", - "nodeType": "MemberAccess", - "referencedDeclaration": 91145, - "src": "10584:17:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bid_$91138_memory_ptr", - "typeString": "struct INSAuction.Bid memory" - } - }, - "id": 87266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10602:9:147", - "memberName": "claimedAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 91137, - "src": "10584:27:147", + }, + "id": 119091, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "11158:19:147", + "memberName": "getPriceNoOlderThan", + "nodeType": "MemberAccess", + "referencedDeclaration": 75134, + "src": "11152:25:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$75235_memory_ptr_$", + "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + } + }, + "id": 87332, +======= + "memberLocation": "10154:19:163", + "memberName": "getPriceNoOlderThan", + "nodeType": "MemberAccess", + "referencedDeclaration": 106052, + "src": "10148:25:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$106153_memory_ptr_$", + "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + } + }, + "id": 119094, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11152:62:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 87333, +======= + "src": "10148:62:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$106153_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 119095, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "11215:7:147", + "memberName": "inverse", + "nodeType": "MemberAccess", + "referencedDeclaration": 94441, + "src": "11152:70:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_int32_$returns$_t_struct$_Price_$75235_memory_ptr_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,int32) pure returns (struct PythStructs.Price memory)" + } + }, + "id": 87336, +======= + "memberLocation": "10211:7:163", + "memberName": "inverse", + "nodeType": "MemberAccess", + "referencedDeclaration": 126386, + "src": "10148:70:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$106153_memory_ptr_$_t_int32_$returns$_t_struct$_Price_$106153_memory_ptr_$attached_to$_t_struct$_Price_$106153_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,int32) pure returns (struct PythStructs.Price memory)" + } + }, + "id": 119098, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [ +<<<<<<< Updated upstream + "11225:4:147" +======= + "10221:4:163" +>>>>>>> Stashed changes + ], + "names": [ + "expo" + ], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11152:85:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 87337, +======= + "src": "10148:85:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$106153_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 119099, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "11238:3:147", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 94333, + "src": "11152:89:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" + } + }, + "id": 87347, +======= + "memberLocation": "10234:3:163", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 126278, + "src": "10148:89:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$106153_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$106153_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" + } + }, + "id": 119109, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [ +<<<<<<< Updated upstream + "11250:6:147", + "11272:11:147", + "11320:11:147" +======= + "10246:6:163", + "10268:11:163", + "10316:11:163" +>>>>>>> Stashed changes + ], + "names": [ + "inpWei", + "inpDecimals", + "outDecimals" + ], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11152:190:147", +======= + "src": "10148:190:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "functionReturnParameters": 87327, + "id": 87348, + "nodeType": "Return", + "src": "11145:197:147" +======= + "functionReturnParameters": 119089, + "id": 119110, + "nodeType": "Return", + "src": "10141:197:163" +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91631 + ], + "documentation": { + "id": 87321, + "nodeType": "StructuredDocumentation", + "src": "11017:41:147", +======= + 123576 + ], + "documentation": { + "id": 119083, + "nodeType": "StructuredDocumentation", + "src": "10013:41:163", +>>>>>>> Stashed changes + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "7174026e", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "convertUSDToRON", +<<<<<<< Updated upstream + "nameLocation": "11070:15:147", + "parameters": { + "id": 87324, +======= + "nameLocation": "10066:15:163", + "parameters": { + "id": 119086, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87323, + "mutability": "mutable", + "name": "usdWei", + "nameLocation": "11094:6:147", + "nodeType": "VariableDeclaration", + "scope": 87350, + "src": "11086:14:147", +======= + "id": 119085, + "mutability": "mutable", + "name": "usdWei", + "nameLocation": "10090:6:163", + "nodeType": "VariableDeclaration", + "scope": 119112, + "src": "10082:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11086:7:147", +======= + "id": 119084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10082:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11085:16:147" + }, + "returnParameters": { + "id": 87327, +======= + "src": "10081:16:163" + }, + "returnParameters": { + "id": 119089, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87326, + "mutability": "mutable", + "name": "ronWei", + "nameLocation": "11131:6:147", + "nodeType": "VariableDeclaration", + "scope": 87350, + "src": "11123:14:147", +======= + "id": 119088, + "mutability": "mutable", + "name": "ronWei", + "nameLocation": "10127:6:163", + "nodeType": "VariableDeclaration", + "scope": 119112, + "src": "10119:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11123:7:147", +======= + "id": 119087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10119:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11122:16:147" + }, + "scope": 87685, +======= + "src": "10118:16:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { +<<<<<<< Updated upstream + "id": 87376, + "nodeType": "FunctionDefinition", + "src": "11395:263:147", + "nodes": [], + "body": { + "id": 87375, + "nodeType": "Block", + "src": "11473:185:147", +======= + "id": 119138, + "nodeType": "FunctionDefinition", + "src": "10391:263:163", + "nodes": [], + "body": { + "id": 119137, + "nodeType": "Block", + "src": "10469:185:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87364, + "name": "ronWei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87353, + "src": "11569:6:147", +======= + "id": 119126, + "name": "ronWei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119115, + "src": "10565:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3138", +<<<<<<< Updated upstream + "id": 87365, +======= + "id": 119127, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "11596:2:147", +======= + "src": "10592:2:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + { + "arguments": [ + { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87370, + "name": "USD_DECIMALS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86364, + "src": "11632:12:147", +======= + "id": 119132, + "name": "USD_DECIMALS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118279, + "src": "10628:12:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" } + ], +<<<<<<< Updated upstream + "id": 87369, +======= + "id": 119131, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", +<<<<<<< Updated upstream + "src": "11625:6:147", +======= + "src": "10621:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint32_$", + "typeString": "type(uint32)" }, - "nodeType": "VariableDeclarationStatement", - "src": "10564:47:147" + "typeName": { +<<<<<<< Updated upstream + "id": 87368, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "11625:6:147", + "typeDescriptions": {} + } + }, + "id": 87371, +======= + "id": 119130, + "name": "uint32", + "nodeType": "ElementaryTypeName", + "src": "10621:6:163", + "typeDescriptions": {} + } + }, + "id": 119133, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11625:20:147", +======= + "src": "10621:20:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint32", + "typeString": "uint32" + } + ], +<<<<<<< Updated upstream + "id": 87367, +======= + "id": 119129, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", +<<<<<<< Updated upstream + "src": "11619:5:147", +======= + "src": "10615:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_type$_t_int32_$", + "typeString": "type(int32)" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87366, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "11619:5:147", + "typeDescriptions": {} + } + }, + "id": 87372, +======= + "id": 119128, + "name": "int32", + "nodeType": "ElementaryTypeName", + "src": "10615:5:163", + "typeDescriptions": {} + } + }, + "id": 119134, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11619:27:147", +======= + "src": "10615:27:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + { + "typeIdentifier": "t_int32", + "typeString": "int32" + } + ], + "expression": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87360, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86405, + "src": "11512:16:147", +======= + "id": 119122, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118320, + "src": "10508:16:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { +<<<<<<< Updated upstream + "id": 87361, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86402, + "src": "11530:17:147", +======= + "id": 119123, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118317, + "src": "10526:17:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { +<<<<<<< Updated upstream + "id": 87358, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86389, + "src": "11486:5:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$75202", + "typeString": "contract IPyth" + } + }, + "id": 87359, +======= + "id": 119120, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118304, + "src": "10482:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" + } + }, + "id": 119121, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "11492:19:147", + "memberName": "getPriceNoOlderThan", + "nodeType": "MemberAccess", + "referencedDeclaration": 75134, + "src": "11486:25:147", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$75235_memory_ptr_$", + "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + } + }, + "id": 87362, +======= + "memberLocation": "10488:19:163", + "memberName": "getPriceNoOlderThan", + "nodeType": "MemberAccess", + "referencedDeclaration": 106052, + "src": "10482:25:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$106153_memory_ptr_$", + "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + } + }, + "id": 119124, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11486:62:147", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 87363, +======= + "src": "10482:62:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Price_$106153_memory_ptr", + "typeString": "struct PythStructs.Price memory" + } + }, + "id": 119125, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "11549:3:147", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 94333, + "src": "11486:66:147", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" + } + }, + "id": 87373, +======= + "memberLocation": "10545:3:163", + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 126278, + "src": "10482:66:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$106153_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$106153_memory_ptr_$", + "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" + } + }, + "id": 119135, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [ +<<<<<<< Updated upstream + "11561:6:147", + "11583:11:147", + "11606:11:147" +======= + "10557:6:163", + "10579:11:163", + "10602:11:163" +>>>>>>> Stashed changes + ], + "names": [ + "inpWei", + "inpDecimals", + "outDecimals" + ], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "11486:167:147", +======= + "src": "10482:167:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "functionReturnParameters": 87357, + "id": 87374, + "nodeType": "Return", + "src": "11479:174:147" +======= + "functionReturnParameters": 119119, + "id": 119136, + "nodeType": "Return", + "src": "10475:174:163" +>>>>>>> Stashed changes + } + ] + }, + "baseFunctions": [ +<<<<<<< Updated upstream + 91639 + ], + "documentation": { + "id": 87351, + "nodeType": "StructuredDocumentation", + "src": "11351:41:147", +======= + 123584 + ], + "documentation": { + "id": 119113, + "nodeType": "StructuredDocumentation", + "src": "10347:41:163", +>>>>>>> Stashed changes + "text": " @inheritdoc INSDomainPrice" + }, + "functionSelector": "037f1769", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "convertRONToUSD", +<<<<<<< Updated upstream + "nameLocation": "11404:15:147", + "parameters": { + "id": 87354, +======= + "nameLocation": "10400:15:163", + "parameters": { + "id": 119116, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87353, + "mutability": "mutable", + "name": "ronWei", + "nameLocation": "11428:6:147", + "nodeType": "VariableDeclaration", + "scope": 87376, + "src": "11420:14:147", +======= + "id": 119115, + "mutability": "mutable", + "name": "ronWei", + "nameLocation": "10424:6:163", + "nodeType": "VariableDeclaration", + "scope": 119138, + "src": "10416:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11420:7:147", +======= + "id": 119114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10416:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11419:16:147" + }, + "returnParameters": { + "id": 87357, +======= + "src": "10415:16:163" + }, + "returnParameters": { + "id": 119119, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87356, + "mutability": "mutable", + "name": "usdWei", + "nameLocation": "11465:6:147", + "nodeType": "VariableDeclaration", + "scope": 87376, + "src": "11457:14:147", +======= + "id": 119118, + "mutability": "mutable", + "name": "usdWei", + "nameLocation": "10461:6:163", + "nodeType": "VariableDeclaration", + "scope": 119138, + "src": "10453:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11457:7:147", +======= + "id": 119117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10453:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11456:16:147" + }, + "scope": 87685, +======= + "src": "10452:16:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { +<<<<<<< Updated upstream + "id": 87423, + "nodeType": "FunctionDefinition", + "src": "11756:419:147", + "nodes": [], + "body": { + "id": 87422, + "nodeType": "Block", + "src": "11985:190:147", +======= + "id": 119185, + "nodeType": "FunctionDefinition", + "src": "10752:419:163", + "nodes": [], + "body": { + "id": 119184, + "nodeType": "Block", + "src": "10981:190:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "expression": { +<<<<<<< Updated upstream + "id": 87397, +======= + "id": 119159, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87394, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87392, + "src": "11991:6:147", +======= + "id": 119156, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119154, + "src": "10987:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { +<<<<<<< Updated upstream + "id": 87395, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87380, + "src": "12000:8:147", +======= + "id": 119157, + "name": "lbHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119142, + "src": "10996:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 87396, +======= + "id": 119158, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "12009:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12000:15:147", +======= + "memberLocation": "11005:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "10996:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "11991:24:147", +======= + "src": "10987:24:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87398, + "nodeType": "ExpressionStatement", + "src": "11991:24:147" +======= + "id": 119160, + "nodeType": "ExpressionStatement", + "src": "10987:24:163" +>>>>>>> Stashed changes + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 87416, +======= + "id": 119178, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 87411, +======= + "id": 119173, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 87406, +======= + "id": 119168, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87401, +======= + "id": 119163, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 87399, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87392, + "src": "12025:6:147", +======= + "id": 119161, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119154, + "src": "11021:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", +<<<<<<< Updated upstream + "id": 87400, +======= + "id": 119162, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", +<<<<<<< Updated upstream + "src": "12035:1:147", +======= + "src": "11031:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 87278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87268, - "name": "claimedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87263, - "src": "10625:9:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 87269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10638:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10625:14:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87271, - "name": "expiry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87235, - "src": "10643:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 87272, - "name": "claimedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87263, - "src": "10652:9:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10643:18:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 87274, - "name": "auction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87220, - "src": "10664:7:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_INSAuction_$91351", - "typeString": "contract INSAuction" - } - }, - "id": 87275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10672:25:147", - "memberName": "MAX_AUCTION_DOMAIN_EXPIRY", - "nodeType": "MemberAccess", - "referencedDeclaration": 91202, - "src": "10664:33:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$__$returns$_t_uint64_$", - "typeString": "function () pure external returns (uint64)" - } - }, - "id": 87276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10664:35:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - }, - "src": "10643:56:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10625:74:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 87283, - "nodeType": "IfStatement", - "src": "10621:137:147", - "trueBody": { - "id": 87282, - "nodeType": "Block", - "src": "10701:57:147", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 87279, - "name": "ExceedAuctionDomainExpiry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91365, - "src": "10720:25:147", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 87280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10720:27:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87281, - "nodeType": "RevertStatement", - "src": "10713:34:147" - } - ] + "value": "0" + }, +<<<<<<< Updated upstream + "src": "12025:11:147", +======= + "src": "11021:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87405, +======= + "id": 119167, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { +<<<<<<< Updated upstream + "id": 87402, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87383, + "src": "12040:9:147", +======= + "id": 119164, + "name": "ronPrices", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119145, + "src": "11036:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" } }, - { - "expression": { - "id": 87295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 87284, - "name": "tax", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87158, - "src": "10828:3:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" - } - }, - "id": 87286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10832:3:147", - "memberName": "usd", - "nodeType": "MemberAccess", - "referencedDeclaration": 91378, - "src": "10828:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 87289, - "name": "_taxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86396, - "src": "10850:9:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 87291, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87167, - "src": "10877:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 87290, - "name": "_getDomainPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87684, - "src": "10861:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 87292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10861:23:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 87293, - "name": "MAX_PERCENTAGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86368, - "src": "10886:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint64", - "typeString": "uint64" - } - ], - "expression": { - "id": 87287, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73915, - "src": "10838:4:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", - "typeString": "type(library Math)" - } - }, - "id": 87288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10843:6:147", - "memberName": "mulDiv", - "nodeType": "MemberAccess", - "referencedDeclaration": 73263, - "src": "10838:11:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 87294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10838:63:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10828:73:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87296, - "nodeType": "ExpressionStatement", - "src": "10828:73:147" +<<<<<<< Updated upstream + "id": 87403, +======= + "id": 119165, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "12050:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12040:16:147", +======= + "memberLocation": "11046:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11036:16:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87404, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87392, + "src": "12060:6:147", +======= + "id": 119166, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119154, + "src": "11056:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "12040:26:147", +======= + "src": "11036:26:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "src": "12025:41:147", +======= + "src": "11021:41:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87410, +======= + "id": 119172, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { +<<<<<<< Updated upstream + "id": 87407, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87386, + "src": "12070:11:147", +======= + "id": 119169, + "name": "proofHashes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119148, + "src": "11066:11:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" } - ] + }, +<<<<<<< Updated upstream + "id": 87408, +======= + "id": 119170, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "12082:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12070:18:147", +======= + "memberLocation": "11078:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11066:18:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87409, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87392, + "src": "12092:6:147", +======= + "id": 119171, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119154, + "src": "11088:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "12070:28:147", +======= + "src": "11066:28:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } + }, +<<<<<<< Updated upstream + "src": "12025:73:147", +======= + "src": "11021:73:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" } - ] + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87415, +======= + "id": 119177, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { +<<<<<<< Updated upstream + "id": 87412, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87389, + "src": "12102:8:147", +======= + "id": 119174, + "name": "setTypes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119151, + "src": "11098:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, +<<<<<<< Updated upstream + "id": 87413, +======= + "id": 119175, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "12111:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12102:15:147", +======= + "memberLocation": "11107:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "11098:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87414, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87392, + "src": "12121:6:147", +======= + "id": 119176, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119154, + "src": "11117:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "12102:25:147", +======= + "src": "11098:25:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, +<<<<<<< Updated upstream + "src": "12025:102:147", +======= + "src": "11021:102:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } }, - "id": 87300, +<<<<<<< Updated upstream + "id": 87421, "nodeType": "IfStatement", - "src": "9939:977:147", + "src": "12021:150:147", "trueBody": { - "id": 87190, + "id": 87420, "nodeType": "Block", - "src": "9970:63:147", + "src": "12129:42:147", +======= + "id": 119183, + "nodeType": "IfStatement", + "src": "11017:150:163", + "trueBody": { + "id": 119182, + "nodeType": "Block", + "src": "11125:42:163", +>>>>>>> Stashed changes "statements": [ { - "expression": { - "id": 87188, + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 87417, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91359, + "src": "12144:18:147", +======= + "id": 119179, + "name": "InvalidArrayLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123300, + "src": "11140:18:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, +<<<<<<< Updated upstream + "id": 87418, +======= + "id": 119180, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 87181, - "name": "basePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87155, - "src": "9978:9:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" - } - }, - "id": 87183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "9988:3:147", - "memberName": "usd", - "nodeType": "MemberAccess", - "referencedDeclaration": 91378, - "src": "9978:13:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87184, - "name": "duration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87151, - "src": "9994:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 87186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "~", - "prefix": true, - "src": "10005:21:147", - "subExpression": { - "id": 87185, - "name": "overriddenRenewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87173, - "src": "10006:20:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9994:32:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9978:48:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "12144:20:147", +======= + "src": "11140:20:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 87189, - "nodeType": "ExpressionStatement", - "src": "9978:48:147" +<<<<<<< Updated upstream + "id": 87419, + "nodeType": "RevertStatement", + "src": "12137:27:147" +======= + "id": 119181, + "nodeType": "RevertStatement", + "src": "11133:27:163" +>>>>>>> Stashed changes } ] } + } + ] + }, + "documentation": { +<<<<<<< Updated upstream + "id": 87377, + "nodeType": "StructuredDocumentation", + "src": "11662:91:147", +======= + "id": 119139, + "nodeType": "StructuredDocumentation", + "src": "10658:91:163", +>>>>>>> Stashed changes + "text": " @dev Reverts if the arguments of the method {bulkSetDomainPrice} is invalid." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_requireBulkSetDomainPriceArgumentsValid", +<<<<<<< Updated upstream + "nameLocation": "11765:40:147", + "parameters": { + "id": 87390, +======= + "nameLocation": "10761:40:163", + "parameters": { + "id": 119152, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87380, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "11830:8:147", + "nodeType": "VariableDeclaration", + "scope": 87423, + "src": "11811:27:147", +======= + "id": 119142, + "mutability": "mutable", + "name": "lbHashes", + "nameLocation": "10826:8:163", + "nodeType": "VariableDeclaration", + "scope": 119185, + "src": "10807:27:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 87378, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11811:7:147", +======= + "id": 119140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10807:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, +<<<<<<< Updated upstream + "id": 87379, + "nodeType": "ArrayTypeName", + "src": "11811:9:147", +======= + "id": 119141, + "nodeType": "ArrayTypeName", + "src": "10807:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87383, + "mutability": "mutable", + "name": "ronPrices", + "nameLocation": "11863:9:147", + "nodeType": "VariableDeclaration", + "scope": 87423, + "src": "11844:28:147", +======= + "id": 119145, + "mutability": "mutable", + "name": "ronPrices", + "nameLocation": "10859:9:163", + "nodeType": "VariableDeclaration", + "scope": 119185, + "src": "10840:28:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 87381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11844:7:147", +======= + "id": 119143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10840:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87382, + "nodeType": "ArrayTypeName", + "src": "11844:9:147", +======= + "id": 119144, + "nodeType": "ArrayTypeName", + "src": "10840:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87386, + "mutability": "mutable", + "name": "proofHashes", + "nameLocation": "11897:11:147", + "nodeType": "VariableDeclaration", + "scope": 87423, + "src": "11878:30:147", +======= + "id": 119148, + "mutability": "mutable", + "name": "proofHashes", + "nameLocation": "10893:11:163", + "nodeType": "VariableDeclaration", + "scope": 119185, + "src": "10874:30:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 87384, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11878:7:147", +======= + "id": 119146, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10874:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, +<<<<<<< Updated upstream + "id": 87385, + "nodeType": "ArrayTypeName", + "src": "11878:9:147", +======= + "id": 119147, + "nodeType": "ArrayTypeName", + "src": "10874:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" }, { - "expression": { - "id": 87308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 87301, - "name": "tax", + "constant": false, +<<<<<<< Updated upstream + "id": 87389, + "mutability": "mutable", + "name": "setTypes", + "nameLocation": "11933:8:147", + "nodeType": "VariableDeclaration", + "scope": 87423, + "src": "11914:27:147", +======= + "id": 119151, + "mutability": "mutable", + "name": "setTypes", + "nameLocation": "10929:8:163", + "nodeType": "VariableDeclaration", + "scope": 119185, + "src": "10910:27:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { +<<<<<<< Updated upstream + "id": 87387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11914:7:147", +======= + "id": 119149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10910:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87388, + "nodeType": "ArrayTypeName", + "src": "11914:9:147", +======= + "id": 119150, + "nodeType": "ArrayTypeName", + "src": "10910:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11805:140:147" + }, + "returnParameters": { + "id": 87393, +======= + "src": "10801:140:163" + }, + "returnParameters": { + "id": 119155, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87392, + "mutability": "mutable", + "name": "length", + "nameLocation": "11977:6:147", + "nodeType": "VariableDeclaration", + "scope": 87423, + "src": "11969:14:147", +======= + "id": 119154, + "mutability": "mutable", + "name": "length", + "nameLocation": "10973:6:163", + "nodeType": "VariableDeclaration", + "scope": 119185, + "src": "10965:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11969:7:147", +======= + "id": 119153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10965:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "11968:16:147" + }, + "scope": 87685, +======= + "src": "10964:16:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { +<<<<<<< Updated upstream + "id": 87488, + "nodeType": "FunctionDefinition", + "src": "12294:503:147", + "nodes": [], + "body": { + "id": 87487, + "nodeType": "Block", + "src": "12480:317:147", +======= + "id": 119250, + "nodeType": "FunctionDefinition", + "src": "11290:503:163", + "nodes": [], + "body": { + "id": 119249, + "nodeType": "Block", + "src": "11476:317:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "assignments": [ +<<<<<<< Updated upstream + 87442 +======= + 119204 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87442, + "mutability": "mutable", + "name": "usdPrice", + "nameLocation": "12494:8:147", + "nodeType": "VariableDeclaration", + "scope": 87487, + "src": "12486:16:147", +======= + "id": 119204, + "mutability": "mutable", + "name": "usdPrice", + "nameLocation": "11490:8:163", + "nodeType": "VariableDeclaration", + "scope": 119249, + "src": "11482:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12486:7:147", +======= + "id": 119203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11482:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87446, + "initialValue": { + "arguments": [ + { + "id": 87444, + "name": "ronPrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87158, - "src": "10922:3:147", + "referencedDeclaration": 87430, + "src": "12521:8:147", +======= + "id": 119208, + "initialValue": { + "arguments": [ + { + "id": 119206, + "name": "ronPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119192, + "src": "11517:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 87303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10926:3:147", - "memberName": "ron", - "nodeType": "MemberAccess", - "referencedDeclaration": 91380, - "src": "10922:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ + ], + "expression": { + "argumentTypes": [ { - "expression": { - "id": 87305, - "name": "tax", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87158, - "src": "10948:3:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" - } - }, - "id": 87306, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10952:3:147", - "memberName": "usd", - "nodeType": "MemberAccess", - "referencedDeclaration": 91378, - "src": "10948:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 87304, - "name": "convertUSDToRON", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87350, - "src": "10932:15:147", +<<<<<<< Updated upstream + "id": 87443, + "name": "convertRONToUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87376, + "src": "12505:15:147", +======= + "id": 119205, + "name": "convertRONToUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119138, + "src": "11501:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, +<<<<<<< Updated upstream + "id": 87445, +======= + "id": 119207, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "12505:25:147", +======= + "src": "11501:25:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "12486:44:147" + }, + { + "assignments": [ + 87449 +======= + "src": "11482:44:163" + }, + { + "assignments": [ + 119211 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87449, + "mutability": "mutable", + "name": "dp", + "nameLocation": "12561:2:147", + "nodeType": "VariableDeclaration", + "scope": 87487, + "src": "12536:27:147", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper" + }, + "typeName": { + "id": 87448, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87447, + "name": "TimestampWrapper", + "nameLocations": [ + "12536:16:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 93585, + "src": "12536:16:147" + }, + "referencedDeclaration": 93585, + "src": "12536:16:147", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", +======= + "id": 119211, + "mutability": "mutable", + "name": "dp", + "nameLocation": "11557:2:163", + "nodeType": "VariableDeclaration", + "scope": 119249, + "src": "11532:27:163", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper" + }, + "typeName": { + "id": 119210, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119209, + "name": "TimestampWrapper", + "nameLocations": [ + "11532:16:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125530, + "src": "11532:16:163" + }, + "referencedDeclaration": 125530, + "src": "11532:16:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct TimestampWrapper" } }, - "id": 87307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10932:24:147", - "tryCall": false, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87453, + "initialValue": { + "baseExpression": { + "id": 87450, + "name": "_dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86420, + "src": "12566:3:147", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$93585_storage_$", + "typeString": "mapping(bytes32 => struct TimestampWrapper storage ref)" + } + }, + "id": 87452, + "indexExpression": { + "id": 87451, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87428, + "src": "12570:6:147", +======= + "id": 119215, + "initialValue": { + "baseExpression": { + "id": 119212, + "name": "_dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118335, + "src": "11562:3:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$125530_storage_$", + "typeString": "mapping(bytes32 => struct TimestampWrapper storage ref)" } }, - "src": "10922:34:147", + "id": 119214, + "indexExpression": { + "id": 119213, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119190, + "src": "11566:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "12566:11:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage", +======= + "src": "11562:11:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage", +>>>>>>> Stashed changes + "typeString": "struct TimestampWrapper storage ref" } }, - "id": 87309, - "nodeType": "ExpressionStatement", - "src": "10922:34:147" + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "12536:41:147" }, { "expression": { - "id": 87317, + "id": 87461, +======= + "src": "11532:41:163" + }, + { + "expression": { + "id": 119223, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "expression": { - "id": 87310, - "name": "basePrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87155, - "src": "10962:9:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" - } - }, - "id": 87312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "10972:3:147", - "memberName": "ron", - "nodeType": "MemberAccess", - "referencedDeclaration": 91380, - "src": "10962:13:147", +<<<<<<< Updated upstream + "id": 87454, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87439, + "src": "12583:7:147", +======= + "id": 119216, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119201, + "src": "11579:7:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "arguments": [ - { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, +<<<<<<< Updated upstream + "id": 87460, +======= + "id": 119222, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 87455, + "name": "forced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87436, + "src": "12593:6:147", +======= + "id": 119217, + "name": "forced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119198, + "src": "11589:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87459, +======= + "id": 119221, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "expression": { - "id": 87314, - "name": "basePrice", +<<<<<<< Updated upstream + "id": 87456, + "name": "dp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87155, - "src": "10994:9:147", + "referencedDeclaration": 87449, + "src": "12603:2:147", "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice memory" + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" } }, - "id": 87315, + "id": 87457, +======= + "id": 119218, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119211, + "src": "11599:2:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 119219, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "11004:3:147", - "memberName": "usd", +<<<<<<< Updated upstream + "memberLocation": "12606:5:147", + "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 91378, - "src": "10994:13:147", + "referencedDeclaration": 93582, + "src": "12603:8:147", +======= + "memberLocation": "11602:5:163", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 125527, + "src": "11599:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87458, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87442, + "src": "12614:8:147", +======= + "id": 119220, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119204, + "src": "11610:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ], - "id": 87313, - "name": "convertUSDToRON", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87350, - "src": "10978:15:147", + }, +<<<<<<< Updated upstream + "src": "12603:19:147", +======= + "src": "11599:19:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 87316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10978:30:147", - "tryCall": false, +<<<<<<< Updated upstream + "src": "12593:29:147", +======= + "src": "11589:29:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } - }, - "src": "10962:46:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87318, - "nodeType": "ExpressionStatement", - "src": "10962:46:147" - } - ] - }, - "baseFunctions": [ - 91544 - ], - "documentation": { - "id": 87147, - "nodeType": "StructuredDocumentation", - "src": "9602:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "f4651f49", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRenewalFee", - "nameLocation": "9655:13:147", - "parameters": { - "id": 87152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87149, - "mutability": "mutable", - "name": "label", - "nameLocation": "9683:5:147", - "nodeType": "VariableDeclaration", - "scope": 87320, - "src": "9669:19:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 87148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9669:6:147", + }, +<<<<<<< Updated upstream + "src": "12583:39:147", +======= + "src": "11579:39:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "internal" +<<<<<<< Updated upstream + "id": 87462, + "nodeType": "ExpressionStatement", + "src": "12583:39:147" }, { - "constant": false, - "id": 87151, - "mutability": "mutable", - "name": "duration", - "nameLocation": "9698:8:147", - "nodeType": "VariableDeclaration", - "scope": 87320, - "src": "9690:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9690:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9668:39:147" - }, - "returnParameters": { - "id": 87159, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87155, - "mutability": "mutable", - "name": "basePrice", - "nameLocation": "9758:9:147", - "nodeType": "VariableDeclaration", - "scope": 87320, - "src": "9741:26:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice" - }, - "typeName": { - "id": 87154, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87153, - "name": "UnitPrice", - "nameLocations": [ - "9741:9:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91381, - "src": "9741:9:147" - }, - "referencedDeclaration": 91381, - "src": "9741:9:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_storage_ptr", - "typeString": "struct INSDomainPrice.UnitPrice" - } - }, - "visibility": "internal" + "condition": { + "id": 87463, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87439, + "src": "12633:7:147", +======= + "id": 119224, + "nodeType": "ExpressionStatement", + "src": "11579:39:163" }, { - "constant": false, - "id": 87158, - "mutability": "mutable", - "name": "tax", - "nameLocation": "9786:3:147", - "nodeType": "VariableDeclaration", - "scope": 87320, - "src": "9769:20:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_memory_ptr", - "typeString": "struct INSDomainPrice.UnitPrice" - }, - "typeName": { - "id": 87157, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87156, - "name": "UnitPrice", - "nameLocations": [ - "9769:9:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91381, - "src": "9769:9:147" - }, - "referencedDeclaration": 91381, - "src": "9769:9:147", + "condition": { + "id": 119225, + "name": "updated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119201, + "src": "11629:7:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_UnitPrice_$91381_storage_ptr", - "typeString": "struct INSDomainPrice.UnitPrice" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "internal" - } - ], - "src": "9740:50:147" - }, - "scope": 87685, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 87350, - "nodeType": "FunctionDefinition", - "src": "11061:286:147", - "nodes": [], - "body": { - "id": 87349, - "nodeType": "Block", - "src": "11139:208:147", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ +<<<<<<< Updated upstream + "id": 87486, + "nodeType": "IfStatement", + "src": "12629:164:147", + "trueBody": { + "id": 87485, + "nodeType": "Block", + "src": "12642:151:147", + "statements": [ { - "id": 87338, - "name": "usdWei", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87323, - "src": "11258:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "expression": { + "id": 87468, +======= + "id": 119248, + "nodeType": "IfStatement", + "src": "11625:164:163", + "trueBody": { + "id": 119247, + "nodeType": "Block", + "src": "11638:151:163", + "statements": [ { - "arguments": [ - { - "arguments": [ - { - "id": 87343, - "name": "USD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86364, - "src": "11298:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + "expression": { + "id": 119230, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { +<<<<<<< Updated upstream + "id": 87464, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87449, + "src": "12650:2:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 87466, +======= + "id": 119226, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119211, + "src": "11646:2:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 119228, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, +<<<<<<< Updated upstream + "memberLocation": "12653:5:147", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 93582, + "src": "12650:8:147", +======= + "memberLocation": "11649:5:163", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 125527, + "src": "11646:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { +<<<<<<< Updated upstream + "id": 87467, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87442, + "src": "12661:8:147", +======= + "id": 119229, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119204, + "src": "11657:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "12650:19:147", +======= + "src": "11646:19:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87469, + "nodeType": "ExpressionStatement", + "src": "12650:19:147" + }, + { + "expression": { + "id": 87475, +======= + "id": 119231, + "nodeType": "ExpressionStatement", + "src": "11646:19:163" + }, + { + "expression": { + "id": 119237, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { +<<<<<<< Updated upstream + "id": 87470, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87449, + "src": "12677:2:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" } - ], + }, + "id": 87472, +======= + "id": 119232, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119211, + "src": "11673:2:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 119234, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, +<<<<<<< Updated upstream + "memberLocation": "12680:9:147", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 93584, + "src": "12677:12:147", +======= + "memberLocation": "11676:9:163", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 125529, + "src": "11673:12:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 87342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11291:6:147", +<<<<<<< Updated upstream + "id": 87473, +======= + "id": 119235, +>>>>>>> Stashed changes + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, +<<<<<<< Updated upstream + "src": "12692:5:147", +======= + "src": "11688:5:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 87341, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11291:6:147", - "typeDescriptions": {} + "typeIdentifier": "t_magic_block", + "typeString": "block" } }, - "id": 87344, +<<<<<<< Updated upstream + "id": 87474, +======= + "id": 119236, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "typeConversion", + "isPure": false, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11291:20:147", - "tryCall": false, +<<<<<<< Updated upstream + "memberLocation": "12698:9:147", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "12692:15:147", +======= + "memberLocation": "11694:9:163", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "11688:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - ], - "id": 87340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11285:5:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int32_$", - "typeString": "type(int32)" }, - "typeName": { - "id": 87339, - "name": "int32", - "nodeType": "ElementaryTypeName", - "src": "11285:5:147", - "typeDescriptions": {} +<<<<<<< Updated upstream + "src": "12677:30:147", +======= + "src": "11673:30:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11285:27:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } +<<<<<<< Updated upstream + "id": 87476, + "nodeType": "ExpressionStatement", + "src": "12677:30:147" +======= + "id": 119238, + "nodeType": "ExpressionStatement", + "src": "11673:30:163" +>>>>>>> Stashed changes }, { - "hexValue": "3138", - "id": 87346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11333:2:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int32", - "typeString": "int32" - }, - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - } - ], - "expression": { - "arguments": [ - { - "id": 87335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "-", - "prefix": true, - "src": "11231:3:147", - "subExpression": { - "hexValue": "3138", - "id": 87334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11232:2:147", + "eventCall": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87478, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87426, + "src": "12739:8:147", +======= + "id": 119240, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119188, + "src": "11735:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { +<<<<<<< Updated upstream + "id": 87479, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87428, + "src": "12749:6:147", +======= + "id": 119241, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119190, + "src": "11745:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { +<<<<<<< Updated upstream + "id": 87480, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87442, + "src": "12757:8:147", +======= + "id": 119242, + "name": "usdPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119204, + "src": "11753:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { +<<<<<<< Updated upstream + "id": 87481, + "name": "proofHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87432, + "src": "12767:9:147", +======= + "id": 119243, + "name": "proofHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119194, + "src": "11763:9:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "typeDescriptions": { - "typeIdentifier": "t_rational_minus_18_by_1", - "typeString": "int_const -18" - } - } - ], - "expression": { - "argumentTypes": [ { - "typeIdentifier": "t_rational_minus_18_by_1", - "typeString": "int_const -18" +<<<<<<< Updated upstream + "id": 87482, + "name": "setType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87434, + "src": "12778:7:147", +======= + "id": 119244, + "name": "setType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119196, + "src": "11774:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } } ], "expression": { - "arguments": [ + "argumentTypes": [ { - "id": 87330, - "name": "_pythIdForRONUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86405, - "src": "11178:16:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "typeIdentifier": "t_address", + "typeString": "address" }, { - "id": 87331, - "name": "_maxAcceptableAge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86402, - "src": "11196:17:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87328, - "name": "_pyth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86389, - "src": "11152:5:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "id": 87329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11158:19:147", - "memberName": "getPriceNoOlderThan", - "nodeType": "MemberAccess", - "referencedDeclaration": 75134, - "src": "11152:25:147", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$75235_memory_ptr_$", - "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 87332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11152:62:147", - "tryCall": false, + ], +<<<<<<< Updated upstream + "id": 87477, + "name": "DomainPriceUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91435, + "src": "12720:18:147", +======= + "id": 119239, + "name": "DomainPriceUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123377, + "src": "11716:18:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", - "typeString": "struct PythStructs.Price memory" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256,bytes32,uint256)" } }, - "id": 87333, +<<<<<<< Updated upstream + "id": 87483, +======= + "id": 119245, +>>>>>>> Stashed changes "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "11215:7:147", - "memberName": "inverse", - "nodeType": "MemberAccess", - "referencedDeclaration": 94441, - "src": "11152:70:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "12720:66:147", +======= + "src": "11716:66:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_int32_$returns$_t_struct$_Price_$75235_memory_ptr_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", - "typeString": "function (struct PythStructs.Price memory,int32) pure returns (struct PythStructs.Price memory)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 87336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [ - "11225:4:147" - ], - "names": [ - "expo" - ], - "nodeType": "FunctionCall", - "src": "11152:85:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", - "typeString": "struct PythStructs.Price memory" - } - }, - "id": 87337, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11238:3:147", - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 94333, - "src": "11152:89:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", - "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" +<<<<<<< Updated upstream + "id": 87484, + "nodeType": "EmitStatement", + "src": "12715:71:147" +======= + "id": 119246, + "nodeType": "EmitStatement", + "src": "11711:71:163" +>>>>>>> Stashed changes } - }, - "id": 87347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [ - "11250:6:147", - "11272:11:147", - "11320:11:147" - ], - "names": [ - "inpWei", - "inpDecimals", - "outDecimals" - ], - "nodeType": "FunctionCall", - "src": "11152:190:147", - "tryCall": false, + ] + } + } + ] + }, + "documentation": { +<<<<<<< Updated upstream + "id": 87424, + "nodeType": "StructuredDocumentation", + "src": "12179:112:147", +======= + "id": 119186, + "nodeType": "StructuredDocumentation", + "src": "11175:112:163", +>>>>>>> Stashed changes + "text": " @dev Helper method to set domain price.\n Emits an event {DomainPriceUpdated} optionally." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setDomainPrice", +<<<<<<< Updated upstream + "nameLocation": "12303:15:147", + "parameters": { + "id": 87437, +======= + "nameLocation": "11299:15:163", + "parameters": { + "id": 119199, +>>>>>>> Stashed changes + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87426, + "mutability": "mutable", + "name": "operator", + "nameLocation": "12332:8:147", + "nodeType": "VariableDeclaration", + "scope": 87488, + "src": "12324:16:147", +======= + "id": 119188, + "mutability": "mutable", + "name": "operator", + "nameLocation": "11328:8:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11320:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12324:7:147", +======= + "id": 119187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11320:7:163", +>>>>>>> Stashed changes + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87428, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "12354:6:147", + "nodeType": "VariableDeclaration", + "scope": 87488, + "src": "12346:14:147", +======= + "id": 119190, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "11350:6:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11342:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87427, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12346:7:147", +======= + "id": 119189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11342:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87430, + "mutability": "mutable", + "name": "ronPrice", + "nameLocation": "12374:8:147", + "nodeType": "VariableDeclaration", + "scope": 87488, + "src": "12366:16:147", +======= + "id": 119192, + "mutability": "mutable", + "name": "ronPrice", + "nameLocation": "11370:8:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11362:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12366:7:147", +======= + "id": 119191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11362:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 87327, - "id": 87348, - "nodeType": "Return", - "src": "11145:197:147" - } - ] - }, - "baseFunctions": [ - 91631 - ], - "documentation": { - "id": 87321, - "nodeType": "StructuredDocumentation", - "src": "11017:41:147", - "text": " @inheritdoc INSDomainPrice" - }, - "functionSelector": "7174026e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "convertUSDToRON", - "nameLocation": "11070:15:147", - "parameters": { - "id": 87324, - "nodeType": "ParameterList", - "parameters": [ + "visibility": "internal" + }, { "constant": false, - "id": 87323, +<<<<<<< Updated upstream + "id": 87432, "mutability": "mutable", - "name": "usdWei", - "nameLocation": "11094:6:147", + "name": "proofHash", + "nameLocation": "12396:9:147", "nodeType": "VariableDeclaration", - "scope": 87350, - "src": "11086:14:147", + "scope": 87488, + "src": "12388:17:147", +======= + "id": 119194, + "mutability": "mutable", + "name": "proofHash", + "nameLocation": "11392:9:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11384:17:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87431, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12388:7:147", +======= + "id": 119193, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11384:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87434, + "mutability": "mutable", + "name": "setType", + "nameLocation": "12419:7:147", + "nodeType": "VariableDeclaration", + "scope": 87488, + "src": "12411:15:147", +======= + "id": 119196, + "mutability": "mutable", + "name": "setType", + "nameLocation": "11415:7:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11407:15:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14059,285 +25172,269 @@ "typeString": "uint256" }, "typeName": { - "id": 87322, +<<<<<<< Updated upstream + "id": 87433, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11086:7:147", + "src": "12411:7:147", +======= + "id": 119195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11407:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87436, + "mutability": "mutable", + "name": "forced", + "nameLocation": "12437:6:147", + "nodeType": "VariableDeclaration", + "scope": 87488, + "src": "12432:11:147", +======= + "id": 119198, + "mutability": "mutable", + "name": "forced", + "nameLocation": "11433:6:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11428:11:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87435, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12432:4:147", +======= + "id": 119197, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11428:4:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" } ], - "src": "11085:16:147" +<<<<<<< Updated upstream + "src": "12318:129:147" }, "returnParameters": { - "id": 87327, + "id": 87440, +======= + "src": "11314:129:163" + }, + "returnParameters": { + "id": 119202, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87326, +<<<<<<< Updated upstream + "id": 87439, "mutability": "mutable", - "name": "ronWei", - "nameLocation": "11131:6:147", + "name": "updated", + "nameLocation": "12471:7:147", "nodeType": "VariableDeclaration", - "scope": 87350, - "src": "11123:14:147", + "scope": 87488, + "src": "12466:12:147", +======= + "id": 119201, + "mutability": "mutable", + "name": "updated", + "nameLocation": "11467:7:163", + "nodeType": "VariableDeclaration", + "scope": 119250, + "src": "11462:12:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { - "id": 87325, - "name": "uint256", +<<<<<<< Updated upstream + "id": 87438, + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11123:7:147", + "src": "12466:4:147", +======= + "id": 119200, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11462:4:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "visibility": "internal" } ], - "src": "11122:16:147" +<<<<<<< Updated upstream + "src": "12465:14:147" }, "scope": 87685, - "stateMutability": "view", +======= + "src": "11461:14:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "internal" }, { - "id": 87376, +<<<<<<< Updated upstream + "id": 87505, "nodeType": "FunctionDefinition", - "src": "11395:263:147", + "src": "12899:121:147", "nodes": [], "body": { - "id": 87375, + "id": 87504, "nodeType": "Block", - "src": "11473:185:147", + "src": "12945:75:147", +======= + "id": 119267, + "nodeType": "FunctionDefinition", + "src": "11895:121:163", + "nodes": [], + "body": { + "id": 119266, + "nodeType": "Block", + "src": "11941:75:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { - "expression": { + "expression": { +<<<<<<< Updated upstream + "id": 87496, +======= + "id": 119258, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87494, + "name": "_taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86396, + "src": "12951:9:147", +======= + "id": 119256, + "name": "_taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118311, + "src": "11947:9:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { +<<<<<<< Updated upstream + "id": 87495, + "name": "ratio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87491, + "src": "12963:5:147", +======= + "id": 119257, + "name": "ratio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119253, + "src": "11959:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "12951:17:147", +======= + "src": "11947:17:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87497, + "nodeType": "ExpressionStatement", + "src": "12951:17:147" +======= + "id": 119259, + "nodeType": "ExpressionStatement", + "src": "11947:17:163" +>>>>>>> Stashed changes + }, + { + "eventCall": { "arguments": [ { - "id": 87364, - "name": "ronWei", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87353, - "src": "11569:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "3138", - "id": 87365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11596:2:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 87370, - "name": "USD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86364, - "src": "11632:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 87369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11625:6:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": { - "id": 87368, - "name": "uint32", - "nodeType": "ElementaryTypeName", - "src": "11625:6:147", - "typeDescriptions": {} - } - }, - "id": 87371, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11625:20:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 87367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11619:5:147", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int32_$", - "typeString": "type(int32)" - }, - "typeName": { - "id": 87366, - "name": "int32", - "nodeType": "ElementaryTypeName", - "src": "11619:5:147", - "typeDescriptions": {} - } - }, - "id": 87372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11619:27:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - { - "typeIdentifier": "t_int32", - "typeString": "int32" - } - ], - "expression": { - "arguments": [ - { - "id": 87360, - "name": "_pythIdForRONUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86405, - "src": "11512:16:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 87361, - "name": "_maxAcceptableAge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86402, - "src": "11530:17:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], + "arguments": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 87358, - "name": "_pyth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86389, - "src": "11486:5:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - } - }, - "id": 87359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11492:19:147", - "memberName": "getPriceNoOlderThan", - "nodeType": "MemberAccess", - "referencedDeclaration": 75134, - "src": "11486:25:147", + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 87499, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72664, + "src": "12995:10:147", +======= + "id": 119261, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "11991:10:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_struct$_Price_$75235_memory_ptr_$", - "typeString": "function (bytes32,uint256) view external returns (struct PythStructs.Price memory)" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 87362, +<<<<<<< Updated upstream + "id": 87500, +======= + "id": 119262, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -14346,87 +25443,152 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11486:62:147", +<<<<<<< Updated upstream + "src": "12995:12:147", +======= + "src": "11991:12:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Price_$75235_memory_ptr", - "typeString": "struct PythStructs.Price memory" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { +<<<<<<< Updated upstream + "id": 87501, + "name": "ratio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87491, + "src": "13009:5:147", +======= + "id": 119263, + "name": "ratio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119253, + "src": "12005:5:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 87363, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11549:3:147", - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 94333, - "src": "11486:66:147", + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], +<<<<<<< Updated upstream + "id": 87498, + "name": "TaxRatioUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91388, + "src": "12979:15:147", +======= + "id": 119260, + "name": "TaxRatioUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123329, + "src": "11975:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_Price_$75235_memory_ptr_$_t_uint256_$_t_int32_$_t_int32_$returns$_t_uint256_$attached_to$_t_struct$_Price_$75235_memory_ptr_$", - "typeString": "function (struct PythStructs.Price memory,uint256,int32,int32) pure returns (uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 87373, +<<<<<<< Updated upstream + "id": 87502, +======= + "id": 119264, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, - "nameLocations": [ - "11561:6:147", - "11583:11:147", - "11606:11:147" - ], - "names": [ - "inpWei", - "inpDecimals", - "outDecimals" - ], + "nameLocations": [], + "names": [], "nodeType": "FunctionCall", - "src": "11486:167:147", +<<<<<<< Updated upstream + "src": "12979:36:147", +======= + "src": "11975:36:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 87357, - "id": 87374, - "nodeType": "Return", - "src": "11479:174:147" +<<<<<<< Updated upstream + "id": 87503, + "nodeType": "EmitStatement", + "src": "12974:41:147" +======= + "id": 119265, + "nodeType": "EmitStatement", + "src": "11970:41:163" +>>>>>>> Stashed changes } ] }, - "baseFunctions": [ - 91639 - ], "documentation": { - "id": 87351, +<<<<<<< Updated upstream + "id": 87489, "nodeType": "StructuredDocumentation", - "src": "11351:41:147", - "text": " @inheritdoc INSDomainPrice" + "src": "12801:95:147", +======= + "id": 119251, + "nodeType": "StructuredDocumentation", + "src": "11797:95:163", +>>>>>>> Stashed changes + "text": " @dev Sets renewal reservation ratio.\n Emits an event {TaxRatioUpdated}." }, - "functionSelector": "037f1769", "implemented": true, "kind": "function", "modifiers": [], - "name": "convertRONToUSD", - "nameLocation": "11404:15:147", + "name": "_setTaxRatio", +<<<<<<< Updated upstream + "nameLocation": "12908:12:147", "parameters": { - "id": 87354, + "id": 87492, +======= + "nameLocation": "11904:12:163", + "parameters": { + "id": 119254, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87353, +<<<<<<< Updated upstream + "id": 87491, "mutability": "mutable", - "name": "ronWei", - "nameLocation": "11428:6:147", + "name": "ratio", + "nameLocation": "12929:5:147", "nodeType": "VariableDeclaration", - "scope": 87376, - "src": "11420:14:147", + "scope": 87505, + "src": "12921:13:147", +======= + "id": 119253, + "mutability": "mutable", + "name": "ratio", + "nameLocation": "11925:5:163", + "nodeType": "VariableDeclaration", + "scope": 119267, + "src": "11917:13:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14434,10 +25596,17 @@ "typeString": "uint256" }, "typeName": { - "id": 87352, +<<<<<<< Updated upstream + "id": 87490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11420:7:147", + "src": "12921:7:147", +======= + "id": 119252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11917:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14446,989 +25615,1952 @@ "visibility": "internal" } ], - "src": "11419:16:147" +<<<<<<< Updated upstream + "src": "12920:15:147" }, "returnParameters": { - "id": 87357, + "id": 87493, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87356, - "mutability": "mutable", - "name": "usdWei", - "nameLocation": "11465:6:147", - "nodeType": "VariableDeclaration", - "scope": 87376, - "src": "11457:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11457:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11456:16:147" + "parameters": [], + "src": "12945:0:147" }, "scope": 87685, - "stateMutability": "view", +======= + "src": "11916:15:163" + }, + "returnParameters": { + "id": 119255, + "nodeType": "ParameterList", + "parameters": [], + "src": "11941:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "internal" }, { - "id": 87423, +<<<<<<< Updated upstream + "id": 87526, "nodeType": "FunctionDefinition", - "src": "11756:419:147", + "src": "13130:243:147", "nodes": [], "body": { - "id": 87422, + "id": 87525, "nodeType": "Block", - "src": "11985:190:147", + "src": "13217:156:147", +======= + "id": 119288, + "nodeType": "FunctionDefinition", + "src": "12126:243:163", + "nodes": [], + "body": { + "id": 119287, + "nodeType": "Block", + "src": "12213:156:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { - "id": 87397, +<<<<<<< Updated upstream + "id": 87514, +======= + "id": 119276, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87394, - "name": "length", +<<<<<<< Updated upstream + "id": 87512, + "name": "_dpDownScaler", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87392, - "src": "11991:6:147", + "referencedDeclaration": 86409, + "src": "13223:13:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage", +======= + "id": 119274, + "name": "_dpDownScaler", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118324, + "src": "12219:13:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage", +>>>>>>> Stashed changes + "typeString": "struct PeriodScaler storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "expression": { - "id": 87395, - "name": "lbHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87380, - "src": "12000:8:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 87396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12009:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12000:15:147", +<<<<<<< Updated upstream + "id": 87513, + "name": "domainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87509, + "src": "13239:20:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", + "typeString": "struct PeriodScaler calldata" } }, - "src": "11991:24:147", + "src": "13223:36:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87398, - "nodeType": "ExpressionStatement", - "src": "11991:24:147" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 87416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 87411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage", + "typeString": "struct PeriodScaler storage ref" + } + }, + "id": 87515, + "nodeType": "ExpressionStatement", + "src": "13223:36:147" +======= + "id": 119275, + "name": "domainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119271, + "src": "12235:20:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler calldata" + } + }, + "src": "12219:36:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage", + "typeString": "struct PeriodScaler storage ref" + } + }, + "id": 119277, + "nodeType": "ExpressionStatement", + "src": "12219:36:163" +>>>>>>> Stashed changes + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 87517, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72664, + "src": "13298:10:147", +======= + "id": 119279, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "12294:10:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } }, - "id": 87406, +<<<<<<< Updated upstream + "id": 87518, +======= + "id": 119280, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87399, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87392, - "src": "12025:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 87400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12035:1:147", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12025:11:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 87402, - "name": "ronPrices", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87383, - "src": "12040:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 87403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12050:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12040:16:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 87404, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87392, - "src": "12060:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12040:26:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12025:41:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "13298:12:147", +======= + "src": "12294:12:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 87407, - "name": "proofHashes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87386, - "src": "12070:11:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[] calldata" - } - }, - "id": 87408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12082:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12070:18:147", + { + "expression": { +<<<<<<< Updated upstream + "id": 87519, + "name": "domainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87509, + "src": "13312:20:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", + "typeString": "struct PeriodScaler calldata" } }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 87409, - "name": "length", + "id": 87520, +======= + "id": 119281, + "name": "domainPriceScaleRule", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87392, - "src": "12092:6:147", + "referencedDeclaration": 119271, + "src": "12308:20:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler calldata" } }, - "src": "12070:28:147", + "id": 119282, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13333:5:147", + "memberName": "ratio", + "nodeType": "MemberAccess", + "referencedDeclaration": 93659, + "src": "13312:26:147", +======= + "memberLocation": "12329:5:163", + "memberName": "ratio", + "nodeType": "MemberAccess", + "referencedDeclaration": 125604, + "src": "12308:26:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint192", + "typeString": "uint192" } }, - "src": "12025:73:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + { "expression": { - "id": 87412, - "name": "setTypes", +<<<<<<< Updated upstream + "id": 87521, + "name": "domainPriceScaleRule", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87509, + "src": "13340:20:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", + "typeString": "struct PeriodScaler calldata" + } + }, + "id": 87522, +======= + "id": 119283, + "name": "domainPriceScaleRule", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87389, - "src": "12102:8:147", + "referencedDeclaration": 119271, + "src": "12336:20:163", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler calldata" } }, - "id": 87413, + "id": 119284, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12111:6:147", - "memberName": "length", +<<<<<<< Updated upstream + "memberLocation": "13361:6:147", + "memberName": "period", "nodeType": "MemberAccess", - "src": "12102:15:147", + "referencedDeclaration": 93661, + "src": "13340:27:147", +======= + "memberLocation": "12357:6:163", + "memberName": "period", + "nodeType": "MemberAccess", + "referencedDeclaration": 125606, + "src": "12336:27:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint64", + "typeString": "uint64" } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 87414, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87392, - "src": "12121:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint192", + "typeString": "uint192" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" } - }, - "src": "12102:25:147", + ], +<<<<<<< Updated upstream + "id": 87516, + "name": "DomainPriceScaleRuleUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91444, + "src": "13270:27:147", +======= + "id": 119278, + "name": "DomainPriceScaleRuleUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123386, + "src": "12266:27:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint192_$_t_uint64_$returns$__$", + "typeString": "function (address,uint192,uint64)" } }, - "src": "12025:102:147", +<<<<<<< Updated upstream + "id": 87523, +======= + "id": 119285, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "13270:98:147", +======= + "src": "12266:98:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "id": 87421, - "nodeType": "IfStatement", - "src": "12021:150:147", - "trueBody": { - "id": 87420, - "nodeType": "Block", - "src": "12129:42:147", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 87417, - "name": "InvalidArrayLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91359, - "src": "12144:18:147", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 87418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12144:20:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87419, - "nodeType": "RevertStatement", - "src": "12137:27:147" - } - ] - } +<<<<<<< Updated upstream + "id": 87524, + "nodeType": "EmitStatement", + "src": "13265:103:147" +======= + "id": 119286, + "nodeType": "EmitStatement", + "src": "12261:103:163" +>>>>>>> Stashed changes } ] }, "documentation": { - "id": 87377, +<<<<<<< Updated upstream + "id": 87506, "nodeType": "StructuredDocumentation", - "src": "11662:91:147", - "text": " @dev Reverts if the arguments of the method {bulkSetDomainPrice} is invalid." + "src": "13024:103:147", +======= + "id": 119268, + "nodeType": "StructuredDocumentation", + "src": "12020:103:163", +>>>>>>> Stashed changes + "text": " @dev Sets domain price scale rule.\n Emits events {DomainPriceScaleRuleUpdated}." }, "implemented": true, "kind": "function", "modifiers": [], - "name": "_requireBulkSetDomainPriceArgumentsValid", - "nameLocation": "11765:40:147", + "name": "_setDomainPriceScaleRule", +<<<<<<< Updated upstream + "nameLocation": "13139:24:147", "parameters": { - "id": 87390, + "id": 87510, +======= + "nameLocation": "12135:24:163", + "parameters": { + "id": 119272, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87380, +<<<<<<< Updated upstream + "id": 87509, "mutability": "mutable", - "name": "lbHashes", - "nameLocation": "11830:8:147", + "name": "domainPriceScaleRule", + "nameLocation": "13186:20:147", "nodeType": "VariableDeclaration", - "scope": 87423, - "src": "11811:27:147", + "scope": 87526, + "src": "13164:42:147", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" + "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", + "typeString": "struct PeriodScaler" }, "typeName": { - "baseType": { - "id": 87378, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11811:7:147", + "id": 87508, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87507, + "name": "PeriodScaler", + "nameLocations": [ + "13164:12:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 93662, + "src": "13164:12:147" + }, + "referencedDeclaration": 93662, + "src": "13164:12:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", +======= + "id": 119271, + "mutability": "mutable", + "name": "domainPriceScaleRule", + "nameLocation": "12182:20:163", + "nodeType": "VariableDeclaration", + "scope": 119288, + "src": "12160:42:163", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_calldata_ptr", + "typeString": "struct PeriodScaler" + }, + "typeName": { + "id": 119270, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119269, + "name": "PeriodScaler", + "nameLocations": [ + "12160:12:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 125607, + "src": "12160:12:163" + }, + "referencedDeclaration": 125607, + "src": "12160:12:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct PeriodScaler" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "src": "13163:44:147" + }, + "returnParameters": { + "id": 87511, + "nodeType": "ParameterList", + "parameters": [], + "src": "13217:0:147" + }, + "scope": 87685, +======= + "src": "12159:44:163" + }, + "returnParameters": { + "id": 119273, + "nodeType": "ParameterList", + "parameters": [], + "src": "12213:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { +<<<<<<< Updated upstream + "id": 87610, + "nodeType": "FunctionDefinition", + "src": "13530:754:147", + "nodes": [], + "body": { + "id": 87609, + "nodeType": "Block", + "src": "13607:677:147", +======= + "id": 119372, + "nodeType": "FunctionDefinition", + "src": "12526:754:163", + "nodes": [], + "body": { + "id": 119371, + "nodeType": "Block", + "src": "12603:677:163", +>>>>>>> Stashed changes + "nodes": [], + "statements": [ + { + "assignments": [ +<<<<<<< Updated upstream + 87535 +======= + 119297 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87535, + "mutability": "mutable", + "name": "operator", + "nameLocation": "13621:8:147", + "nodeType": "VariableDeclaration", + "scope": 87609, + "src": "13613:16:147", +======= + "id": 119297, + "mutability": "mutable", + "name": "operator", + "nameLocation": "12617:8:163", + "nodeType": "VariableDeclaration", + "scope": 119371, + "src": "12609:16:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 87379, - "nodeType": "ArrayTypeName", - "src": "11811:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13613:7:147", +======= + "id": 119296, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12609:7:163", +>>>>>>> Stashed changes + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87383, - "mutability": "mutable", - "name": "ronPrices", - "nameLocation": "11863:9:147", - "nodeType": "VariableDeclaration", - "scope": 87423, - "src": "11844:28:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 87381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11844:7:147", + ], +<<<<<<< Updated upstream + "id": 87538, +======= + "id": 119300, +>>>>>>> Stashed changes + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], +<<<<<<< Updated upstream + "id": 87536, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72664, + "src": "13632:10:147", +======= + "id": 119298, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "12628:10:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" } }, - "id": 87382, - "nodeType": "ArrayTypeName", - "src": "11844:9:147", +<<<<<<< Updated upstream + "id": 87537, +======= + "id": 119299, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "13632:12:147", +======= + "src": "12628:12:163", +>>>>>>> Stashed changes + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "visibility": "internal" + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "13613:31:147" }, { - "constant": false, - "id": 87386, - "mutability": "mutable", - "name": "proofHashes", - "nameLocation": "11897:11:147", - "nodeType": "VariableDeclaration", - "scope": 87423, - "src": "11878:30:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 87384, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11878:7:147", + "assignments": [ + 87541 +======= + "src": "12609:31:163" + }, + { + "assignments": [ + 119303 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87541, + "mutability": "mutable", + "name": "renewalFee", + "nameLocation": "13668:10:147", + "nodeType": "VariableDeclaration", + "scope": 87609, + "src": "13650:28:147", + "stateVariable": false, + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 87385, - "nodeType": "ArrayTypeName", - "src": "11878:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + }, + "typeName": { + "id": 87540, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87539, + "name": "RenewalFee", + "nameLocations": [ + "13650:10:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91376, + "src": "13650:10:147" + }, + "referencedDeclaration": 91376, + "src": "13650:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_storage_ptr", +======= + "id": 119303, + "mutability": "mutable", + "name": "renewalFee", + "nameLocation": "12664:10:163", + "nodeType": "VariableDeclaration", + "scope": 119371, + "src": "12646:28:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + }, + "typeName": { + "id": 119302, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119301, + "name": "RenewalFee", + "nameLocations": [ + "12646:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "12646:10:163" + }, + "referencedDeclaration": 123317, + "src": "12646:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "visibility": "internal" } - }, - "visibility": "internal" + ], +<<<<<<< Updated upstream + "id": 87542, + "nodeType": "VariableDeclarationStatement", + "src": "13650:28:147" }, { - "constant": false, - "id": 87389, - "mutability": "mutable", - "name": "setTypes", - "nameLocation": "11933:8:147", - "nodeType": "VariableDeclaration", - "scope": 87423, - "src": "11914:27:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 87387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11914:7:147", + "assignments": [ + 87544 +======= + "id": 119304, + "nodeType": "VariableDeclarationStatement", + "src": "12646:28:163" + }, + { + "assignments": [ + 119306 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87544, + "mutability": "mutable", + "name": "length", + "nameLocation": "13692:6:147", + "nodeType": "VariableDeclaration", + "scope": 87609, + "src": "13684:14:147", +======= + "id": 119306, + "mutability": "mutable", + "name": "length", + "nameLocation": "12688:6:163", + "nodeType": "VariableDeclaration", + "scope": 119371, + "src": "12680:14:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87543, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13684:7:147", +======= + "id": 119305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12680:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87547, + "initialValue": { + "expression": { + "id": 87545, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87531, + "src": "13701:11:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" } }, - "id": 87388, - "nodeType": "ArrayTypeName", - "src": "11914:9:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "11805:140:147" - }, - "returnParameters": { - "id": 87393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87392, - "mutability": "mutable", - "name": "length", - "nameLocation": "11977:6:147", - "nodeType": "VariableDeclaration", - "scope": 87423, - "src": "11969:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11969:7:147", + "id": 87546, +======= + "id": 119309, + "initialValue": { + "expression": { + "id": 119307, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119293, + "src": "12697:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + } + }, + "id": 119308, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13713:6:147", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13701:18:147", +======= + "memberLocation": "12709:6:163", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "12697:18:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "visibility": "internal" - } - ], - "src": "11968:16:147" - }, - "scope": 87685, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 87488, - "nodeType": "FunctionDefinition", - "src": "12294:503:147", - "nodes": [], - "body": { - "id": 87487, - "nodeType": "Block", - "src": "12480:317:147", - "nodes": [], - "statements": [ + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "13684:35:147" + }, { "assignments": [ - 87442 + 87549 +======= + "src": "12680:35:163" + }, + { + "assignments": [ + 119311 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 87442, +<<<<<<< Updated upstream + "id": 87549, "mutability": "mutable", - "name": "usdPrice", - "nameLocation": "12494:8:147", + "name": "maxRenewalFeeLength", + "nameLocation": "13733:19:147", "nodeType": "VariableDeclaration", - "scope": 87487, - "src": "12486:16:147", + "scope": 87609, + "src": "13725:27:147", +======= + "id": 119311, + "mutability": "mutable", + "name": "maxRenewalFeeLength", + "nameLocation": "12729:19:163", + "nodeType": "VariableDeclaration", + "scope": 119371, + "src": "12721:27:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "typeName": { - "id": 87441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12486:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeName": { +<<<<<<< Updated upstream + "id": 87548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13725:7:147", +======= + "id": 119310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12721:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], +<<<<<<< Updated upstream + "id": 87551, + "initialValue": { + "id": 87550, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86399, + "src": "13755:13:147", +======= + "id": 119313, + "initialValue": { + "id": 119312, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118314, + "src": "12751:13:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream + "src": "13725:43:147" + }, + { + "body": { + "id": 87593, + "nodeType": "Block", + "src": "13804:308:147", + "statements": [ + { + "expression": { + "id": 87562, +======= + "src": "12721:43:163" + }, + { + "body": { + "id": 119355, + "nodeType": "Block", + "src": "12800:308:163", + "statements": [ + { + "expression": { + "id": 119324, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87558, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "13812:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", +======= + "id": 119320, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "12808:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { +<<<<<<< Updated upstream + "id": 87559, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87531, + "src": "13825:11:147", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + } + }, + "id": 87561, + "indexExpression": { + "id": 87560, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87553, + "src": "13837:1:147", +======= + "id": 119321, + "name": "renewalFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119293, + "src": "12821:11:163", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + } + }, + "id": 119323, + "indexExpression": { + "id": 119322, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119315, + "src": "12833:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "13825:14:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata" + } + }, + "src": "13812:27:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87563, + "nodeType": "ExpressionStatement", + "src": "13812:27:147" + }, + { + "expression": { + "id": 87571, +======= + "src": "12821:14:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_calldata_ptr", + "typeString": "struct INSDomainPrice.RenewalFee calldata" + } + }, + "src": "12808:27:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119325, + "nodeType": "ExpressionStatement", + "src": "12808:27:163" + }, + { + "expression": { + "id": 119333, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87564, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87549, + "src": "13847:19:147", +======= + "id": 119326, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119311, + "src": "12843:19:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87567, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87549, + "src": "13878:19:147", +======= + "id": 119329, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119311, + "src": "12874:19:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { +<<<<<<< Updated upstream + "id": 87568, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "13899:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87569, +======= + "id": 119330, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "12895:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119331, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13910:11:147", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 91373, + "src": "13899:22:147", +======= + "memberLocation": "12906:11:163", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 123314, + "src": "12895:22:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { +<<<<<<< Updated upstream + "id": 87565, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 73915, + "src": "13869:4:147", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", + "typeString": "type(library Math)" + } + }, + "id": 87566, +======= + "id": 119327, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104833, + "src": "12865:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$104833_$", + "typeString": "type(library Math)" + } + }, + "id": 119328, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13874:3:147", + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 73074, + "src": "13869:8:147", +======= + "memberLocation": "12870:3:163", + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 103992, + "src": "12865:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, +<<<<<<< Updated upstream + "id": 87570, +======= + "id": 119332, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "13869:53:147", +======= + "src": "12865:53:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "13847:75:147", +======= + "src": "12843:75:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87572, + "nodeType": "ExpressionStatement", + "src": "13847:75:147" + }, + { + "expression": { + "id": 87579, +======= + "id": 119334, + "nodeType": "ExpressionStatement", + "src": "12843:75:163" + }, + { + "expression": { + "id": 119341, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { +<<<<<<< Updated upstream + "id": 87573, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86414, + "src": "13930:6:147", +======= + "id": 119335, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118329, + "src": "12926:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, +<<<<<<< Updated upstream + "id": 87576, + "indexExpression": { + "expression": { + "id": 87574, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "13937:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87575, +======= + "id": 119338, + "indexExpression": { + "expression": { + "id": 119336, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "12933:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119337, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13948:11:147", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 91373, + "src": "13937:22:147", +======= + "memberLocation": "12944:11:163", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 123314, + "src": "12933:22:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "13930:30:147", +======= + "src": "12926:30:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { +<<<<<<< Updated upstream + "id": 87577, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "13963:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87578, +======= + "id": 119339, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "12959:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119340, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "13974:3:147", + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 91375, + "src": "13963:14:147", +======= + "memberLocation": "12970:3:163", + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 123316, + "src": "12959:14:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "13930:47:147", +======= + "src": "12926:47:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87580, + "nodeType": "ExpressionStatement", + "src": "13930:47:147" +======= + "id": 119342, + "nodeType": "ExpressionStatement", + "src": "12926:47:163" +>>>>>>> Stashed changes + }, + { + "eventCall": { + "arguments": [ + { +<<<<<<< Updated upstream + "id": 87582, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87535, + "src": "14016:8:147", +======= + "id": 119344, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119297, + "src": "13012:8:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { +<<<<<<< Updated upstream + "id": 87583, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "14026:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87584, +======= + "id": 119345, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "13022:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119346, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "14037:11:147", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 91373, + "src": "14026:22:147", +======= + "memberLocation": "13033:11:163", + "memberName": "labelLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 123314, + "src": "13022:22:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { +<<<<<<< Updated upstream + "id": 87585, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87541, + "src": "14050:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 87586, +======= + "id": 119347, + "name": "renewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119303, + "src": "13046:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_memory_ptr", + "typeString": "struct INSDomainPrice.RenewalFee memory" + } + }, + "id": 119348, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, +<<<<<<< Updated upstream + "memberLocation": "14061:3:147", + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 91375, + "src": "14050:14:147", +======= + "memberLocation": "13057:3:163", + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 123316, + "src": "13046:14:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], +<<<<<<< Updated upstream + "id": 87581, + "name": "RenewalFeeByLengthUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 91404, + "src": "13990:25:147", +======= + "id": 119343, + "name": "RenewalFeeByLengthUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123345, + "src": "12986:25:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, +<<<<<<< Updated upstream + "id": 87587, +======= + "id": 119349, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", +<<<<<<< Updated upstream + "src": "13990:75:147", +======= + "src": "12986:75:163", +>>>>>>> Stashed changes + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, +<<<<<<< Updated upstream + "id": 87588, + "nodeType": "EmitStatement", + "src": "13985:80:147" }, - "visibility": "internal" - } - ], - "id": 87446, - "initialValue": { - "arguments": [ { - "id": 87444, - "name": "ronPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87430, - "src": "12521:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 87443, - "name": "convertRONToUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87376, - "src": "12505:15:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" + "id": 87592, + "nodeType": "UncheckedBlock", + "src": "14074:32:147", + "statements": [ + { + "expression": { + "id": 87590, +======= + "id": 119350, + "nodeType": "EmitStatement", + "src": "12981:80:163" + }, + { + "id": 119354, + "nodeType": "UncheckedBlock", + "src": "13070:32:163", + "statements": [ + { + "expression": { + "id": 119352, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, +<<<<<<< Updated upstream + "src": "14094:3:147", + "subExpression": { + "id": 87589, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87553, + "src": "14096:1:147", +======= + "src": "13090:3:163", + "subExpression": { + "id": 119351, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119315, + "src": "13092:1:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87591, + "nodeType": "ExpressionStatement", + "src": "14094:3:147" +======= + "id": 119353, + "nodeType": "ExpressionStatement", + "src": "13090:3:163" +>>>>>>> Stashed changes + } + ] } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 87445, +<<<<<<< Updated upstream + "id": 87557, +======= + "id": 119319, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12505:25:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12486:44:147" - }, - { - "assignments": [ - 87449 - ], - "declarations": [ - { - "constant": false, - "id": 87449, - "mutability": "mutable", - "name": "dp", - "nameLocation": "12561:2:147", - "nodeType": "VariableDeclaration", - "scope": 87487, - "src": "12536:27:147", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", - "typeString": "struct TimestampWrapper" - }, - "typeName": { - "id": 87448, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87447, - "name": "TimestampWrapper", - "nameLocations": [ - "12536:16:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 93585, - "src": "12536:16:147" - }, - "referencedDeclaration": 93585, - "src": "12536:16:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", - "typeString": "struct TimestampWrapper" - } - }, - "visibility": "internal" - } - ], - "id": 87453, - "initialValue": { - "baseExpression": { - "id": 87450, - "name": "_dp", + "leftExpression": { +<<<<<<< Updated upstream + "id": 87555, + "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86420, - "src": "12566:3:147", + "referencedDeclaration": 87553, + "src": "13791:1:147", +======= + "id": 119317, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119315, + "src": "12787:1:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$93585_storage_$", - "typeString": "mapping(bytes32 => struct TimestampWrapper storage ref)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87452, - "indexExpression": { - "id": 87451, - "name": "lbHash", + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87556, + "name": "length", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87428, - "src": "12570:6:147", + "referencedDeclaration": 87544, + "src": "13795:6:147", +======= + "id": 119318, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119306, + "src": "12791:6:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12566:11:147", +<<<<<<< Updated upstream + "src": "13791:10:147", +======= + "src": "12787:10:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage", - "typeString": "struct TimestampWrapper storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "12536:41:147" - }, - { - "expression": { - "id": 87461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 87454, - "name": "updated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87439, - "src": "12583:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 87460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87455, - "name": "forced", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87436, - "src": "12593:6:147", +<<<<<<< Updated upstream + "id": 87594, + "initializationExpression": { + "assignments": [ + 87553 +======= + "id": 119356, + "initializationExpression": { + "assignments": [ + 119315 +>>>>>>> Stashed changes + ], + "declarations": [ + { + "constant": false, +<<<<<<< Updated upstream + "id": 87553, + "mutability": "mutable", + "name": "i", + "nameLocation": "13788:1:147", + "nodeType": "VariableDeclaration", + "scope": 87594, + "src": "13780:9:147", +======= + "id": 119315, + "mutability": "mutable", + "name": "i", + "nameLocation": "12784:1:163", + "nodeType": "VariableDeclaration", + "scope": 119356, + "src": "12776:9:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 87459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 87456, - "name": "dp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87449, - "src": "12603:2:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", - "typeString": "struct TimestampWrapper storage pointer" - } - }, - "id": 87457, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12606:5:147", - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93582, - "src": "12603:8:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 87458, - "name": "usdPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87442, - "src": "12614:8:147", + "typeName": { +<<<<<<< Updated upstream + "id": 87552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13780:7:147", +======= + "id": 119314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12776:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12603:19:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "12593:29:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "visibility": "internal" } - }, - "src": "12583:39:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + ], +<<<<<<< Updated upstream + "id": 87554, + "nodeType": "VariableDeclarationStatement", + "src": "13780:9:147" + }, + "nodeType": "ForStatement", + "src": "13775:337:147" +======= + "id": 119316, + "nodeType": "VariableDeclarationStatement", + "src": "12776:9:163" }, - "id": 87462, - "nodeType": "ExpressionStatement", - "src": "12583:39:147" + "nodeType": "ForStatement", + "src": "12771:337:163" +>>>>>>> Stashed changes }, { "condition": { - "id": 87463, - "name": "updated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87439, - "src": "12633:7:147", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, +<<<<<<< Updated upstream + "id": 87597, +======= + "id": 119359, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { +<<<<<<< Updated upstream + "id": 87595, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87549, + "src": "14122:19:147", +======= + "id": 119357, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119311, + "src": "13118:19:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { +<<<<<<< Updated upstream + "id": 87596, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86399, + "src": "14145:13:147", +======= + "id": 119358, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118314, + "src": "13141:13:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "14122:36:147", +======= + "src": "13118:36:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 87486, +<<<<<<< Updated upstream + "id": 87608, "nodeType": "IfStatement", - "src": "12629:164:147", + "src": "14118:162:147", "trueBody": { - "id": 87485, + "id": 87607, "nodeType": "Block", - "src": "12642:151:147", + "src": "14160:120:147", "statements": [ { "expression": { - "id": 87468, + "id": 87600, +======= + "id": 119370, + "nodeType": "IfStatement", + "src": "13114:162:163", + "trueBody": { + "id": 119369, + "nodeType": "Block", + "src": "13156:120:163", + "statements": [ + { + "expression": { + "id": 119362, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "expression": { - "id": 87464, - "name": "dp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87449, - "src": "12650:2:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", - "typeString": "struct TimestampWrapper storage pointer" - } - }, - "id": 87466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12653:5:147", - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": 93582, - "src": "12650:8:147", +<<<<<<< Updated upstream + "id": 87598, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86399, + "src": "14168:13:147", +======= + "id": 119360, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118314, + "src": "13164:13:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15437,159 +27569,86 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87467, - "name": "usdPrice", +<<<<<<< Updated upstream + "id": 87599, + "name": "maxRenewalFeeLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87442, - "src": "12661:8:147", + "referencedDeclaration": 87549, + "src": "14184:19:147", +======= + "id": 119361, + "name": "maxRenewalFeeLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119311, + "src": "13180:19:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12650:19:147", +<<<<<<< Updated upstream + "src": "14168:35:147", +======= + "src": "13164:35:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 87469, +<<<<<<< Updated upstream + "id": 87601, "nodeType": "ExpressionStatement", - "src": "12650:19:147" - }, - { - "expression": { - "id": 87475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 87470, - "name": "dp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87449, - "src": "12677:2:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", - "typeString": "struct TimestampWrapper storage pointer" - } - }, - "id": 87472, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12680:9:147", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": 93584, - "src": "12677:12:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 87473, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "12692:5:147", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 87474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12698:9:147", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "12692:15:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12677:30:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87476, + "src": "14168:35:147" +======= + "id": 119363, "nodeType": "ExpressionStatement", - "src": "12677:30:147" + "src": "13164:35:163" +>>>>>>> Stashed changes }, { "eventCall": { "arguments": [ { - "id": 87478, +<<<<<<< Updated upstream + "id": 87603, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87426, - "src": "12739:8:147", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 87479, - "name": "lbHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87428, - "src": "12749:6:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 87480, - "name": "usdPrice", + "referencedDeclaration": 87535, + "src": "14243:8:147", +======= + "id": 119365, + "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87442, - "src": "12757:8:147", + "referencedDeclaration": 119297, + "src": "13239:8:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, { - "id": 87481, - "name": "proofHash", +<<<<<<< Updated upstream + "id": 87604, + "name": "maxRenewalFeeLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87432, - "src": "12767:9:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 87482, - "name": "setType", + "referencedDeclaration": 87549, + "src": "14253:19:147", +======= + "id": 119366, + "name": "maxRenewalFeeLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87434, - "src": "12778:7:147", + "referencedDeclaration": 119311, + "src": "13249:19:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15597,40 +27656,41 @@ } ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, + "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 87477, - "name": "DomainPriceUpdated", +<<<<<<< Updated upstream + "id": 87602, + "name": "MaxRenewalFeeLengthUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91435, - "src": "12720:18:147", + "referencedDeclaration": 91395, + "src": "14216:26:147", +======= + "id": 119364, + "name": "MaxRenewalFeeLengthUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123336, + "src": "13212:26:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256,bytes32,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 87483, +<<<<<<< Updated upstream + "id": 87605, +======= + "id": 119367, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -15639,16 +27699,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12720:66:147", +<<<<<<< Updated upstream + "src": "14216:57:147", +======= + "src": "13212:57:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 87484, +<<<<<<< Updated upstream + "id": 87606, "nodeType": "EmitStatement", - "src": "12715:71:147" + "src": "14211:62:147" +======= + "id": 119368, + "nodeType": "EmitStatement", + "src": "13207:62:163" +>>>>>>> Stashed changes } ] } @@ -15656,479 +27726,397 @@ ] }, "documentation": { - "id": 87424, +<<<<<<< Updated upstream + "id": 87527, "nodeType": "StructuredDocumentation", - "src": "12179:112:147", - "text": " @dev Helper method to set domain price.\n Emits an event {DomainPriceUpdated} optionally." + "src": "13377:150:147", +======= + "id": 119289, + "nodeType": "StructuredDocumentation", + "src": "12373:150:163", +>>>>>>> Stashed changes + "text": " @dev Sets renewal fee.\n Emits events {RenewalFeeByLengthUpdated}.\n Emits an event {MaxRenewalFeeLengthUpdated} optionally." }, "implemented": true, "kind": "function", "modifiers": [], - "name": "_setDomainPrice", - "nameLocation": "12303:15:147", + "name": "_setRenewalFeeByLengths", +<<<<<<< Updated upstream + "nameLocation": "13539:23:147", "parameters": { - "id": 87437, + "id": 87532, +======= + "nameLocation": "12535:23:163", + "parameters": { + "id": 119294, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87426, - "mutability": "mutable", - "name": "operator", - "nameLocation": "12332:8:147", - "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12324:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 87425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12324:7:147", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87428, - "mutability": "mutable", - "name": "lbHash", - "nameLocation": "12354:6:147", - "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12346:14:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 87427, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12346:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87430, - "mutability": "mutable", - "name": "ronPrice", - "nameLocation": "12374:8:147", - "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12366:16:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12366:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87432, - "mutability": "mutable", - "name": "proofHash", - "nameLocation": "12396:9:147", - "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12388:17:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 87431, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "12388:7:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87434, +<<<<<<< Updated upstream + "id": 87531, "mutability": "mutable", - "name": "setType", - "nameLocation": "12419:7:147", + "name": "renewalFees", + "nameLocation": "13585:11:147", "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12411:15:147", + "scope": 87610, + "src": "13563:33:147", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12411:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 87436, + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", +======= + "id": 119293, "mutability": "mutable", - "name": "forced", - "nameLocation": "12437:6:147", + "name": "renewalFees", + "nameLocation": "12581:11:163", "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12432:11:147", + "scope": 119372, + "src": "12559:33:163", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "calldata", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_calldata_ptr_$dyn_calldata_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.RenewalFee[]" }, "typeName": { - "id": 87435, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12432:4:147", + "baseType": { +<<<<<<< Updated upstream + "id": 87529, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87528, + "name": "RenewalFee", + "nameLocations": [ + "13563:10:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 91376, + "src": "13563:10:147" + }, + "referencedDeclaration": 91376, + "src": "13563:10:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$91376_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 87530, + "nodeType": "ArrayTypeName", + "src": "13563:12:147", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "12318:129:147" - }, - "returnParameters": { - "id": 87440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87439, - "mutability": "mutable", - "name": "updated", - "nameLocation": "12471:7:147", - "nodeType": "VariableDeclaration", - "scope": 87488, - "src": "12466:12:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 87438, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12466:4:147", + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", +======= + "id": 119291, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119290, + "name": "RenewalFee", + "nameLocations": [ + "12559:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123317, + "src": "12559:10:163" + }, + "referencedDeclaration": 123317, + "src": "12559:10:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RenewalFee_$123317_storage_ptr", + "typeString": "struct INSDomainPrice.RenewalFee" + } + }, + "id": 119292, + "nodeType": "ArrayTypeName", + "src": "12559:12:163", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_array$_t_struct$_RenewalFee_$123317_storage_$dyn_storage_ptr", +>>>>>>> Stashed changes + "typeString": "struct INSDomainPrice.RenewalFee[]" } }, "visibility": "internal" } ], - "src": "12465:14:147" +<<<<<<< Updated upstream + "src": "13562:35:147" + }, + "returnParameters": { + "id": 87533, + "nodeType": "ParameterList", + "parameters": [], + "src": "13607:0:147" }, "scope": 87685, +======= + "src": "12558:35:163" + }, + "returnParameters": { + "id": 119295, + "nodeType": "ParameterList", + "parameters": [], + "src": "12603:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 87505, +<<<<<<< Updated upstream + "id": 87642, "nodeType": "FunctionDefinition", - "src": "12899:121:147", + "src": "14385:296:147", "nodes": [], "body": { - "id": 87504, + "id": 87641, "nodeType": "Block", - "src": "12945:75:147", + "src": "14487:194:147", +======= + "id": 119404, + "nodeType": "FunctionDefinition", + "src": "13381:296:163", + "nodes": [], + "body": { + "id": 119403, + "nodeType": "Block", + "src": "13483:194:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "expression": { - "id": 87496, +<<<<<<< Updated upstream + "id": 87623, +======= + "id": 119385, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87494, - "name": "_taxRatio", +<<<<<<< Updated upstream + "id": 87621, + "name": "_pyth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86396, - "src": "12951:9:147", + "referencedDeclaration": 86389, + "src": "14493:5:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 119383, + "name": "_pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118304, + "src": "13489:5:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes + "typeString": "contract IPyth" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87495, - "name": "ratio", +<<<<<<< Updated upstream + "id": 87622, + "name": "pyth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87491, - "src": "12963:5:147", + "referencedDeclaration": 87614, + "src": "14501:4:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IPyth_$75202", + "typeString": "contract IPyth" } }, - "src": "12951:17:147", + "src": "14493:12:147", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IPyth_$75202", + "typeString": "contract IPyth" } }, - "id": 87497, + "id": 87624, "nodeType": "ExpressionStatement", - "src": "12951:17:147" + "src": "14493:12:147" }, { - "eventCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 87499, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72664, - "src": "12995:10:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 87500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12995:12:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 87501, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87491, - "src": "13009:5:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 87498, - "name": "TaxRatioUpdated", + "expression": { + "id": 87627, +======= + "id": 119384, + "name": "pyth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91388, - "src": "12979:15:147", + "referencedDeclaration": 119376, + "src": "13497:4:163", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" } }, - "id": 87502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12979:36:147", - "tryCall": false, + "src": "13489:12:163", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" } }, - "id": 87503, - "nodeType": "EmitStatement", - "src": "12974:41:147" - } - ] - }, - "documentation": { - "id": 87489, - "nodeType": "StructuredDocumentation", - "src": "12801:95:147", - "text": " @dev Sets renewal reservation ratio.\n Emits an event {TaxRatioUpdated}." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTaxRatio", - "nameLocation": "12908:12:147", - "parameters": { - "id": 87492, - "nodeType": "ParameterList", - "parameters": [ + "id": 119386, + "nodeType": "ExpressionStatement", + "src": "13489:12:163" + }, { - "constant": false, - "id": 87491, - "mutability": "mutable", - "name": "ratio", - "nameLocation": "12929:5:147", - "nodeType": "VariableDeclaration", - "scope": 87505, - "src": "12921:13:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12921:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12920:15:147" - }, - "returnParameters": { - "id": 87493, - "nodeType": "ParameterList", - "parameters": [], - "src": "12945:0:147" - }, - "scope": 87685, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 87526, - "nodeType": "FunctionDefinition", - "src": "13130:243:147", - "nodes": [], - "body": { - "id": 87525, - "nodeType": "Block", - "src": "13217:156:147", - "nodes": [], - "statements": [ + "expression": { + "id": 119389, +>>>>>>> Stashed changes + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { +<<<<<<< Updated upstream + "id": 87625, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86402, + "src": "14511:17:147", +======= + "id": 119387, + "name": "_maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118317, + "src": "13507:17:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { +<<<<<<< Updated upstream + "id": 87626, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87616, + "src": "14531:16:147", +======= + "id": 119388, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119378, + "src": "13527:16:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "src": "14511:36:147", +======= + "src": "13507:36:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, +<<<<<<< Updated upstream + "id": 87628, + "nodeType": "ExpressionStatement", + "src": "14511:36:147" + }, { "expression": { - "id": 87514, + "id": 87631, +======= + "id": 119390, + "nodeType": "ExpressionStatement", + "src": "13507:36:163" + }, + { + "expression": { + "id": 119393, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87512, - "name": "_dpDownScaler", +<<<<<<< Updated upstream + "id": 87629, + "name": "_pythIdForRONUSD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86409, - "src": "13223:13:147", + "referencedDeclaration": 86405, + "src": "14553:16:147", +======= + "id": 119391, + "name": "_pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118320, + "src": "13549:16:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage", - "typeString": "struct PeriodScaler storage ref" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87513, - "name": "domainPriceScaleRule", +<<<<<<< Updated upstream + "id": 87630, + "name": "pythIdForRONUSD", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87509, - "src": "13239:20:147", + "referencedDeclaration": 87618, + "src": "14572:15:147", +======= + "id": 119392, + "name": "pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119380, + "src": "13568:15:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", - "typeString": "struct PeriodScaler calldata" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "src": "13223:36:147", +<<<<<<< Updated upstream + "src": "14553:34:147", +======= + "src": "13549:34:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage", - "typeString": "struct PeriodScaler storage ref" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "id": 87515, +<<<<<<< Updated upstream + "id": 87632, "nodeType": "ExpressionStatement", - "src": "13223:36:147" + "src": "14553:34:147" +======= + "id": 119394, + "nodeType": "ExpressionStatement", + "src": "13549:34:163" +>>>>>>> Stashed changes }, { "eventCall": { @@ -16137,18 +28125,31 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 87517, +<<<<<<< Updated upstream + "id": 87634, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 72664, - "src": "13298:10:147", + "src": "14622:10:147", +======= + "id": 119396, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103582, + "src": "13618:10:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 87518, +<<<<<<< Updated upstream + "id": 87635, +======= + "id": 119397, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -16157,7 +28158,11 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13298:12:147", +<<<<<<< Updated upstream + "src": "14622:12:147", +======= + "src": "13618:12:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -16165,59 +28170,68 @@ } }, { - "expression": { - "id": 87519, - "name": "domainPriceScaleRule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87509, - "src": "13312:20:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", - "typeString": "struct PeriodScaler calldata" - } - }, - "id": 87520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13333:5:147", - "memberName": "ratio", - "nodeType": "MemberAccess", - "referencedDeclaration": 93659, - "src": "13312:26:147", +<<<<<<< Updated upstream + "id": 87636, + "name": "pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87614, + "src": "14636:4:147", "typeDescriptions": { - "typeIdentifier": "t_uint192", - "typeString": "uint192" + "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 119398, + "name": "pyth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119376, + "src": "13632:4:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes + "typeString": "contract IPyth" } }, { - "expression": { - "id": 87521, - "name": "domainPriceScaleRule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87509, - "src": "13340:20:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", - "typeString": "struct PeriodScaler calldata" - } - }, - "id": 87522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13361:6:147", - "memberName": "period", - "nodeType": "MemberAccess", - "referencedDeclaration": 93661, - "src": "13340:27:147", +<<<<<<< Updated upstream + "id": 87637, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87616, + "src": "14642:16:147", +======= + "id": 119399, + "name": "maxAcceptableAge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119378, + "src": "13638:16:163", +>>>>>>> Stashed changes "typeDescriptions": { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { +<<<<<<< Updated upstream + "id": 87638, + "name": "pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87618, + "src": "14660:15:147", +======= + "id": 119400, + "name": "pythIdForRONUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119380, + "src": "13656:15:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], @@ -16228,26 +28242,49 @@ "typeString": "address" }, { - "typeIdentifier": "t_uint192", - "typeString": "uint192" +<<<<<<< Updated upstream + "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes + "typeString": "contract IPyth" }, { - "typeIdentifier": "t_uint64", - "typeString": "uint64" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 87516, - "name": "DomainPriceScaleRuleUpdated", +<<<<<<< Updated upstream + "id": 87633, + "name": "PythOracleConfigUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 91444, - "src": "13270:27:147", + "referencedDeclaration": 91456, + "src": "14598:23:147", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint192_$_t_uint64_$returns$__$", - "typeString": "function (address,uint192,uint64)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IPyth_$75202_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IPyth,uint256,bytes32)" } }, - "id": 87523, + "id": 87639, +======= + "id": 119395, + "name": "PythOracleConfigUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123398, + "src": "13594:23:163", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IPyth_$106120_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (address,contract IPyth,uint256,bytes32)" + } + }, + "id": 119401, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, @@ -16256,147 +28293,390 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13270:98:147", +<<<<<<< Updated upstream + "src": "14598:78:147", +======= + "src": "13594:78:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 87524, +<<<<<<< Updated upstream + "id": 87640, "nodeType": "EmitStatement", - "src": "13265:103:147" + "src": "14593:83:147" +======= + "id": 119402, + "nodeType": "EmitStatement", + "src": "13589:83:163" +>>>>>>> Stashed changes } ] }, "documentation": { - "id": 87506, +<<<<<<< Updated upstream + "id": 87611, "nodeType": "StructuredDocumentation", - "src": "13024:103:147", - "text": " @dev Sets domain price scale rule.\n Emits events {DomainPriceScaleRuleUpdated}." + "src": "14288:94:147", +======= + "id": 119373, + "nodeType": "StructuredDocumentation", + "src": "13284:94:163", +>>>>>>> Stashed changes + "text": " @dev Sets Pyth Oracle config.\n Emits events {PythOracleConfigUpdated}." }, "implemented": true, "kind": "function", "modifiers": [], - "name": "_setDomainPriceScaleRule", - "nameLocation": "13139:24:147", + "name": "_setPythOracleConfig", +<<<<<<< Updated upstream + "nameLocation": "14394:20:147", "parameters": { - "id": 87510, + "id": 87619, +======= + "nameLocation": "13390:20:163", + "parameters": { + "id": 119381, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87509, +<<<<<<< Updated upstream + "id": 87614, "mutability": "mutable", - "name": "domainPriceScaleRule", - "nameLocation": "13186:20:147", + "name": "pyth", + "nameLocation": "14421:4:147", + "nodeType": "VariableDeclaration", + "scope": 87642, + "src": "14415:10:147", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$75202", + "typeString": "contract IPyth" + }, + "typeName": { + "id": 87613, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87612, + "name": "IPyth", + "nameLocations": [ + "14415:5:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 75202, + "src": "14415:5:147" + }, + "referencedDeclaration": 75202, + "src": "14415:5:147", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPyth_$75202", +======= + "id": 119376, + "mutability": "mutable", + "name": "pyth", + "nameLocation": "13417:4:163", "nodeType": "VariableDeclaration", - "scope": 87526, - "src": "13164:42:147", + "scope": 119404, + "src": "13411:10:163", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_calldata_ptr", - "typeString": "struct PeriodScaler" + "typeIdentifier": "t_contract$_IPyth_$106120", + "typeString": "contract IPyth" }, "typeName": { - "id": 87508, + "id": 119375, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 87507, - "name": "PeriodScaler", + "id": 119374, + "name": "IPyth", "nameLocations": [ - "13164:12:147" + "13411:5:163" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 93662, - "src": "13164:12:147" + "referencedDeclaration": 106120, + "src": "13411:5:163" }, - "referencedDeclaration": 93662, - "src": "13164:12:147", + "referencedDeclaration": 106120, + "src": "13411:5:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_PeriodScaler_$93662_storage_ptr", - "typeString": "struct PeriodScaler" + "typeIdentifier": "t_contract$_IPyth_$106120", +>>>>>>> Stashed changes + "typeString": "contract IPyth" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87616, + "mutability": "mutable", + "name": "maxAcceptableAge", + "nameLocation": "14435:16:147", + "nodeType": "VariableDeclaration", + "scope": 87642, + "src": "14427:24:147", +======= + "id": 119378, + "mutability": "mutable", + "name": "maxAcceptableAge", + "nameLocation": "13431:16:163", + "nodeType": "VariableDeclaration", + "scope": 119404, + "src": "13423:24:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14427:7:147", +======= + "id": 119377, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13423:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, +<<<<<<< Updated upstream + "id": 87618, + "mutability": "mutable", + "name": "pythIdForRONUSD", + "nameLocation": "14461:15:147", + "nodeType": "VariableDeclaration", + "scope": 87642, + "src": "14453:23:147", +======= + "id": 119380, + "mutability": "mutable", + "name": "pythIdForRONUSD", + "nameLocation": "13457:15:163", + "nodeType": "VariableDeclaration", + "scope": 119404, + "src": "13449:23:163", +>>>>>>> Stashed changes + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { +<<<<<<< Updated upstream + "id": 87617, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14453:7:147", +======= + "id": 119379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13449:7:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "src": "13163:44:147" +<<<<<<< Updated upstream + "src": "14414:63:147" }, "returnParameters": { - "id": 87511, + "id": 87620, "nodeType": "ParameterList", "parameters": [], - "src": "13217:0:147" + "src": "14487:0:147" }, "scope": 87685, +======= + "src": "13410:63:163" + }, + "returnParameters": { + "id": 119382, + "nodeType": "ParameterList", + "parameters": [], + "src": "13483:0:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { - "id": 87610, +<<<<<<< Updated upstream + "id": 87684, "nodeType": "FunctionDefinition", - "src": "13530:754:147", + "src": "14794:361:147", "nodes": [], "body": { - "id": 87609, + "id": 87683, "nodeType": "Block", - "src": "13607:677:147", + "src": "14867:288:147", +======= + "id": 119583, + "nodeType": "FunctionDefinition", + "src": "14186:1419:163", + "nodes": [], + "body": { + "id": 119582, + "nodeType": "Block", + "src": "14360:1245:163", +>>>>>>> Stashed changes "nodes": [], "statements": [ { "assignments": [ - 87535 +<<<<<<< Updated upstream + 87652 +======= + 119421 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 87535, +<<<<<<< Updated upstream + "id": 87652, "mutability": "mutable", - "name": "operator", - "nameLocation": "13621:8:147", + "name": "dp", + "nameLocation": "14898:2:147", "nodeType": "VariableDeclaration", - "scope": 87609, - "src": "13613:16:147", + "scope": 87683, + "src": "14873:27:147", +======= + "id": 119421, + "mutability": "mutable", + "name": "nameLen", + "nameLocation": "14374:7:163", + "nodeType": "VariableDeclaration", + "scope": 119582, + "src": "14366:15:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" +<<<<<<< Updated upstream + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper" }, "typeName": { - "id": 87534, - "name": "address", + "id": 87651, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 87650, + "name": "TimestampWrapper", + "nameLocations": [ + "14873:16:147" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 93585, + "src": "14873:16:147" + }, + "referencedDeclaration": 93585, + "src": "14873:16:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeString": "struct TimestampWrapper" +======= + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119420, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13613:7:147", - "stateMutability": "nonpayable", + "src": "14366:7:163", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" +>>>>>>> Stashed changes } }, "visibility": "internal" } ], - "id": 87538, +<<<<<<< Updated upstream + "id": 87656, + "initialValue": { + "baseExpression": { + "id": 87653, + "name": "_dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86420, + "src": "14903:3:147", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$93585_storage_$", + "typeString": "mapping(bytes32 => struct TimestampWrapper storage ref)" + } + }, + "id": 87655, + "indexExpression": { + "id": 87654, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87645, + "src": "14907:6:147", +======= + "id": 119425, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 87536, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72664, - "src": "13632:10:147", + "expression": { + "id": 119422, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119407, + "src": "14384:5:163", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14390:6:163", + "memberName": "strlen", + "nodeType": "MemberAccess", + "referencedDeclaration": 125159, + "src": "14384:12:163", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (uint256)" } }, - "id": 87537, + "id": 119424, "isConstant": false, "isLValue": false, "isPure": false, @@ -16405,141 +28685,114 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13632:12:147", + "src": "14384:14:163", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "13613:31:147" - }, - { - "assignments": [ - 87541 - ], - "declarations": [ - { - "constant": false, - "id": 87541, - "mutability": "mutable", - "name": "renewalFee", - "nameLocation": "13668:10:147", - "nodeType": "VariableDeclaration", - "scope": 87609, - "src": "13650:28:147", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee" - }, - "typeName": { - "id": 87540, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87539, - "name": "RenewalFee", - "nameLocations": [ - "13650:10:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91376, - "src": "13650:10:147" - }, - "referencedDeclaration": 91376, - "src": "13650:10:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_storage_ptr", - "typeString": "struct INSDomainPrice.RenewalFee" - } - }, - "visibility": "internal" - } - ], - "id": 87542, - "nodeType": "VariableDeclarationStatement", - "src": "13650:28:147" + "src": "14366:32:163" }, { "assignments": [ - 87544 + 119427 ], "declarations": [ { "constant": false, - "id": 87544, + "id": 119427, "mutability": "mutable", - "name": "length", - "nameLocation": "13692:6:147", + "name": "lbHash", + "nameLocation": "14412:6:163", "nodeType": "VariableDeclaration", - "scope": 87609, - "src": "13684:14:147", + "scope": 119582, + "src": "14404:14:163", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 87543, - "name": "uint256", + "id": 119426, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "13684:7:147", + "src": "14404:7:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "visibility": "internal" } ], - "id": 87547, + "id": 119431, "initialValue": { + "arguments": [], "expression": { - "id": 87545, - "name": "renewalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87531, - "src": "13701:11:147", + "argumentTypes": [], + "expression": { + "id": 119428, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119407, + "src": "14421:5:163", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14427:9:163", + "memberName": "hashLabel", + "nodeType": "MemberAccess", + "referencedDeclaration": 125041, + "src": "14421:15:163", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$attached_to$_t_string_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes32)" } }, - "id": 87546, + "id": 119430, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "13713:6:147", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13701:18:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14421:17:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "nodeType": "VariableDeclarationStatement", - "src": "13684:35:147" + "src": "14404:34:163" }, { "assignments": [ - 87549 + 119433 ], "declarations": [ { "constant": false, - "id": 87549, + "id": 119433, "mutability": "mutable", - "name": "maxRenewalFeeLength", - "nameLocation": "13733:19:147", + "name": "overriddenRenewalFee", + "nameLocation": "14452:20:163", "nodeType": "VariableDeclaration", - "scope": 87609, - "src": "13725:27:147", + "scope": 119582, + "src": "14444:28:163", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16547,10 +28800,10 @@ "typeString": "uint256" }, "typeName": { - "id": 87548, + "id": 119432, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13725:7:147", + "src": "14444:7:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16559,631 +28812,1659 @@ "visibility": "internal" } ], - "id": 87551, + "id": 119437, "initialValue": { - "id": 87550, - "name": "_rnfMaxLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86399, - "src": "13755:13:147", + "baseExpression": { + "id": 119434, + "name": "_rnFeeOverriding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118340, + "src": "14475:16:163", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 119436, + "indexExpression": { + "id": 119435, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119427, + "src": "14492:6:163", +>>>>>>> Stashed changes + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", +<<<<<<< Updated upstream + "src": "14903:11:147", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage", + "typeString": "struct TimestampWrapper storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14873:41:147" +======= + "src": "14475:24:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "13725:43:147" + "src": "14444:55:163" +>>>>>>> Stashed changes }, { - "body": { - "id": 87593, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119438, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119433, + "src": "14510:20:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 119439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14534:1:163", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14510:25:163", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 119562, "nodeType": "Block", - "src": "13804:308:147", + "src": "14606:902:163", "statements": [ + { + "assignments": [ + 119452 + ], + "declarations": [ + { + "constant": false, + "id": 119452, + "mutability": "mutable", + "name": "renewalFeeByLength", + "nameLocation": "14622:18:163", + "nodeType": "VariableDeclaration", + "scope": 119562, + "src": "14614:26:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119451, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14614:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119460, + "initialValue": { + "baseExpression": { + "id": 119453, + "name": "_rnFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118329, + "src": "14643:6:163", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 119459, + "indexExpression": { + "arguments": [ + { + "id": 119456, + "name": "nameLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119421, + "src": "14659:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 119457, + "name": "_rnfMaxLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118314, + "src": "14668:13:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 119454, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104833, + "src": "14650:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$104833_$", + "typeString": "type(library Math)" + } + }, + "id": 119455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14655:3:163", + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 104010, + "src": "14650:8:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 119458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14650:32:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14643:40:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14614:69:163" + }, { "expression": { - "id": 87562, + "id": 119467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87558, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "13812:10:147", + "expression": { + "id": 119461, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119413, + "src": "14691:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "14701:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "14691:13:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "baseExpression": { - "id": 87559, - "name": "renewalFees", + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119464, + "name": "duration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87531, - "src": "13825:11:147", + "referencedDeclaration": 119409, + "src": "14707:8:163", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct INSDomainPrice.RenewalFee calldata[] calldata" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87561, - "indexExpression": { - "id": 87560, - "name": "i", + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 119465, + "name": "renewalFeeByLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87553, - "src": "13837:1:147", + "referencedDeclaration": 119452, + "src": "14718:18:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14707:29:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14691:45:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119468, + "nodeType": "ExpressionStatement", + "src": "14691:45:163" + }, + { + "assignments": [ + 119470 + ], + "declarations": [ + { + "constant": false, + "id": 119470, + "mutability": "mutable", + "name": "id", + "nameLocation": "14752:2:163", + "nodeType": "VariableDeclaration", + "scope": 119562, + "src": "14744:10:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14744:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119477, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 119473, + "name": "LibRNSDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125052, + "src": "14775:12:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$125052_$", + "typeString": "type(library LibRNSDomain)" + } + }, + "id": 119474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "14788:6:163", + "memberName": "RON_ID", + "nodeType": "MemberAccess", + "referencedDeclaration": 125015, + "src": "14775:19:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 119475, + "name": "label", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119407, + "src": "14796:5:163", "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119471, + "name": "LibRNSDomain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125052, + "src": "14757:12:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibRNSDomain_$125052_$", + "typeString": "type(library LibRNSDomain)" } }, + "id": 119472, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13825:14:147", + "memberLocation": "14770:4:163", + "memberName": "toId", + "nodeType": "MemberAccess", + "referencedDeclaration": 125031, + "src": "14757:17:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_calldata_ptr", - "typeString": "struct INSDomainPrice.RenewalFee calldata" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,string memory) pure returns (uint256)" } }, - "src": "13812:27:147", + "id": 119476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14757:45:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87563, - "nodeType": "ExpressionStatement", - "src": "13812:27:147" + "nodeType": "VariableDeclarationStatement", + "src": "14744:58:163" }, { - "expression": { - "id": 87571, + "assignments": [ + 119480 + ], + "declarations": [ + { + "constant": false, + "id": 119480, + "mutability": "mutable", + "name": "auction", + "nameLocation": "14821:7:163", + "nodeType": "VariableDeclaration", + "scope": 119562, + "src": "14810:18:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + }, + "typeName": { + "id": 119479, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119478, + "name": "INSAuction", + "nameLocations": [ + "14810:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123292, + "src": "14810:10:163" + }, + "referencedDeclaration": 123292, + "src": "14810:10:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "visibility": "internal" + } + ], + "id": 119482, + "initialValue": { + "id": 119481, + "name": "_auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118308, + "src": "14831:8:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14810:29:163" + }, + { + "condition": { + "arguments": [ + { + "id": 119485, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119470, + "src": "14868:2:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 119483, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119480, + "src": "14851:7:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "id": 119484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14859:8:163", + "memberName": "reserved", + "nodeType": "MemberAccess", + "referencedDeclaration": 123179, + "src": "14851:16:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view external returns (bool)" + } + }, + "id": 119486, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "leftHandSide": { - "id": 87564, - "name": "maxRenewalFeeLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87549, - "src": "13847:19:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 87567, - "name": "maxRenewalFeeLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87549, - "src": "13878:19:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14851:20:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119561, + "nodeType": "IfStatement", + "src": "14847:655:163", + "trueBody": { + "id": 119560, + "nodeType": "Block", + "src": "14873:629:163", + "statements": [ + { + "assignments": [ + 119489 + ], + "declarations": [ + { + "constant": false, + "id": 119489, + "mutability": "mutable", + "name": "rns", + "nameLocation": "14894:3:163", + "nodeType": "VariableDeclaration", + "scope": 119560, + "src": "14883:14:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$123985", + "typeString": "contract INSUnified" + }, + "typeName": { + "id": 119488, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119487, + "name": "INSUnified", + "nameLocations": [ + "14883:10:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123985, + "src": "14883:10:163" + }, + "referencedDeclaration": 123985, + "src": "14883:10:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$123985", + "typeString": "contract INSUnified" + } + }, + "visibility": "internal" + } + ], + "id": 119493, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 119490, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119480, + "src": "14900:7:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "id": 119491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14908:13:163", + "memberName": "getRNSUnified", + "nodeType": "MemberAccess", + "referencedDeclaration": 123291, + "src": "14900:21:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_INSUnified_$123985_$", + "typeString": "function () view external returns (contract INSUnified)" + } + }, + "id": 119492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14900:23:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_INSUnified_$123985", + "typeString": "contract INSUnified" } }, - { + "nodeType": "VariableDeclarationStatement", + "src": "14883:40:163" + }, + { + "assignments": [ + 119495 + ], + "declarations": [ + { + "constant": false, + "id": 119495, + "mutability": "mutable", + "name": "expiry", + "nameLocation": "14941:6:163", + "nodeType": "VariableDeclaration", + "scope": 119560, + "src": "14933:14:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14933:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119511, + "initialValue": { + "arguments": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 119500, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119470, + "src": "14995:2:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 119498, + "name": "rns", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119489, + "src": "14981:3:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSUnified_$123985", + "typeString": "contract INSUnified" + } + }, + "id": 119499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14985:9:163", + "memberName": "getRecord", + "nodeType": "MemberAccess", + "referencedDeclaration": 123914, + "src": "14981:13:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Record_$123798_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct INSUnified.Record memory)" + } + }, + "id": 119501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14981:17:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Record_$123798_memory_ptr", + "typeString": "struct INSUnified.Record memory" + } + }, + "id": 119502, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14999:3:163", + "memberName": "mut", + "nodeType": "MemberAccess", + "referencedDeclaration": 123797, + "src": "14981:21:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableRecord_$123791_memory_ptr", + "typeString": "struct INSUnified.MutableRecord memory" + } + }, + "id": 119503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15003:6:163", + "memberName": "expiry", + "nodeType": "MemberAccess", + "referencedDeclaration": 123788, + "src": "14981:28:163", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + { + "id": 119504, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119409, + "src": "15011:8:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "arguments": [ + { + "id": 119507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15026:6:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 119506, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15026:6:163", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 119505, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "15021:4:163", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 119508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15021:12:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 119509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "15034:3:163", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "15021:16:163", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], "expression": { - "id": 87568, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "13899:10:147", + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "id": 119496, + "name": "LibSafeRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125596, + "src": "14950:12:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_LibSafeRange_$125596_$", + "typeString": "type(library LibSafeRange)" + } + }, + "id": 119497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "14963:17:163", + "memberName": "addWithUpperbound", + "nodeType": "MemberAccess", + "referencedDeclaration": 125595, + "src": "14950:30:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 87569, + "id": 119510, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberLocation": "13910:11:147", - "memberName": "labelLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 91373, - "src": "13899:22:147", + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "14950:88:163", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "VariableDeclarationStatement", + "src": "14933:105:163" + }, + { + "assignments": [ + 119516, + null + ], + "declarations": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "constant": false, + "id": 119516, + "mutability": "mutable", + "name": "domainAuction", + "nameLocation": "15081:13:163", + "nodeType": "VariableDeclaration", + "scope": 119560, + "src": "15049:45:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$123087_memory_ptr", + "typeString": "struct INSAuction.DomainAuction" + }, + "typeName": { + "id": 119515, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119514, + "name": "INSAuction.DomainAuction", + "nameLocations": [ + "15049:10:163", + "15060:13:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123087, + "src": "15049:24:163" + }, + "referencedDeclaration": 123087, + "src": "15049:24:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$123087_storage_ptr", + "typeString": "struct INSAuction.DomainAuction" + } + }, + "visibility": "internal" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + null ], - "expression": { - "id": 87565, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 73915, - "src": "13869:4:147", + "id": 119521, + "initialValue": { + "arguments": [ + { + "id": 119519, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119470, + "src": "15118:2:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 119517, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119480, + "src": "15099:7:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "id": 119518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15107:10:163", + "memberName": "getAuction", + "nodeType": "MemberAccess", + "referencedDeclaration": 123250, + "src": "15099:18:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_DomainAuction_$123087_memory_ptr_$_t_uint256_$", + "typeString": "function (uint256) view external returns (struct INSAuction.DomainAuction memory,uint256)" + } + }, + "id": 119520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15099:22:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$73915_$", - "typeString": "type(library Math)" + "typeIdentifier": "t_tuple$_t_struct$_DomainAuction_$123087_memory_ptr_$_t_uint256_$", + "typeString": "tuple(struct INSAuction.DomainAuction memory,uint256)" } }, - "id": 87566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13874:3:147", - "memberName": "max", - "nodeType": "MemberAccess", - "referencedDeclaration": 73074, - "src": "13869:8:147", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 87570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13869:53:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13847:75:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87572, - "nodeType": "ExpressionStatement", - "src": "13847:75:147" - }, - { - "expression": { - "id": 87579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 87573, - "name": "_rnFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86414, - "src": "13930:6:147", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } + "nodeType": "VariableDeclarationStatement", + "src": "15048:73:163" }, - "id": 87576, - "indexExpression": { - "expression": { - "id": 87574, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "13937:10:147", + { + "assignments": [ + 119523 + ], + "declarations": [ + { + "constant": false, + "id": 119523, + "mutability": "mutable", + "name": "claimedAt", + "nameLocation": "15139:9:163", + "nodeType": "VariableDeclaration", + "scope": 119560, + "src": "15131:17:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15131:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119527, + "initialValue": { + "expression": { + "expression": { + "id": 119524, + "name": "domainAuction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119516, + "src": "15151:13:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DomainAuction_$123087_memory_ptr", + "typeString": "struct INSAuction.DomainAuction memory" + } + }, + "id": 119525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15165:3:163", + "memberName": "bid", + "nodeType": "MemberAccess", + "referencedDeclaration": 123086, + "src": "15151:17:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bid_$123079_memory_ptr", + "typeString": "struct INSAuction.Bid memory" + } + }, + "id": 119526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15169:9:163", + "memberName": "claimedAt", + "nodeType": "MemberAccess", + "referencedDeclaration": 123078, + "src": "15151:27:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13948:11:147", - "memberName": "labelLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 91373, - "src": "13937:22:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13930:30:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 87577, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "13963:10:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" - } - }, - "id": 87578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13974:3:147", - "memberName": "fee", - "nodeType": "MemberAccess", - "referencedDeclaration": 91375, - "src": "13963:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13930:47:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87580, - "nodeType": "ExpressionStatement", - "src": "13930:47:147" - }, - { - "eventCall": { - "arguments": [ - { - "id": 87582, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87535, - "src": "14016:8:147", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "nodeType": "VariableDeclarationStatement", + "src": "15131:47:163" }, { - "expression": { - "id": 87583, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "14026:10:147", + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 119538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119528, + "name": "claimedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119523, + "src": "15192:9:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 119529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15205:1:163", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15192:14:163", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119531, + "name": "expiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119495, + "src": "15210:6:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 119532, + "name": "claimedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119523, + "src": "15219:9:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15210:18:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 119534, + "name": "auction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119480, + "src": "15231:7:163", + "typeDescriptions": { + "typeIdentifier": "t_contract$_INSAuction_$123292", + "typeString": "contract INSAuction" + } + }, + "id": 119535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15239:25:163", + "memberName": "MAX_AUCTION_DOMAIN_EXPIRY", + "nodeType": "MemberAccess", + "referencedDeclaration": 123143, + "src": "15231:33:163", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$__$returns$_t_uint64_$", + "typeString": "function () pure external returns (uint64)" + } + }, + "id": 119536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15231:35:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "15210:56:163", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15192:74:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 87584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14037:11:147", - "memberName": "labelLength", - "nodeType": "MemberAccess", - "referencedDeclaration": 91373, - "src": "14026:22:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "id": 119546, + "nodeType": "IfStatement", + "src": "15188:162:163", + "trueBody": { + "id": 119545, + "nodeType": "Block", + "src": "15268:82:163", + "statements": [ + { + "expression": { + "components": [ + { + "id": 119539, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119413, + "src": "15288:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + { + "id": 119540, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119416, + "src": "15299:3:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + { + "expression": { + "id": 119541, + "name": "ExceedAuctionDomainExpiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123306, + "src": "15304:25:163", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 119542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15330:8:163", + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "15304:34:163", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "id": 119543, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15287:52:163", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_struct$_UnitPrice_$123322_memory_ptr_$_t_bytes4_$", + "typeString": "tuple(struct INSDomainPrice.UnitPrice memory,struct INSDomainPrice.UnitPrice memory,bytes4)" + } + }, + "functionReturnParameters": 119419, + "id": 119544, + "nodeType": "Return", + "src": "15280:59:163" + } + ] } }, { "expression": { - "id": 87585, - "name": "renewalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87541, - "src": "14050:10:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_memory_ptr", - "typeString": "struct INSDomainPrice.RenewalFee memory" - } - }, - "id": 87586, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14061:3:147", - "memberName": "fee", - "nodeType": "MemberAccess", - "referencedDeclaration": 91375, - "src": "14050:14:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 87581, - "name": "RenewalFeeByLengthUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91404, - "src": "13990:25:147", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 87587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13990:75:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 87588, - "nodeType": "EmitStatement", - "src": "13985:80:147" - }, - { - "id": 87592, - "nodeType": "UncheckedBlock", - "src": "14074:32:147", - "statements": [ - { - "expression": { - "id": 87590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "14094:3:147", - "subExpression": { - "id": 87589, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87553, - "src": "14096:1:147", + "id": 119558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119547, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119416, + "src": "15420:3:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "15424:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "15420:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 119552, + "name": "_taxRatio", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118311, + "src": "15442:9:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 119554, + "name": "lbHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119427, + "src": "15469:6:163", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 119553, + "name": "_getDomainPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119625, + "src": "15453:15:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 119555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15453:23:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 119556, + "name": "MAX_PERCENTAGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118283, + "src": "15478:14:163", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "expression": { + "id": 119550, + "name": "Math", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 104833, + "src": "15430:4:163", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Math_$104833_$", + "typeString": "type(library Math)" + } + }, + "id": 119551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15435:6:163", + "memberName": "mulDiv", + "nodeType": "MemberAccess", + "referencedDeclaration": 104181, + "src": "15430:11:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 119557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15430:63:163", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15420:73:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87591, - "nodeType": "ExpressionStatement", - "src": "14094:3:147" - } - ] + "id": 119559, + "nodeType": "ExpressionStatement", + "src": "15420:73:163" + } + ] + } } ] }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87555, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87553, - "src": "13791:1:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 87556, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87544, - "src": "13795:6:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13791:10:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 87594, - "initializationExpression": { - "assignments": [ - 87553 - ], - "declarations": [ - { - "constant": false, - "id": 87553, - "mutability": "mutable", - "name": "i", - "nameLocation": "13788:1:147", - "nodeType": "VariableDeclaration", - "scope": 87594, - "src": "13780:9:147", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 87552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13780:7:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 87554, - "nodeType": "VariableDeclarationStatement", - "src": "13780:9:147" - }, - "nodeType": "ForStatement", - "src": "13775:337:147" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 87597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 87595, - "name": "maxRenewalFeeLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87549, - "src": "14122:19:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 87596, - "name": "_rnfMaxLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86399, - "src": "14145:13:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14122:36:147", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 87608, + "id": 119563, "nodeType": "IfStatement", - "src": "14118:162:147", + "src": "14506:1002:163", "trueBody": { - "id": 87607, + "id": 119450, "nodeType": "Block", - "src": "14160:120:147", + "src": "14537:63:163", "statements": [ { "expression": { - "id": 87600, + "id": 119448, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87598, - "name": "_rnfMaxLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86399, - "src": "14168:13:147", + "expression": { + "id": 119441, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119413, + "src": "14545:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119443, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "14555:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "14545:13:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17192,245 +30473,105 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87599, - "name": "maxRenewalFeeLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87549, - "src": "14184:19:147", - "typeDescriptions": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "src": "14168:35:147", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 87601, - "nodeType": "ExpressionStatement", - "src": "14168:35:147" - }, - { - "eventCall": { - "arguments": [ - { - "id": 87603, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87535, - "src": "14243:8:147", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } }, - { - "id": 87604, - "name": "maxRenewalFeeLength", + "id": 119447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119444, + "name": "duration", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87549, - "src": "14253:19:147", + "overloadedDeclarations": [], + "referencedDeclaration": 119409, + "src": "14561:8:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 119446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "14572:21:163", + "subExpression": { + "id": 119445, + "name": "overriddenRenewalFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119433, + "src": "14573:20:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - { + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } - ], - "id": 87602, - "name": "MaxRenewalFeeLengthUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91395, - "src": "14216:26:147", + }, + "src": "14561:32:163", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14216:57:147", - "tryCall": false, + "src": "14545:48:163", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87606, - "nodeType": "EmitStatement", - "src": "14211:62:147" + "id": 119449, + "nodeType": "ExpressionStatement", + "src": "14545:48:163" } ] } - } - ] - }, - "documentation": { - "id": 87527, - "nodeType": "StructuredDocumentation", - "src": "13377:150:147", - "text": " @dev Sets renewal fee.\n Emits events {RenewalFeeByLengthUpdated}.\n Emits an event {MaxRenewalFeeLengthUpdated} optionally." - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setRenewalFeeByLengths", - "nameLocation": "13539:23:147", - "parameters": { - "id": 87532, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 87531, - "mutability": "mutable", - "name": "renewalFees", - "nameLocation": "13585:11:147", - "nodeType": "VariableDeclaration", - "scope": 87610, - "src": "13563:33:147", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_calldata_ptr_$dyn_calldata_ptr", - "typeString": "struct INSDomainPrice.RenewalFee[]" - }, - "typeName": { - "baseType": { - "id": 87529, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 87528, - "name": "RenewalFee", - "nameLocations": [ - "13563:10:147" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 91376, - "src": "13563:10:147" - }, - "referencedDeclaration": 91376, - "src": "13563:10:147", - "typeDescriptions": { - "typeIdentifier": "t_struct$_RenewalFee_$91376_storage_ptr", - "typeString": "struct INSDomainPrice.RenewalFee" - } - }, - "id": 87530, - "nodeType": "ArrayTypeName", - "src": "13563:12:147", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_RenewalFee_$91376_storage_$dyn_storage_ptr", - "typeString": "struct INSDomainPrice.RenewalFee[]" - } - }, - "visibility": "internal" - } - ], - "src": "13562:35:147" - }, - "returnParameters": { - "id": 87533, - "nodeType": "ParameterList", - "parameters": [], - "src": "13607:0:147" - }, - "scope": 87685, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 87642, - "nodeType": "FunctionDefinition", - "src": "14385:296:147", - "nodes": [], - "body": { - "id": 87641, - "nodeType": "Block", - "src": "14487:194:147", - "nodes": [], - "statements": [ - { - "expression": { - "id": 87623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 87621, - "name": "_pyth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86389, - "src": "14493:5:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 87622, - "name": "pyth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87614, - "src": "14501:4:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - } - }, - "src": "14493:12:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - } - }, - "id": 87624, - "nodeType": "ExpressionStatement", - "src": "14493:12:147" }, { "expression": { - "id": 87627, + "id": 119571, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87625, - "name": "_maxAcceptableAge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86402, - "src": "14511:17:147", + "expression": { + "id": 119564, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119416, + "src": "15514:3:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "15518:3:163", + "memberName": "ron", + "nodeType": "MemberAccess", + "referencedDeclaration": 123321, + "src": "15514:7:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17439,389 +30580,468 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87626, - "name": "maxAcceptableAge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87616, - "src": "14531:16:147", + "arguments": [ + { + "expression": { + "id": 119568, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119416, + "src": "15540:3:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15544:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "15540:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 119567, + "name": "convertUSDToRON", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119112, + "src": "15524:15:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 119570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15524:24:163", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "14511:36:147", + "src": "15514:34:163", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 87628, + "id": 119572, "nodeType": "ExpressionStatement", - "src": "14511:36:147" + "src": "15514:34:163" }, { "expression": { - "id": 87631, + "id": 119580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 87629, - "name": "_pythIdForRONUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86405, - "src": "14553:16:147", + "expression": { + "id": 119573, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119413, + "src": "15554:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "15564:3:163", + "memberName": "ron", + "nodeType": "MemberAccess", + "referencedDeclaration": 123321, + "src": "15554:13:163", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 87630, - "name": "pythIdForRONUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87618, - "src": "14572:15:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "14553:34:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 87632, - "nodeType": "ExpressionStatement", - "src": "14553:34:147" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 87634, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72664, - "src": "14622:10:147", + "arguments": [ + { + "expression": { + "id": 119577, + "name": "basePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119413, + "src": "15586:9:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice memory" + } + }, + "id": 119578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "15596:3:163", + "memberName": "usd", + "nodeType": "MemberAccess", + "referencedDeclaration": 123319, + "src": "15586:13:163", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 87635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14622:12:147", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 87636, - "name": "pyth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87614, - "src": "14636:4:147", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" } - }, - { - "id": 87637, - "name": "maxAcceptableAge", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 119576, + "name": "convertUSDToRON", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87616, - "src": "14642:16:147", + "referencedDeclaration": 119112, + "src": "15570:15:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" } }, - { - "id": 87638, - "name": "pythIdForRONUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 87618, - "src": "14660:15:147", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 87633, - "name": "PythOracleConfigUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 91456, - "src": "14598:23:147", + "id": 119579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "15570:30:163", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_IPyth_$75202_$_t_uint256_$_t_bytes32_$returns$__$", - "typeString": "function (address,contract IPyth,uint256,bytes32)" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14598:78:147", - "tryCall": false, + "src": "15554:46:163", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 87640, - "nodeType": "EmitStatement", - "src": "14593:83:147" + "id": 119581, + "nodeType": "ExpressionStatement", + "src": "15554:46:163" + } + ] + }, + "documentation": { + "id": 119405, + "nodeType": "StructuredDocumentation", + "src": "13681:502:163", + "text": " @dev Tries to get the renewal fee for a given domain label and duration.\n It returns the base price, tax, and a revert reason if applicable.\n @param label The domain label.\n @param duration The duration for which the domain is being renewed.\n @return basePrice The base price in USD for ˝renewing the domain.\n @return tax The tax amount in USD for renewing the domain.\n @return revertReason The revert reason if the renewal fee exceeds the auction domain expiry." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_tryGetRenewalFee", + "nameLocation": "14195:17:163", + "parameters": { + "id": 119410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119407, + "mutability": "mutable", + "name": "label", + "nameLocation": "14227:5:163", + "nodeType": "VariableDeclaration", + "scope": 119583, + "src": "14213:19:163", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14213:6:163", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119409, + "mutability": "mutable", + "name": "duration", + "nameLocation": "14242:8:163", + "nodeType": "VariableDeclaration", + "scope": 119583, + "src": "14234:16:163", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14234:7:163", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" } - ] - }, - "documentation": { - "id": 87611, - "nodeType": "StructuredDocumentation", - "src": "14288:94:147", - "text": " @dev Sets Pyth Oracle config.\n Emits events {PythOracleConfigUpdated}." + ], + "src": "14212:39:163" }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setPythOracleConfig", - "nameLocation": "14394:20:147", - "parameters": { - "id": 87619, + "returnParameters": { + "id": 119419, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 87614, + "id": 119413, "mutability": "mutable", - "name": "pyth", - "nameLocation": "14421:4:147", + "name": "basePrice", + "nameLocation": "14304:9:163", "nodeType": "VariableDeclaration", - "scope": 87642, - "src": "14415:10:147", + "scope": 119583, + "src": "14287:26:163", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" }, "typeName": { - "id": 87613, + "id": 119412, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 87612, - "name": "IPyth", + "id": 119411, + "name": "UnitPrice", "nameLocations": [ - "14415:5:147" + "14287:9:163" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 75202, - "src": "14415:5:147" + "referencedDeclaration": 123322, + "src": "14287:9:163" }, - "referencedDeclaration": 75202, - "src": "14415:5:147", + "referencedDeclaration": 123322, + "src": "14287:9:163", "typeDescriptions": { - "typeIdentifier": "t_contract$_IPyth_$75202", - "typeString": "contract IPyth" + "typeIdentifier": "t_struct$_UnitPrice_$123322_storage_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" } }, "visibility": "internal" }, { "constant": false, - "id": 87616, + "id": 119416, "mutability": "mutable", - "name": "maxAcceptableAge", - "nameLocation": "14435:16:147", + "name": "tax", + "nameLocation": "14332:3:163", "nodeType": "VariableDeclaration", - "scope": 87642, - "src": "14427:24:147", + "scope": 119583, + "src": "14315:20:163", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UnitPrice_$123322_memory_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" }, "typeName": { - "id": 87615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14427:7:147", + "id": 119415, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119414, + "name": "UnitPrice", + "nameLocations": [ + "14315:9:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123322, + "src": "14315:9:163" + }, + "referencedDeclaration": 123322, + "src": "14315:9:163", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_UnitPrice_$123322_storage_ptr", + "typeString": "struct INSDomainPrice.UnitPrice" } }, "visibility": "internal" }, { "constant": false, - "id": 87618, + "id": 119418, "mutability": "mutable", - "name": "pythIdForRONUSD", - "nameLocation": "14461:15:147", + "name": "revertReason", + "nameLocation": "14344:12:163", "nodeType": "VariableDeclaration", - "scope": 87642, - "src": "14453:23:147", + "scope": 119583, + "src": "14337:19:163", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" }, "typeName": { - "id": 87617, - "name": "bytes32", + "id": 119417, + "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "14453:7:147", + "src": "14337:6:163", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" } }, "visibility": "internal" } ], - "src": "14414:63:147" + "src": "14286:71:163" }, - "returnParameters": { - "id": 87620, - "nodeType": "ParameterList", - "parameters": [], - "src": "14487:0:147" - }, - "scope": 87685, - "stateMutability": "nonpayable", + "scope": 119626, + "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 87684, + "id": 119625, "nodeType": "FunctionDefinition", - "src": "14794:361:147", + "src": "15718:361:163", "nodes": [], "body": { - "id": 87683, + "id": 119624, "nodeType": "Block", - "src": "14867:288:147", + "src": "15791:288:163", "nodes": [], "statements": [ { "assignments": [ - 87652 +<<<<<<< Updated upstream + 87658 +======= + 119593 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, - "id": 87652, +<<<<<<< Updated upstream + "id": 87658, "mutability": "mutable", - "name": "dp", - "nameLocation": "14898:2:147", + "name": "lastSyncedAt", + "nameLocation": "14928:12:147", "nodeType": "VariableDeclaration", "scope": 87683, - "src": "14873:27:147", + "src": "14920:20:147", +======= + "id": 119593, + "mutability": "mutable", + "name": "dp", + "nameLocation": "15822:2:163", + "nodeType": "VariableDeclaration", + "scope": 119624, + "src": "15797:27:163", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", "typeString": "struct TimestampWrapper" }, "typeName": { - "id": 87651, + "id": 119592, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 87650, + "id": 119591, "name": "TimestampWrapper", "nameLocations": [ - "14873:16:147" + "15797:16:163" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 93585, - "src": "14873:16:147" + "referencedDeclaration": 125530, + "src": "15797:16:163" }, - "referencedDeclaration": 93585, - "src": "14873:16:147", + "referencedDeclaration": 125530, + "src": "15797:16:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage_ptr", + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", "typeString": "struct TimestampWrapper" } }, "visibility": "internal" } ], - "id": 87656, + "id": 119597, "initialValue": { "baseExpression": { - "id": 87653, + "id": 119594, "name": "_dp", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 86420, - "src": "14903:3:147", + "referencedDeclaration": 118335, + "src": "15827:3:163", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$93585_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimestampWrapper_$125530_storage_$", "typeString": "mapping(bytes32 => struct TimestampWrapper storage ref)" } }, - "id": 87655, + "id": 119596, "indexExpression": { - "id": 87654, + "id": 119595, "name": "lbHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 87645, - "src": "14907:6:147", + "referencedDeclaration": 119586, + "src": "15831:6:163", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -17832,29 +31052,30 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "14903:11:147", + "src": "15827:11:163", "typeDescriptions": { - "typeIdentifier": "t_struct$_TimestampWrapper_$93585_storage", + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage", "typeString": "struct TimestampWrapper storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "14873:41:147" + "src": "15797:41:163" }, { "assignments": [ - 87658 + 119599 ], "declarations": [ { "constant": false, - "id": 87658, + "id": 119599, "mutability": "mutable", "name": "lastSyncedAt", - "nameLocation": "14928:12:147", + "nameLocation": "15852:12:163", "nodeType": "VariableDeclaration", - "scope": 87683, - "src": "14920:20:147", + "scope": 119624, + "src": "15844:20:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17862,10 +31083,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 87657, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14920:7:147", +======= + "id": 119598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15844:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17874,6 +31102,7 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 87661, "initialValue": { "expression": { @@ -17889,22 +31118,51 @@ } }, "id": 87660, +======= + "id": 119602, + "initialValue": { + "expression": { + "id": 119600, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119593, + "src": "15867:2:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 119601, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "14946:9:147", "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": 93584, "src": "14943:12:147", +======= + "memberLocation": "15870:9:163", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 125529, + "src": "15867:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream "src": "14920:35:147" +======= + "src": "15844:35:163" +>>>>>>> Stashed changes }, { "condition": { @@ -17912,18 +31170,31 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 87664, +======= + "id": 119605, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { +<<<<<<< Updated upstream "id": 87662, "name": "lastSyncedAt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87658, "src": "14965:12:147", +======= + "id": 119603, + "name": "lastSyncedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119599, + "src": "15889:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17933,26 +31204,39 @@ "operator": "==", "rightExpression": { "hexValue": "30", +<<<<<<< Updated upstream "id": 87663, +======= + "id": 119604, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "14981:1:147", +======= + "src": "15905:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, +<<<<<<< Updated upstream "src": "14965:17:147", +======= + "src": "15889:17:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, +<<<<<<< Updated upstream "id": 87667, "nodeType": "IfStatement", "src": "14961:31:147", @@ -17960,32 +31244,57 @@ "expression": { "hexValue": "30", "id": 87665, +======= + "id": 119608, + "nodeType": "IfStatement", + "src": "15885:31:163", + "trueBody": { + "expression": { + "hexValue": "30", + "id": 119606, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", +<<<<<<< Updated upstream "src": "14991:1:147", +======= + "src": "15915:1:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, +<<<<<<< Updated upstream "functionReturnParameters": 87649, "id": 87666, "nodeType": "Return", "src": "14984:8:147" +======= + "functionReturnParameters": 119590, + "id": 119607, + "nodeType": "Return", + "src": "15908:8:163" +>>>>>>> Stashed changes } }, { "assignments": [ +<<<<<<< Updated upstream 87669 +======= + 119610 +>>>>>>> Stashed changes ], "declarations": [ { "constant": false, +<<<<<<< Updated upstream "id": 87669, "mutability": "mutable", "name": "passedDuration", @@ -17993,6 +31302,15 @@ "nodeType": "VariableDeclaration", "scope": 87683, "src": "14999:22:147", +======= + "id": 119610, + "mutability": "mutable", + "name": "passedDuration", + "nameLocation": "15931:14:163", + "nodeType": "VariableDeclaration", + "scope": 119624, + "src": "15923:22:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18000,10 +31318,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 87668, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14999:7:147", +======= + "id": 119609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15923:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18012,39 +31337,66 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "id": 87674, +======= + "id": 119615, +>>>>>>> Stashed changes "initialValue": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, +<<<<<<< Updated upstream "id": 87673, +======= + "id": 119614, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { +<<<<<<< Updated upstream "id": 87670, +======= + "id": 119611, +>>>>>>> Stashed changes "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, +<<<<<<< Updated upstream "src": "15024:5:147", +======= + "src": "15948:5:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, +<<<<<<< Updated upstream "id": 87671, +======= + "id": 119612, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "15030:9:147", "memberName": "timestamp", "nodeType": "MemberAccess", "src": "15024:15:147", +======= + "memberLocation": "15954:9:163", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "15948:15:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18053,31 +31405,49 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { +<<<<<<< Updated upstream "id": 87672, "name": "lastSyncedAt", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87658, "src": "15042:12:147", +======= + "id": 119613, + "name": "lastSyncedAt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119599, + "src": "15966:12:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "src": "15024:30:147", +======= + "src": "15948:30:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", +<<<<<<< Updated upstream "src": "14999:55:147" +======= + "src": "15923:55:163" +>>>>>>> Stashed changes }, { "expression": { "arguments": [ { "expression": { +<<<<<<< Updated upstream "id": 87677, "name": "dp", "nodeType": "Identifier", @@ -18090,39 +31460,79 @@ } }, "id": 87678, +======= + "id": 119618, + "name": "dp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119593, + "src": "16020:2:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimestampWrapper_$125530_storage_ptr", + "typeString": "struct TimestampWrapper storage pointer" + } + }, + "id": 119619, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "15099:5:147", "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": 93582, "src": "15096:8:147", +======= + "memberLocation": "16023:5:163", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 125527, + "src": "16020:8:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { +<<<<<<< Updated upstream "id": 87679, "name": "MAX_PERCENTAGE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86368, "src": "15112:14:147", +======= + "id": 119620, + "name": "MAX_PERCENTAGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118283, + "src": "16036:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint64", "typeString": "uint64" } }, { +<<<<<<< Updated upstream "id": 87680, "name": "passedDuration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 87669, "src": "15133:14:147", +======= + "id": 119621, + "name": "passedDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119610, + "src": "16057:14:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18145,6 +31555,7 @@ } ], "expression": { +<<<<<<< Updated upstream "id": 87675, "name": "_dpDownScaler", "nodeType": "Identifier", @@ -18157,10 +31568,25 @@ } }, "id": 87676, +======= + "id": 119616, + "name": "_dpDownScaler", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 118324, + "src": "15991:13:163", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PeriodScaler_$125607_storage", + "typeString": "struct PeriodScaler storage ref" + } + }, + "id": 119617, +>>>>>>> Stashed changes "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, +<<<<<<< Updated upstream "memberLocation": "15081:9:147", "memberName": "scaleDown", "nodeType": "MemberAccess", @@ -18172,15 +31598,34 @@ } }, "id": 87681, +======= + "memberLocation": "16005:9:163", + "memberName": "scaleDown", + "nodeType": "MemberAccess", + "referencedDeclaration": 125697, + "src": "15991:23:163", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_PeriodScaler_$125607_memory_ptr_$_t_uint256_$_t_uint64_$_t_uint256_$returns$_t_uint256_$attached_to$_t_struct$_PeriodScaler_$125607_memory_ptr_$", + "typeString": "function (struct PeriodScaler memory,uint256,uint64,uint256) pure returns (uint256)" + } + }, + "id": 119622, +>>>>>>> Stashed changes "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [ +<<<<<<< Updated upstream "15093:1:147", "15106:4:147", "15128:3:147" +======= + "16017:1:163", + "16030:4:163", + "16052:3:163" +>>>>>>> Stashed changes ], "names": [ "v", @@ -18188,37 +31633,61 @@ "dur" ], "nodeType": "FunctionCall", +<<<<<<< Updated upstream "src": "15067:83:147", +======= + "src": "15991:83:163", +>>>>>>> Stashed changes "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, +<<<<<<< Updated upstream "functionReturnParameters": 87649, "id": 87682, "nodeType": "Return", "src": "15060:90:147" +======= + "functionReturnParameters": 119590, + "id": 119623, + "nodeType": "Return", + "src": "15984:90:163" +>>>>>>> Stashed changes } ] }, "documentation": { +<<<<<<< Updated upstream "id": 87643, "nodeType": "StructuredDocumentation", "src": "14685:106:147", +======= + "id": 119584, + "nodeType": "StructuredDocumentation", + "src": "15609:106:163", +>>>>>>> Stashed changes "text": " @dev Returns the current domain price applied the business rule: deduced x% each y seconds." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_getDomainPrice", +<<<<<<< Updated upstream "nameLocation": "14803:15:147", "parameters": { "id": 87646, +======= + "nameLocation": "15727:15:163", + "parameters": { + "id": 119587, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 87645, "mutability": "mutable", "name": "lbHash", @@ -18226,6 +31695,15 @@ "nodeType": "VariableDeclaration", "scope": 87684, "src": "14819:14:147", +======= + "id": 119586, + "mutability": "mutable", + "name": "lbHash", + "nameLocation": "15751:6:163", + "nodeType": "VariableDeclaration", + "scope": 119625, + "src": "15743:14:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18233,10 +31711,17 @@ "typeString": "bytes32" }, "typeName": { +<<<<<<< Updated upstream "id": 87644, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "14819:7:147", +======= + "id": 119585, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15743:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -18245,21 +31730,37 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "14818:16:147" }, "returnParameters": { "id": 87649, +======= + "src": "15742:16:163" + }, + "returnParameters": { + "id": 119590, +>>>>>>> Stashed changes "nodeType": "ParameterList", "parameters": [ { "constant": false, +<<<<<<< Updated upstream "id": 87648, +======= + "id": 119589, +>>>>>>> Stashed changes "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", +<<<<<<< Updated upstream "scope": 87684, "src": "14858:7:147", +======= + "scope": 119625, + "src": "15782:7:163", +>>>>>>> Stashed changes "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18267,10 +31768,17 @@ "typeString": "uint256" }, "typeName": { +<<<<<<< Updated upstream "id": 87647, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "14858:7:147", +======= + "id": 119588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15782:7:163", +>>>>>>> Stashed changes "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18279,9 +31787,15 @@ "visibility": "internal" } ], +<<<<<<< Updated upstream "src": "14857:9:147" }, "scope": 87685, +======= + "src": "15781:9:163" + }, + "scope": 119626, +>>>>>>> Stashed changes "stateMutability": "view", "virtual": false, "visibility": "internal" @@ -18291,6 +31805,7 @@ "baseContracts": [ { "baseName": { +<<<<<<< Updated upstream "id": 86334, "name": "Initializable", "nameLocations": [ @@ -18333,6 +31848,50 @@ "id": 86339, "nodeType": "InheritanceSpecifier", "src": "1045:14:147" +======= + "id": 118249, + "name": "Initializable", + "nameLocations": [ + "1005:13:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 101524, + "src": "1005:13:163" + }, + "id": 118250, + "nodeType": "InheritanceSpecifier", + "src": "1005:13:163" + }, + { + "baseName": { + "id": 118251, + "name": "AccessControlEnumerable", + "nameLocations": [ + "1020:23:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 100251, + "src": "1020:23:163" + }, + "id": 118252, + "nodeType": "InheritanceSpecifier", + "src": "1020:23:163" + }, + { + "baseName": { + "id": 118253, + "name": "INSDomainPrice", + "nameLocations": [ + "1045:14:163" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 123609, + "src": "1045:14:163" + }, + "id": 118254, + "nodeType": "InheritanceSpecifier", + "src": "1045:14:163" +>>>>>>> Stashed changes } ], "canonicalName": "RNSDomainPrice", @@ -18340,6 +31899,7 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ +<<<<<<< Updated upstream 87685, 91664, 69333, @@ -18376,16 +31936,62 @@ 91435, 91444, 91456 +======= + 119626, + 123609, + 100251, + 100126, + 103955, + 103967, + 100349, + 100324, + 103592, + 101524 + ], + "name": "RNSDomainPrice", + "nameLocation": "987:14:163", + "scope": 119627, + "usedErrors": [ + 123300, + 123302, + 123304, + 123306, + 125614, + 126229, + 126237 + ], + "usedEvents": [ + 100263, + 100272, + 100281, + 101370, + 123329, + 123336, + 123345, + 123354, + 123364, + 123377, + 123386, + 123398 +>>>>>>> Stashed changes ] } ], "license": "MIT" }, +<<<<<<< Updated upstream "blockNumber": 24931477, "bytecode": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6133f880620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063700213c81161011a578063cff8372f116100ad578063dfef64da1161007c578063dfef64da146104e7578063e229a670146104fa578063f4651f491461050d578063f5b541a61461052e578063fe303ebf1461055557600080fd5b8063cff8372f1461049b578063d40ed58c146104ae578063d547741f146104c1578063dd28776d146104d457600080fd5b80639010d07c116100e95780639010d07c1461044257806391d148541461046d578063a217fddf14610480578063ca15c8731461048857600080fd5b8063700213c8146103df578063713a69a7146103f45780637174026e1461041c5780637e32146a1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf90914610391578063599eaabf146103b15780635c68c830146103c45780635ef32e2c146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046125de565b610568565b60405190151581526020015b60405180910390f35b61023b610236366004612608565b610593565b60405190815260200161021f565b610251610625565b60405161021f9190612621565b61023b61026c366004612608565b6000908152600160208190526040909120015490565b610295610290366004612698565b610702565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d33660046126cd565b61071e565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612741565b610749565b6102956103133660046126cd565b61075e565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f3660046127c6565b6107e1565b60405161021f9190612889565b6102956103bf3660046127c6565b61091a565b61023b6103d23660046128cf565b6109d8565b60375461023b565b61023b6000805160206133a383398151915281565b610407610402366004612a6f565b610a56565b6040805192835260208301919091520161021f565b61023b61042a366004612608565b610a82565b61023b61043d3660046128cf565b610b15565b610455610450366004612aa3565b610b8c565b6040516001600160a01b03909116815260200161021f565b61021361047b3660046126cd565b610bab565b61023b600081565b61023b610496366004612608565b610bd6565b6102956104a9366004612ac5565b610bed565b6102956104bc366004612b48565b610ced565b6102956104cf3660046126cd565b610eb5565b6102956104e2366004612ac5565b610edb565b61023b6104f5366004612a6f565b610fdc565b610295610508366004612c21565b6110c8565b61052061051b366004612c3d565b6110dc565b60405161021f929190612c81565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b610295610563366004612608565b611492565b60006001600160e01b03198216635a05180f60e01b148061058d575061058d826114a6565b92915050565b603554603a5460395460405163052571af60e51b815260009361058d93869360129384936001600160a01b03169263a4ae35e0926105dc92600401918252602082015260400190565b608060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d9190612cbc565b9291906114db565b603854606090806001600160401b0381111561064357610643612940565b60405190808252806020026020018201604052801561068857816020015b60408051808201909152600080825260208201528152602001906001900390816106615790505b5091506000805b828110156106fc57806001019150818482815181106106b0576106b0612d29565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106e6576106e6612d29565b602090810291909101810151015260010161068f565b50505090565b600061070d8161151c565b610718848484611529565b50505050565b6000828152600160208190526040909120015461073a8161151c565b610744838361159b565b505050565b60006107548161151c565b61074483836115bd565b6001600160a01b03811633146107d35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107dd82826116d6565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961080d8161151c565b600061081f8b8b8b8b8b8b8b8b6116f8565b905033816001600160401b0381111561083a5761083a612940565b604051908082528060200260200182016040528015610863578160200160208202803683370190505b50935060005b8281101561090a576108e0828e8e8481811061088757610887612d29565b905060200201358d8d858181106108a0576108a0612d29565b905060200201358c8c868181106108b9576108b9612d29565b905060200201358b8b878181106108d2576108d2612d29565b905060200201356000611746565b8582815181106108f2576108f2612d29565b91151560209283029190910190910152600101610869565b5050505098975050505050505050565b6000805160206133a38339815191526109328161151c565b60006109448a8a8a8a8a8a8a8a6116f8565b90503360005b828110156109ca576109c1828d8d8481811061096857610968612d29565b905060200201358c8c8581811061098157610981612d29565b905060200201358b8b8681811061099a5761099a612d29565b905060200201358a8a878181106109b3576109b3612d29565b905060200201356001611746565b5060010161094a565b505050505050505050505050565b6000603e6000610a1d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f57604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610a70610a6b84805160209091012090565b6117e0565b9150610a7b82610a82565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161058d918491601291829161061d91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190612cbc565b9061185a565b6000603f6000610b5a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f5760405163b34afcf160e01b815260040160405180910390fd5b6000828152600260205260408120610ba490836119b4565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061058d906119c0565b6000805160206133a3833981519152610c058161151c565b83801580610c135750808314155b15610c3157604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610c5057610c50612d29565b9050602002013519925082603f60008b8b85818110610c7157610c71612d29565b9050602002013581526020019081526020016000208190555082898983818110610c9d57610c9d612d29565b90506020020135836001600160a01b03167f5b8d0f05b93072a3e070357b7d9701f1c089233e92359bcbcb2c4b4dd182a15060405160405180910390a4600101610c36565b505050505050505050565b600054610100900460ff1615808015610d0d5750600054600160ff909116105b80610d275750303b158015610d27575060005460ff166001145b610d8a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ca565b6000805460ff191660011790558015610dad576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610e1257610e0a828f8f84818110610df057610df0612d29565b9050602002016020810190610e059190612d3f565b6119ca565b600101610dd2565b50603680546001600160a01b0319166001600160a01b038816179055610e3960008f6119ca565b610e438b8b6115bd565b610e4c896119d4565b610e5588611a09565b610e60878686611529565b505080156109ca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610ed18161151c565b61074483836116d6565b6000805160206133a3833981519152610ef38161151c565b83801580610f015750808314155b15610f1f57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610f3e57610f3e612d29565b9050602002013519925082603e60008b8b85818110610f5f57610f5f612d29565b90506020020135815260200190815260200160002081905550888882818110610f8a57610f8a612d29565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf6621485604051610fcc91815260200190565b60405180910390a3600101610f24565b80516020808301919091206000818152603f9092526040822054801561100457199392505050565b6000828152603e60205260408120549081810361105657603c600061103361102b89611a85565b603854611b73565b8152602001908152602001600020546301e133806110519190612d72565b611065565b61106582196301e13380612d72565b905060006002611074866117e0565b61107e9190612d9f565b6110889083612db3565b9050680ad78ebc5ac62000008111156110a95760015b979650505050505050565b6802b5e3af16b18800008111156110c157600261109e565b600361109e565b60006110d38161151c565b6107dd82611a09565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600061110f85611a85565b855160208701209091506000906000818152603e602052604090205490915080156111465761113f811987612d72565b8552611465565b6000603c600061115886603854611b73565b815260200190815260200160002054905080876111759190612d72565b865260006111b47fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888a6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa158015611200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112249190612dd6565b15611461576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128d9190612df1565b90506000611328826001600160a01b03166303e9e609866040518263ffffffff1660e01b81526004016112c291815260200190565b600060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612e98565b60200151604001516001600160401b03168c6001600160401b038016611b89565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113979190612f9f565b5060408101516060015190915080158015906114255750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611410919061303c565b6001600160401b03166114238285613059565b115b1561144357604051631bb03f9d60e01b815260040160405180910390fd5b61145a6037546114528b6117e0565b612710611bbf565b8b52505050505b5050505b835161147090610a82565b6020850152845161148090610a82565b60208601525092959194509092505050565b600061149d8161151c565b6107dd826119d4565b60006001600160e01b03198216637965db0b60e01b148061058d57506301ffc9a760e01b6001600160e01b031983161461058d565b600061151184611501876000015160070b8860400151866114fc919061306c565b611ca9565b61150c600187611ca9565b611bbf565b90505b949350505050565b6115268133611d03565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161158e91815260200190565b60405180910390a4505050565b6115a58282611d5c565b60008281526002602052604090206107449082611dc7565b60408051808201909152600080825260208201523390603854839060005b82811015611688578686828181106115f5576115f5612d29565b90506040020180360381019061160b9190613093565b935061161b828560000151611ddc565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161167891815260200190565b60405180910390a36001016115db565b5060385481146116ce57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6116e08282611deb565b60008281526002602052604090206107449082611e52565b868015806117065750858114155b806117115750838114155b8061171c5750818114155b1561173a57604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061175286610593565b6000888152603d60205260409020909150838061176f5750805482115b925082156117c957818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611804575060009392505050565b60006118108242613059565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611851919061271084611e67565b95945050505050565b6040805160808101825260008082526020820181905291810182905260608101919091526000611893600185604001516114fc906130c5565b90506001600160ff1b038111156118c9576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107ca565b60006118d960016114fc866130c5565b90506001600160ff1b0381111561190957604051633e87ca5d60e11b8152600385900b60048201526024016107ca565b845160009060070b61191b83856130e8565b6119259190613118565b9050677fffffffffffffff81131561197157604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107ca565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610ba48383611f32565b600061058d825490565b6107dd828261159b565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b611a16828261315b565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc64611a48602084018461319d565b611a5860408501602086016131ba565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b600080600080845190505b80831015611b6b576000858481518110611aac57611aac612d29565b01602001516001600160f81b0319169050600160ff1b811015611ad457600184019350611b5f565b600760fd1b6001600160f81b031982161015611af557600284019350611b5f565b600f60fc1b6001600160f81b031982161015611b1657600384019350611b5f565b601f60fb1b6001600160f81b031982161015611b3757600484019350611b5f565b603f60fa1b6001600160f81b031982161015611b5857600584019350611b5f565b6006840193505b50600190910190611a90565b509392505050565b6000818310611b825781610ba4565b5090919050565b600081841180611b9857508183115b15611ba4575080610ba4565b611bae8484611f5c565b905081811115610ba4575092915050565b6000808060001985870985870292508281108382030391505080600003611bf957838281611bef57611bef612d89565b0492505050610ba4565b808411611c405760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107ca565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000808260030b1215611cdb57611cbf826130c5565b611cca90600a6132bb565b611cd49084612d9f565b905061058d565b60008260030b1315611cfc57611cf282600a6132bb565b611cd49084612d72565b508161058d565b611d0d8282610bab565b6107dd57611d1a81611f70565b611d25836020611f82565b604051602001611d369291906132cd565b60408051601f198184030181529082905262461bcd60e51b82526107ca91600401613342565b611d668282610bab565b6107dd5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610ba4836001600160a01b03841661211d565b6000818311611b825781610ba4565b611df58282610bab565b156107dd5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610ba4836001600160a01b03841661216c565b60008085602001516001600160401b031683611e839190612d9f565b9050801580611e9a575085516001600160c01b0316155b15611ea85784915050611514565b85516001600160c01b03166001600160401b03851603611ecc576000915050611514565b61ffff811115611ef257604051637359f25f60e01b8152600481018290526024016107ca565b6000611f228760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611bbf565b905061109e86826127108561225f565b6000826000018281548110611f4957611f49612d29565b9060005260206000200154905092915050565b8181018281101561058d575060001961058d565b606061058d6001600160a01b03831660145b60606000611f91836002612d72565b611f9c906002612db3565b6001600160401b03811115611fb357611fb3612940565b6040519080825280601f01601f191660200182016040528015611fdd576020820181803683370190505b509050600360fc1b81600081518110611ff857611ff8612d29565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061202757612027612d29565b60200101906001600160f81b031916908160001a905350600061204b846002612d72565b612056906001612db3565b90505b60018111156120ce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061208a5761208a612d29565b1a60f81b8282815181106120a0576120a0612d29565b60200101906001600160f81b031916908160001a90535060049490941c936120c781613375565b9050612059565b508315610ba45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ca565b60008181526001830160205260408120546121645750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561058d565b50600061058d565b60008181526001830160205260408120548015612255576000612190600183613059565b85549091506000906121a490600190613059565b90508181146122095760008660000182815481106121c4576121c4612d29565b90600052602060002001549050808760000184815481106121e7576121e7612d29565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061221a5761221a61338c565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061058d565b600091505061058d565b600082841480612271575061ffff8216155b1561227d575083611514565b5083600080808061229e61ffff87166122958a6123c2565b61ffff16611b73565b90505b61ffff8116156122f4576122bb8561ffff83168a0a612593565b909450925083156122d457829450808603955080820191505b6122ed600261ffff83160461ffff168761ffff16611b73565b90506122a1565b505b61ffff8516156123675761230a8488612593565b90935091508215612329576000199094019390925082906001016122f6565b61ffff81161561234e5785848161234257612342612d89565b049350600019016122f6565b612359848888611bbf565b6000199095019493506122f6565b6000612372876123c2565b90505b61ffff8216156123b65760006123938261ffff168461ffff16611b73565b90508061ffff16880a86816123aa576123aa612d89565b04955090910390612375565b50505050949350505050565b600060038210156123d5575060ff919050565b60048210156123e657506080919050565b60108210156123f757506040919050565b61010082101561240957506020919050565b611bdc82101561241b57506014919050565b612c7082101561242d57506013919050565b614aa982101561243f57506012919050565b61855482101561245157506011919050565b6201000082101561246457506010919050565b620218378210156124775750600f919050565b6204e04682101561248a5750600e919050565b620ced4c82101561249d5750600d919050565b622851468210156124b05750600c919050565b629aa2ad8210156124c35750600b919050565b6303080c018210156124d75750600a919050565b6315c5cbbd8210156124eb57506009919050565b64010000000082101561250057506008919050565b6417c6a1f29f82101561251557506007919050565b6506597fa94f5c82101561252b57506006919050565b66093088c35d733b82101561254257506005919050565b6801000000000000000082101561255b57506004919050565b6a285145f31ae515c447bb5782101561257657506003919050565b600160801b82101561258a57506002919050565b5060015b919050565b600080836000036125aa57506001905060006125d7565b838302838582816125bd576125bd612d89565b04146125d05760008092509250506125d7565b6001925090505b9250929050565b6000602082840312156125f057600080fd5b81356001600160e01b031981168114610ba457600080fd5b60006020828403121561261a57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561266b5761265b84835180518252602090810151910152565b928401929085019060010161263e565b5091979650505050505050565b6001600160a01b038116811461152657600080fd5b803561258e81612678565b6000806000606084860312156126ad57600080fd5b83356126b881612678565b95602085013595506040909401359392505050565b600080604083850312156126e057600080fd5b8235915060208301356126f281612678565b809150509250929050565b60008083601f84011261270f57600080fd5b5081356001600160401b0381111561272657600080fd5b6020830191508360208260061b85010111156125d757600080fd5b6000806020838503121561275457600080fd5b82356001600160401b0381111561276a57600080fd5b612776858286016126fd565b90969095509350505050565b60008083601f84011261279457600080fd5b5081356001600160401b038111156127ab57600080fd5b6020830191508360208260051b85010111156125d757600080fd5b6000806000806000806000806080898b0312156127e257600080fd5b88356001600160401b03808211156127f957600080fd5b6128058c838d01612782565b909a50985060208b013591508082111561281e57600080fd5b61282a8c838d01612782565b909850965060408b013591508082111561284357600080fd5b61284f8c838d01612782565b909650945060608b013591508082111561286857600080fd5b506128758b828c01612782565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156128c35783511515835292840192918401916001016128a5565b50909695505050505050565b600080602083850312156128e257600080fd5b82356001600160401b03808211156128f957600080fd5b818501915085601f83011261290d57600080fd5b81358181111561291c57600080fd5b86602082850101111561292e57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561297857612978612940565b60405290565b604080519081016001600160401b038111828210171561297857612978612940565b604051606081016001600160401b038111828210171561297857612978612940565b604051601f8201601f191681016001600160401b03811182821017156129ea576129ea612940565b604052919050565b60006001600160401b03821115612a0b57612a0b612940565b50601f01601f191660200190565b600082601f830112612a2a57600080fd5b8135612a3d612a38826129f2565b6129c2565b818152846020838601011115612a5257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612a8157600080fd5b81356001600160401b03811115612a9757600080fd5b61151484828501612a19565b60008060408385031215612ab657600080fd5b50508035926020909101359150565b60008060008060408587031215612adb57600080fd5b84356001600160401b0380821115612af257600080fd5b612afe88838901612782565b90965094506020870135915080821115612b1757600080fd5b50612b2487828801612782565b95989497509550505050565b600060408284031215612b4257600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612b6a57600080fd5b612b748c35612678565b8b359a506001600160401b038060208e01351115612b9157600080fd5b612ba18e60208f01358f01612782565b909b50995060408d0135811015612bb757600080fd5b50612bc88d60408e01358e016126fd565b909850965060608c01359550612be18d60808e01612b30565b945060c08c0135612bf181612678565b9350612bff60e08d0161268d565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612c3357600080fd5b610ba48383612b30565b60008060408385031215612c5057600080fd5b82356001600160401b03811115612c6657600080fd5b612c7285828601612a19565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610ba4565b6001600160401b038116811461152657600080fd5b600060808284031215612cce57600080fd5b612cd6612956565b82518060070b8114612ce757600080fd5b81526020830151612cf781612ca7565b60208201526040830151600381900b8114612d1157600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612d5157600080fd5b8135610ba481612678565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761058d5761058d612d5c565b634e487b7160e01b600052601260045260246000fd5b600082612dae57612dae612d89565b500490565b8082018082111561058d5761058d612d5c565b8051801515811461258e57600080fd5b600060208284031215612de857600080fd5b610ba482612dc6565b600060208284031215612e0357600080fd5b8151610ba481612678565b60005b83811015612e29578181015183820152602001612e11565b50506000910152565b600060808284031215612e4457600080fd5b612e4c612956565b90508151612e5981612678565b81526020820151612e6981612678565b60208201526040820151612e7c81612ca7565b6040820152612e8d60608301612dc6565b606082015292915050565b60006020808385031215612eab57600080fd5b82516001600160401b0380821115612ec257600080fd5b9084019060a08287031215612ed657600080fd5b612ede61297e565b825182811115612eed57600080fd5b830160608189031215612eff57600080fd5b612f076129a0565b815160ff81168114612f1857600080fd5b81528186015186820152604082015184811115612f3457600080fd5b82019350601f84018913612f4757600080fd5b83519150612f57612a38836129f2565b8281528987848701011115612f6b57600080fd5b612f7a83888301898801612e0e565b6040820152825250612f8e87848601612e32565b848201528094505050505092915050565b60008082840360e0811215612fb357600080fd5b60c0811215612fc157600080fd5b612fc96129a0565b84518152602085015160208201526080603f1983011215612fe957600080fd5b612ff1612956565b9150604085015161300181612678565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b60006020828403121561304e57600080fd5b8151610ba481612ca7565b8181038181111561058d5761058d612d5c565b600381810b9083900b01637fffffff8113637fffffff198212171561058d5761058d612d5c565b6000604082840312156130a557600080fd5b6130ad61297e565b82358152602083013560208201528091505092915050565b60008160030b637fffffff1981036130df576130df612d5c565b60000392915050565b80820260008212600160ff1b8414161561310457613104612d5c565b818105831482151761058d5761058d612d5c565b60008261312757613127612d89565b600160ff1b82146000198414161561314157613141612d5c565b500590565b6001600160c01b038116811461152657600080fd5b813561316681613146565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561319381612ca7565b60c01b1617905550565b6000602082840312156131af57600080fd5b8135610ba481613146565b6000602082840312156131cc57600080fd5b8135610ba481612ca7565b600181815b808511156132125781600019048211156131f8576131f8612d5c565b8085161561320557918102915b93841c93908002906131dc565b509250929050565b6000826132295750600161058d565b816132365750600061058d565b816001811461324c576002811461325657613272565b600191505061058d565b60ff84111561326757613267612d5c565b50506001821b61058d565b5060208310610133831016604e8410600b8410161715613295575081810a61058d565b61329f83836131d7565b80600019048211156132b3576132b3612d5c565b029392505050565b6000610ba463ffffffff84168361321a565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613305816017850160208801612e0e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613336816028840160208801612e0e565b01602801949350505050565b6020815260008251806020840152613361816040850160208701612e0e565b601f01601f19169190910160400192915050565b60008161338457613384612d5c565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada2646970667358221220aa4555fbe062e1770c4b5761698a653314b019545fd8833721e1e457c7ea7bac64736f6c63430008150033", "chainId": 2021, "contractAbsolutePath": "RNSDomainPrice.sol", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063700213c81161011a578063cff8372f116100ad578063dfef64da1161007c578063dfef64da146104e7578063e229a670146104fa578063f4651f491461050d578063f5b541a61461052e578063fe303ebf1461055557600080fd5b8063cff8372f1461049b578063d40ed58c146104ae578063d547741f146104c1578063dd28776d146104d457600080fd5b80639010d07c116100e95780639010d07c1461044257806391d148541461046d578063a217fddf14610480578063ca15c8731461048857600080fd5b8063700213c8146103df578063713a69a7146103f45780637174026e1461041c5780637e32146a1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf90914610391578063599eaabf146103b15780635c68c830146103c45780635ef32e2c146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046125de565b610568565b60405190151581526020015b60405180910390f35b61023b610236366004612608565b610593565b60405190815260200161021f565b610251610625565b60405161021f9190612621565b61023b61026c366004612608565b6000908152600160208190526040909120015490565b610295610290366004612698565b610702565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d33660046126cd565b61071e565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612741565b610749565b6102956103133660046126cd565b61075e565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f3660046127c6565b6107e1565b60405161021f9190612889565b6102956103bf3660046127c6565b61091a565b61023b6103d23660046128cf565b6109d8565b60375461023b565b61023b6000805160206133a383398151915281565b610407610402366004612a6f565b610a56565b6040805192835260208301919091520161021f565b61023b61042a366004612608565b610a82565b61023b61043d3660046128cf565b610b15565b610455610450366004612aa3565b610b8c565b6040516001600160a01b03909116815260200161021f565b61021361047b3660046126cd565b610bab565b61023b600081565b61023b610496366004612608565b610bd6565b6102956104a9366004612ac5565b610bed565b6102956104bc366004612b48565b610ced565b6102956104cf3660046126cd565b610eb5565b6102956104e2366004612ac5565b610edb565b61023b6104f5366004612a6f565b610fdc565b610295610508366004612c21565b6110c8565b61052061051b366004612c3d565b6110dc565b60405161021f929190612c81565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b610295610563366004612608565b611492565b60006001600160e01b03198216635a05180f60e01b148061058d575061058d826114a6565b92915050565b603554603a5460395460405163052571af60e51b815260009361058d93869360129384936001600160a01b03169263a4ae35e0926105dc92600401918252602082015260400190565b608060405180830381865afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d9190612cbc565b9291906114db565b603854606090806001600160401b0381111561064357610643612940565b60405190808252806020026020018201604052801561068857816020015b60408051808201909152600080825260208201528152602001906001900390816106615790505b5091506000805b828110156106fc57806001019150818482815181106106b0576106b0612d29565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106e6576106e6612d29565b602090810291909101810151015260010161068f565b50505090565b600061070d8161151c565b610718848484611529565b50505050565b6000828152600160208190526040909120015461073a8161151c565b610744838361159b565b505050565b60006107548161151c565b61074483836115bd565b6001600160a01b03811633146107d35760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107dd82826116d6565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961080d8161151c565b600061081f8b8b8b8b8b8b8b8b6116f8565b905033816001600160401b0381111561083a5761083a612940565b604051908082528060200260200182016040528015610863578160200160208202803683370190505b50935060005b8281101561090a576108e0828e8e8481811061088757610887612d29565b905060200201358d8d858181106108a0576108a0612d29565b905060200201358c8c868181106108b9576108b9612d29565b905060200201358b8b878181106108d2576108d2612d29565b905060200201356000611746565b8582815181106108f2576108f2612d29565b91151560209283029190910190910152600101610869565b5050505098975050505050505050565b6000805160206133a38339815191526109328161151c565b60006109448a8a8a8a8a8a8a8a6116f8565b90503360005b828110156109ca576109c1828d8d8481811061096857610968612d29565b905060200201358c8c8581811061098157610981612d29565b905060200201358b8b8681811061099a5761099a612d29565b905060200201358a8a878181106109b3576109b3612d29565b905060200201356001611746565b5060010161094a565b505050505050505050505050565b6000603e6000610a1d85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f57604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610a70610a6b84805160209091012090565b6117e0565b9150610a7b82610a82565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161058d918491601291829161061d91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0f9190612cbc565b9061185a565b6000603f6000610b5a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b815260200190815260200160002054905080600003610a4f5760405163b34afcf160e01b815260040160405180910390fd5b6000828152600260205260408120610ba490836119b4565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061058d906119c0565b6000805160206133a3833981519152610c058161151c565b83801580610c135750808314155b15610c3157604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610c5057610c50612d29565b9050602002013519925082603f60008b8b85818110610c7157610c71612d29565b9050602002013581526020019081526020016000208190555082898983818110610c9d57610c9d612d29565b90506020020135836001600160a01b03167f5b8d0f05b93072a3e070357b7d9701f1c089233e92359bcbcb2c4b4dd182a15060405160405180910390a4600101610c36565b505050505050505050565b600054610100900460ff1615808015610d0d5750600054600160ff909116105b80610d275750303b158015610d27575060005460ff166001145b610d8a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ca565b6000805460ff191660011790558015610dad576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610e1257610e0a828f8f84818110610df057610df0612d29565b9050602002016020810190610e059190612d3f565b6119ca565b600101610dd2565b50603680546001600160a01b0319166001600160a01b038816179055610e3960008f6119ca565b610e438b8b6115bd565b610e4c896119d4565b610e5588611a09565b610e60878686611529565b505080156109ca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610ed18161151c565b61074483836116d6565b6000805160206133a3833981519152610ef38161151c565b83801580610f015750808314155b15610f1f57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610ce257868682818110610f3e57610f3e612d29565b9050602002013519925082603e60008b8b85818110610f5f57610f5f612d29565b90506020020135815260200190815260200160002081905550888882818110610f8a57610f8a612d29565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf6621485604051610fcc91815260200190565b60405180910390a3600101610f24565b80516020808301919091206000818152603f9092526040822054801561100457199392505050565b6000828152603e60205260408120549081810361105657603c600061103361102b89611a85565b603854611b73565b8152602001908152602001600020546301e133806110519190612d72565b611065565b61106582196301e13380612d72565b905060006002611074866117e0565b61107e9190612d9f565b6110889083612db3565b9050680ad78ebc5ac62000008111156110a95760015b979650505050505050565b6802b5e3af16b18800008111156110c157600261109e565b600361109e565b60006110d38161151c565b6107dd82611a09565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600061110f85611a85565b855160208701209091506000906000818152603e602052604090205490915080156111465761113f811987612d72565b8552611465565b6000603c600061115886603854611b73565b815260200190815260200160002054905080876111759190612d72565b865260006111b47fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888a6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa158015611200573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112249190612dd6565b15611461576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128d9190612df1565b90506000611328826001600160a01b03166303e9e609866040518263ffffffff1660e01b81526004016112c291815260200190565b600060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612e98565b60200151604001516001600160401b03168c6001600160401b038016611b89565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611373573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113979190612f9f565b5060408101516060015190915080158015906114255750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611410919061303c565b6001600160401b03166114238285613059565b115b1561144357604051631bb03f9d60e01b815260040160405180910390fd5b61145a6037546114528b6117e0565b612710611bbf565b8b52505050505b5050505b835161147090610a82565b6020850152845161148090610a82565b60208601525092959194509092505050565b600061149d8161151c565b6107dd826119d4565b60006001600160e01b03198216637965db0b60e01b148061058d57506301ffc9a760e01b6001600160e01b031983161461058d565b600061151184611501876000015160070b8860400151866114fc919061306c565b611ca9565b61150c600187611ca9565b611bbf565b90505b949350505050565b6115268133611d03565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161158e91815260200190565b60405180910390a4505050565b6115a58282611d5c565b60008281526002602052604090206107449082611dc7565b60408051808201909152600080825260208201523390603854839060005b82811015611688578686828181106115f5576115f5612d29565b90506040020180360381019061160b9190613093565b935061161b828560000151611ddc565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161167891815260200190565b60405180910390a36001016115db565b5060385481146116ce57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6116e08282611deb565b60008281526002602052604090206107449082611e52565b868015806117065750858114155b806117115750838114155b8061171c5750818114155b1561173a57604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061175286610593565b6000888152603d60205260409020909150838061176f5750805482115b925082156117c957818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611804575060009392505050565b60006118108242613059565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611851919061271084611e67565b95945050505050565b6040805160808101825260008082526020820181905291810182905260608101919091526000611893600185604001516114fc906130c5565b90506001600160ff1b038111156118c9576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107ca565b60006118d960016114fc866130c5565b90506001600160ff1b0381111561190957604051633e87ca5d60e11b8152600385900b60048201526024016107ca565b845160009060070b61191b83856130e8565b6119259190613118565b9050677fffffffffffffff81131561197157604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107ca565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610ba48383611f32565b600061058d825490565b6107dd828261159b565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b611a16828261315b565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc64611a48602084018461319d565b611a5860408501602086016131ba565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b600080600080845190505b80831015611b6b576000858481518110611aac57611aac612d29565b01602001516001600160f81b0319169050600160ff1b811015611ad457600184019350611b5f565b600760fd1b6001600160f81b031982161015611af557600284019350611b5f565b600f60fc1b6001600160f81b031982161015611b1657600384019350611b5f565b601f60fb1b6001600160f81b031982161015611b3757600484019350611b5f565b603f60fa1b6001600160f81b031982161015611b5857600584019350611b5f565b6006840193505b50600190910190611a90565b509392505050565b6000818310611b825781610ba4565b5090919050565b600081841180611b9857508183115b15611ba4575080610ba4565b611bae8484611f5c565b905081811115610ba4575092915050565b6000808060001985870985870292508281108382030391505080600003611bf957838281611bef57611bef612d89565b0492505050610ba4565b808411611c405760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107ca565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000808260030b1215611cdb57611cbf826130c5565b611cca90600a6132bb565b611cd49084612d9f565b905061058d565b60008260030b1315611cfc57611cf282600a6132bb565b611cd49084612d72565b508161058d565b611d0d8282610bab565b6107dd57611d1a81611f70565b611d25836020611f82565b604051602001611d369291906132cd565b60408051601f198184030181529082905262461bcd60e51b82526107ca91600401613342565b611d668282610bab565b6107dd5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610ba4836001600160a01b03841661211d565b6000818311611b825781610ba4565b611df58282610bab565b156107dd5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610ba4836001600160a01b03841661216c565b60008085602001516001600160401b031683611e839190612d9f565b9050801580611e9a575085516001600160c01b0316155b15611ea85784915050611514565b85516001600160c01b03166001600160401b03851603611ecc576000915050611514565b61ffff811115611ef257604051637359f25f60e01b8152600481018290526024016107ca565b6000611f228760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611bbf565b905061109e86826127108561225f565b6000826000018281548110611f4957611f49612d29565b9060005260206000200154905092915050565b8181018281101561058d575060001961058d565b606061058d6001600160a01b03831660145b60606000611f91836002612d72565b611f9c906002612db3565b6001600160401b03811115611fb357611fb3612940565b6040519080825280601f01601f191660200182016040528015611fdd576020820181803683370190505b509050600360fc1b81600081518110611ff857611ff8612d29565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061202757612027612d29565b60200101906001600160f81b031916908160001a905350600061204b846002612d72565b612056906001612db3565b90505b60018111156120ce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061208a5761208a612d29565b1a60f81b8282815181106120a0576120a0612d29565b60200101906001600160f81b031916908160001a90535060049490941c936120c781613375565b9050612059565b508315610ba45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107ca565b60008181526001830160205260408120546121645750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561058d565b50600061058d565b60008181526001830160205260408120548015612255576000612190600183613059565b85549091506000906121a490600190613059565b90508181146122095760008660000182815481106121c4576121c4612d29565b90600052602060002001549050808760000184815481106121e7576121e7612d29565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061221a5761221a61338c565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061058d565b600091505061058d565b600082841480612271575061ffff8216155b1561227d575083611514565b5083600080808061229e61ffff87166122958a6123c2565b61ffff16611b73565b90505b61ffff8116156122f4576122bb8561ffff83168a0a612593565b909450925083156122d457829450808603955080820191505b6122ed600261ffff83160461ffff168761ffff16611b73565b90506122a1565b505b61ffff8516156123675761230a8488612593565b90935091508215612329576000199094019390925082906001016122f6565b61ffff81161561234e5785848161234257612342612d89565b049350600019016122f6565b612359848888611bbf565b6000199095019493506122f6565b6000612372876123c2565b90505b61ffff8216156123b65760006123938261ffff168461ffff16611b73565b90508061ffff16880a86816123aa576123aa612d89565b04955090910390612375565b50505050949350505050565b600060038210156123d5575060ff919050565b60048210156123e657506080919050565b60108210156123f757506040919050565b61010082101561240957506020919050565b611bdc82101561241b57506014919050565b612c7082101561242d57506013919050565b614aa982101561243f57506012919050565b61855482101561245157506011919050565b6201000082101561246457506010919050565b620218378210156124775750600f919050565b6204e04682101561248a5750600e919050565b620ced4c82101561249d5750600d919050565b622851468210156124b05750600c919050565b629aa2ad8210156124c35750600b919050565b6303080c018210156124d75750600a919050565b6315c5cbbd8210156124eb57506009919050565b64010000000082101561250057506008919050565b6417c6a1f29f82101561251557506007919050565b6506597fa94f5c82101561252b57506006919050565b66093088c35d733b82101561254257506005919050565b6801000000000000000082101561255b57506004919050565b6a285145f31ae515c447bb5782101561257657506003919050565b600160801b82101561258a57506002919050565b5060015b919050565b600080836000036125aa57506001905060006125d7565b838302838582816125bd576125bd612d89565b04146125d05760008092509250506125d7565b6001925090505b9250929050565b6000602082840312156125f057600080fd5b81356001600160e01b031981168114610ba457600080fd5b60006020828403121561261a57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561266b5761265b84835180518252602090810151910152565b928401929085019060010161263e565b5091979650505050505050565b6001600160a01b038116811461152657600080fd5b803561258e81612678565b6000806000606084860312156126ad57600080fd5b83356126b881612678565b95602085013595506040909401359392505050565b600080604083850312156126e057600080fd5b8235915060208301356126f281612678565b809150509250929050565b60008083601f84011261270f57600080fd5b5081356001600160401b0381111561272657600080fd5b6020830191508360208260061b85010111156125d757600080fd5b6000806020838503121561275457600080fd5b82356001600160401b0381111561276a57600080fd5b612776858286016126fd565b90969095509350505050565b60008083601f84011261279457600080fd5b5081356001600160401b038111156127ab57600080fd5b6020830191508360208260051b85010111156125d757600080fd5b6000806000806000806000806080898b0312156127e257600080fd5b88356001600160401b03808211156127f957600080fd5b6128058c838d01612782565b909a50985060208b013591508082111561281e57600080fd5b61282a8c838d01612782565b909850965060408b013591508082111561284357600080fd5b61284f8c838d01612782565b909650945060608b013591508082111561286857600080fd5b506128758b828c01612782565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b818110156128c35783511515835292840192918401916001016128a5565b50909695505050505050565b600080602083850312156128e257600080fd5b82356001600160401b03808211156128f957600080fd5b818501915085601f83011261290d57600080fd5b81358181111561291c57600080fd5b86602082850101111561292e57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561297857612978612940565b60405290565b604080519081016001600160401b038111828210171561297857612978612940565b604051606081016001600160401b038111828210171561297857612978612940565b604051601f8201601f191681016001600160401b03811182821017156129ea576129ea612940565b604052919050565b60006001600160401b03821115612a0b57612a0b612940565b50601f01601f191660200190565b600082601f830112612a2a57600080fd5b8135612a3d612a38826129f2565b6129c2565b818152846020838601011115612a5257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612a8157600080fd5b81356001600160401b03811115612a9757600080fd5b61151484828501612a19565b60008060408385031215612ab657600080fd5b50508035926020909101359150565b60008060008060408587031215612adb57600080fd5b84356001600160401b0380821115612af257600080fd5b612afe88838901612782565b90965094506020870135915080821115612b1757600080fd5b50612b2487828801612782565b95989497509550505050565b600060408284031215612b4257600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612b6a57600080fd5b612b748c35612678565b8b359a506001600160401b038060208e01351115612b9157600080fd5b612ba18e60208f01358f01612782565b909b50995060408d0135811015612bb757600080fd5b50612bc88d60408e01358e016126fd565b909850965060608c01359550612be18d60808e01612b30565b945060c08c0135612bf181612678565b9350612bff60e08d0161268d565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612c3357600080fd5b610ba48383612b30565b60008060408385031215612c5057600080fd5b82356001600160401b03811115612c6657600080fd5b612c7285828601612a19565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610ba4565b6001600160401b038116811461152657600080fd5b600060808284031215612cce57600080fd5b612cd6612956565b82518060070b8114612ce757600080fd5b81526020830151612cf781612ca7565b60208201526040830151600381900b8114612d1157600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612d5157600080fd5b8135610ba481612678565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761058d5761058d612d5c565b634e487b7160e01b600052601260045260246000fd5b600082612dae57612dae612d89565b500490565b8082018082111561058d5761058d612d5c565b8051801515811461258e57600080fd5b600060208284031215612de857600080fd5b610ba482612dc6565b600060208284031215612e0357600080fd5b8151610ba481612678565b60005b83811015612e29578181015183820152602001612e11565b50506000910152565b600060808284031215612e4457600080fd5b612e4c612956565b90508151612e5981612678565b81526020820151612e6981612678565b60208201526040820151612e7c81612ca7565b6040820152612e8d60608301612dc6565b606082015292915050565b60006020808385031215612eab57600080fd5b82516001600160401b0380821115612ec257600080fd5b9084019060a08287031215612ed657600080fd5b612ede61297e565b825182811115612eed57600080fd5b830160608189031215612eff57600080fd5b612f076129a0565b815160ff81168114612f1857600080fd5b81528186015186820152604082015184811115612f3457600080fd5b82019350601f84018913612f4757600080fd5b83519150612f57612a38836129f2565b8281528987848701011115612f6b57600080fd5b612f7a83888301898801612e0e565b6040820152825250612f8e87848601612e32565b848201528094505050505092915050565b60008082840360e0811215612fb357600080fd5b60c0811215612fc157600080fd5b612fc96129a0565b84518152602085015160208201526080603f1983011215612fe957600080fd5b612ff1612956565b9150604085015161300181612678565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b60006020828403121561304e57600080fd5b8151610ba481612ca7565b8181038181111561058d5761058d612d5c565b600381810b9083900b01637fffffff8113637fffffff198212171561058d5761058d612d5c565b6000604082840312156130a557600080fd5b6130ad61297e565b82358152602083013560208201528091505092915050565b60008160030b637fffffff1981036130df576130df612d5c565b60000392915050565b80820260008212600160ff1b8414161561310457613104612d5c565b818105831482151761058d5761058d612d5c565b60008261312757613127612d89565b600160ff1b82146000198414161561314157613141612d5c565b500590565b6001600160c01b038116811461152657600080fd5b813561316681613146565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561319381612ca7565b60c01b1617905550565b6000602082840312156131af57600080fd5b8135610ba481613146565b6000602082840312156131cc57600080fd5b8135610ba481612ca7565b600181815b808511156132125781600019048211156131f8576131f8612d5c565b8085161561320557918102915b93841c93908002906131dc565b509250929050565b6000826132295750600161058d565b816132365750600061058d565b816001811461324c576002811461325657613272565b600191505061058d565b60ff84111561326757613267612d5c565b50506001821b61058d565b5060208310610133831016604e8410600b8410161715613295575081810a61058d565b61329f83836131d7565b80600019048211156132b3576132b3612d5c565b029392505050565b6000610ba463ffffffff84168361321a565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613305816017850160208801612e0e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613336816028840160208801612e0e565b01602801949350505050565b6020815260008251806020840152613361816040850160208701612e0e565b601f01601f19169190910160400192915050565b60008161338457613384612d5c565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada2646970667358221220aa4555fbe062e1770c4b5761698a653314b019545fd8833721e1e457c7ea7bac64736f6c63430008150033", +======= + "blockNumber": 25510211, + "bytecode": "0x60806040526200000e62000014565b620000d5565b600054610100900460ff1615620000815760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000d3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61351380620000e56000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635ef32e2c1161011a578063ca15c873116100ad578063dfef64da1161007c578063dfef64da146104f4578063e229a67014610507578063f4651f491461051a578063f5b541a61461053b578063fe303ebf1461056257600080fd5b8063ca15c873146104a8578063d40ed58c146104bb578063d547741f146104ce578063dd28776d146104e157600080fd5b80637e32146a116100e95780637e32146a146104425780639010d07c1461046257806391d148541461048d578063a217fddf146104a057600080fd5b80635ef32e2c146103ea578063700213c8146103f2578063713a69a7146104075780637174026e1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf9091461039157806359228107146103b1578063599eaabf146103c45780635c68c830146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046126a2565b610575565b60405190151581526020015b60405180910390f35b61023b6102363660046126cc565b6105a0565b60405190815260200161021f565b610251610632565b60405161021f91906126e5565b61023b61026c3660046126cc565b6000908152600160208190526040909120015490565b61029561029036600461275c565b61070f565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d3366004612791565b61072b565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612805565b610756565b610295610313366004612791565b61076b565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f36600461288a565b6107ee565b60405161021f919061294d565b6102956103bf366004612993565b610927565b6102956103d236600461288a565b610a91565b61023b6103e53660046129fe565b610b4f565b60375461023b565b61023b6000805160206134be83398151915281565b61041a610415366004612b9e565b610bcd565b6040805192835260208301919091520161021f565b61023b61043d3660046126cc565b610bf9565b6104556104503660046129fe565b610c8c565b60405161021f9190612be8565b610475610470366004612c10565b610d28565b6040516001600160a01b03909116815260200161021f565b61021361049b366004612791565b610d47565b61023b600081565b61023b6104b63660046126cc565b610d72565b6102956104c9366004612c4a565b610d89565b6102956104dc366004612791565b610f51565b6102956104ef366004612993565b610f77565b610455610502366004612b9e565b611078565b610295610515366004612d23565b611130565b61052d610528366004612d3f565b611144565b60405161021f929190612d83565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6102956105703660046126cc565b6111a1565b60006001600160e01b03198216635a05180f60e01b148061059a575061059a826111b5565b92915050565b603554603a5460395460405163052571af60e51b815260009361059a93869360129384936001600160a01b03169263a4ae35e0926105e992600401918252602082015260400190565b608060405180830381865afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190612dbe565b9291906111ea565b603854606090806001600160401b0381111561065057610650612a6f565b60405190808252806020026020018201604052801561069557816020015b604080518082019091526000808252602082015281526020019060019003908161066e5790505b5091506000805b8281101561070957806001019150818482815181106106bd576106bd612e2b565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106f3576106f3612e2b565b602090810291909101810151015260010161069c565b50505090565b600061071a81611229565b610725848484611236565b50505050565b6000828152600160208190526040909120015461074781611229565b61075183836112a8565b505050565b600061076181611229565b61075183836112ca565b6001600160a01b03811633146107e05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107ea82826113e3565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961081a81611229565b600061082c8b8b8b8b8b8b8b8b611405565b905033816001600160401b0381111561084757610847612a6f565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50935060005b82811015610917576108ed828e8e8481811061089457610894612e2b565b905060200201358d8d858181106108ad576108ad612e2b565b905060200201358c8c868181106108c6576108c6612e2b565b905060200201358b8b878181106108df576108df612e2b565b905060200201356000611453565b8582815181106108ff576108ff612e2b565b91151560209283029190910190910152600101610876565b5050505098975050505050505050565b6000805160206134be83398151915261093f81611229565b8380158061094d5750808314155b1561096b57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a865786868281811061098a5761098a612e2b565b905060200201602081019061099f9190612e41565b60038111156109b0576109b0612bd2565b19925082603f60008b8b858181106109ca576109ca612e2b565b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550868682818110610a0957610a09612e2b565b9050602002016020810190610a1e9190612e41565b6003811115610a2f57610a2f612bd2565b898983818110610a4157610a41612e2b565b90506020020135836001600160a01b03167f3f340e5d69d5f452290191bb7d417287ccd8896c4e4852a95c3702a834993ab160405160405180910390a4600101610970565b505050505050505050565b6000805160206134be833981519152610aa981611229565b6000610abb8a8a8a8a8a8a8a8a611405565b90503360005b82811015610b4157610b38828d8d84818110610adf57610adf612e2b565b905060200201358c8c85818110610af857610af8612e2b565b905060200201358b8b86818110610b1157610b11612e2b565b905060200201358a8a87818110610b2a57610b2a612e2b565b905060200201356001611453565b50600101610ac1565b505050505050505050505050565b6000603e6000610b9485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b815260200190815260200160002054905080600003610bc657604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610be7610be284805160209091012090565b6114ed565b9150610bf282610bf9565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161059a918491601291829161062a91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c869190612dbe565b9061155e565b600080603f6000610cd286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b8152602081019190915260400160009081205460ff169150819003610d0a5760405163b34afcf160e01b815260040160405180910390fd5b801960ff166003811115610d2057610d20612bd2565b949350505050565b6000828152600260205260408120610d4090836116b8565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061059a906116c4565b600054610100900460ff1615808015610da95750600054600160ff909116105b80610dc35750303b158015610dc3575060005460ff166001145b610e265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d7565b6000805460ff191660011790558015610e49576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610eae57610ea6828f8f84818110610e8c57610e8c612e2b565b9050602002016020810190610ea19190612e62565b6116ce565b600101610e6e565b50603680546001600160a01b0319166001600160a01b038816179055610ed560008f6116ce565b610edf8b8b6112ca565b610ee8896116d8565b610ef18861170d565b610efc878686611236565b50508015610b41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610f6d81611229565b61075183836113e3565b6000805160206134be833981519152610f8f81611229565b83801580610f9d5750808314155b15610fbb57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a8657868682818110610fda57610fda612e2b565b9050602002013519925082603e60008b8b85818110610ffb57610ffb612e2b565b9050602002013581526020019081526020016000208190555088888281811061102657611026612e2b565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf662148560405161106891815260200190565b60405180910390a3600101610fc0565b80516020808301919091206000818152603f909252604082205460ff1680156110b157801960ff166003811115610d2057610d20612bd2565b60006110c1856301e13380611789565b50509050600060026110d2856114ed565b6110dc9190612eab565b82516110e89190612ebf565b9050680ad78ebc5ac62000008111156111075750600195945050505050565b6802b5e3af16b18800008111156111245750600295945050505050565b50600395945050505050565b600061113b81611229565b6107ea8261170d565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260006111788585611789565b919450925090506001600160e01b0319811615611199578060005260046000fd5b509250929050565b60006111ac81611229565b6107ea826116d8565b60006001600160e01b03198216637965db0b60e01b148061059a57506301ffc9a760e01b6001600160e01b031983161461059a565b600061122084611210876000015160070b88604001518661120b9190612ed2565b611b3f565b61121b600187611b3f565b611b99565b95945050505050565b6112338133611c82565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161129b91815260200190565b60405180910390a4505050565b6112b28282611cdb565b60008281526002602052604090206107519082611d46565b60408051808201909152600080825260208201523390603854839060005b828110156113955786868281811061130257611302612e2b565b9050604002018036038101906113189190612ef9565b9350611328828560000151611d5b565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161138591815260200190565b60405180910390a36001016112e8565b5060385481146113db57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6113ed8282611d71565b60008281526002602052604090206107519082611dd8565b868015806114135750858114155b8061141e5750838114155b806114295750818114155b1561144757604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061145f866105a0565b6000888152603d60205260409020909150838061147c5750805482115b925082156114d657818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611511575060009392505050565b600061151d8242612f2b565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611220919061271084611ded565b60408051608081018252600080825260208201819052918101829052606081019190915260006115976001856040015161120b90612f3e565b90506001600160ff1b038111156115cd576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107d7565b60006115dd600161120b86612f3e565b90506001600160ff1b0381111561160d57604051633e87ca5d60e11b8152600385900b60048201526024016107d7565b845160009060070b61161f8385612f61565b6116299190612f91565b9050677fffffffffffffff81131561167557604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107d7565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610d408383611ec3565b600061059a825490565b6107ea82826112a8565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b61171a8282612fd4565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc6461174c6020840184613016565b61175c6040850160208601613033565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b604080518082019091526000808252602082015260408051808201909152600080825260208201526000806117bd86611eed565b865160208801209091506000906000818152603e602052604090205490915080156117f4576117ed811988613050565b8652611b14565b6000603c600061180686603854611fdb565b815260200190815260200160002054905080886118239190613050565b875260006118627fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888b6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d29190613077565b15611b10576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613092565b905060006119d6826001600160a01b03166303e9e609866040518263ffffffff1660e01b815260040161197091815260200190565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b59190810190613139565b60200151604001516001600160401b03168d6001600160401b038016611fea565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190613240565b506040810151606001519091508015801590611ad35750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906132dd565b6001600160401b0316611ad18285612f2b565b115b15611af25750631bb03f9d60e01b9950611b3898505050505050505050565b611b09603754611b018b6114ed565b612710611b99565b8c52505050505b5050505b8451611b1f90610bf9565b60208601528551611b2f90610bf9565b60208701525050505b9250925092565b6000808260030b1215611b7157611b5582612f3e565b611b6090600a6133d6565b611b6a9084612eab565b905061059a565b60008260030b1315611b9257611b8882600a6133d6565b611b6a9084613050565b508161059a565b6000808060001985870985870292508281108382030391505080600003611bd357838281611bc957611bc9612e7f565b0492505050610d40565b808411611c1a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107d7565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b611c8c8282610d47565b6107ea57611c9981612020565b611ca4836020612032565b604051602001611cb59291906133e8565b60408051601f198184030181529082905262461bcd60e51b82526107d79160040161345d565b611ce58282610d47565b6107ea5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610d40836001600160a01b0384166121cd565b6000818311611d6a5781610d40565b5090919050565b611d7b8282610d47565b156107ea5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d40836001600160a01b03841661221c565b60008085602001516001600160401b031683611e099190612eab565b9050801580611e20575085516001600160c01b0316155b15611e2e5784915050610d20565b85516001600160c01b03166001600160401b03851603611e52576000915050610d20565b61ffff811115611e7857604051637359f25f60e01b8152600481018290526024016107d7565b6000611ea88760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611b99565b9050611eb886826127108561230f565b979650505050505050565b6000826000018281548110611eda57611eda612e2b565b9060005260206000200154905092915050565b600080600080845190505b80831015611fd3576000858481518110611f1457611f14612e2b565b01602001516001600160f81b0319169050600160ff1b811015611f3c57600184019350611fc7565b600760fd1b6001600160f81b031982161015611f5d57600284019350611fc7565b600f60fc1b6001600160f81b031982161015611f7e57600384019350611fc7565b601f60fb1b6001600160f81b031982161015611f9f57600484019350611fc7565b603f60fa1b6001600160f81b031982161015611fc057600584019350611fc7565b6006840193505b50600190910190611ef8565b509392505050565b6000818310611d6a5781610d40565b600081841180611ff957508183115b15612005575080610d40565b61200f8484612472565b905081811115610d40575080610d40565b606061059a6001600160a01b03831660145b60606000612041836002613050565b61204c906002612ebf565b6001600160401b0381111561206357612063612a6f565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b509050600360fc1b816000815181106120a8576120a8612e2b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d7576120d7612e2b565b60200101906001600160f81b031916908160001a90535060006120fb846002613050565b612106906001612ebf565b90505b600181111561217e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061213a5761213a612e2b565b1a60f81b82828151811061215057612150612e2b565b60200101906001600160f81b031916908160001a90535060049490941c9361217781613490565b9050612109565b508315610d405760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d7565b60008181526001830160205260408120546122145750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059a565b50600061059a565b60008181526001830160205260408120548015612305576000612240600183612f2b565b855490915060009061225490600190612f2b565b90508181146122b957600086600001828154811061227457612274612e2b565b906000526020600020015490508087600001848154811061229757612297612e2b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122ca576122ca6134a7565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059a565b600091505061059a565b600082841480612321575061ffff8216155b1561232d575083610d20565b5083600080808061234e61ffff87166123458a612486565b61ffff16611fdb565b90505b61ffff8116156123a45761236b8561ffff83168a0a612657565b9094509250831561238457829450808603955080820191505b61239d600261ffff83160461ffff168761ffff16611fdb565b9050612351565b505b61ffff851615612417576123ba8488612657565b909350915082156123d9576000199094019390925082906001016123a6565b61ffff8116156123fe578584816123f2576123f2612e7f565b049350600019016123a6565b612409848888611b99565b6000199095019493506123a6565b600061242287612486565b90505b61ffff8216156124665760006124438261ffff168461ffff16611fdb565b90508061ffff16880a868161245a5761245a612e7f565b04955090910390612425565b50505050949350505050565b8181018281101561059a575060001961059a565b60006003821015612499575060ff919050565b60048210156124aa57506080919050565b60108210156124bb57506040919050565b6101008210156124cd57506020919050565b611bdc8210156124df57506014919050565b612c708210156124f157506013919050565b614aa982101561250357506012919050565b61855482101561251557506011919050565b6201000082101561252857506010919050565b6202183782101561253b5750600f919050565b6204e04682101561254e5750600e919050565b620ced4c8210156125615750600d919050565b622851468210156125745750600c919050565b629aa2ad8210156125875750600b919050565b6303080c0182101561259b5750600a919050565b6315c5cbbd8210156125af57506009919050565b6401000000008210156125c457506008919050565b6417c6a1f29f8210156125d957506007919050565b6506597fa94f5c8210156125ef57506006919050565b66093088c35d733b82101561260657506005919050565b6801000000000000000082101561261f57506004919050565b6a285145f31ae515c447bb5782101561263a57506003919050565b600160801b82101561264e57506002919050565b5060015b919050565b6000808360000361266e575060019050600061269b565b8383028385828161268157612681612e7f565b041461269457600080925092505061269b565b6001925090505b9250929050565b6000602082840312156126b457600080fd5b81356001600160e01b031981168114610d4057600080fd5b6000602082840312156126de57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561272f5761271f84835180518252602090810151910152565b9284019290850190600101612702565b5091979650505050505050565b6001600160a01b038116811461123357600080fd5b80356126528161273c565b60008060006060848603121561277157600080fd5b833561277c8161273c565b95602085013595506040909401359392505050565b600080604083850312156127a457600080fd5b8235915060208301356127b68161273c565b809150509250929050565b60008083601f8401126127d357600080fd5b5081356001600160401b038111156127ea57600080fd5b6020830191508360208260061b850101111561269b57600080fd5b6000806020838503121561281857600080fd5b82356001600160401b0381111561282e57600080fd5b61283a858286016127c1565b90969095509350505050565b60008083601f84011261285857600080fd5b5081356001600160401b0381111561286f57600080fd5b6020830191508360208260051b850101111561269b57600080fd5b6000806000806000806000806080898b0312156128a657600080fd5b88356001600160401b03808211156128bd57600080fd5b6128c98c838d01612846565b909a50985060208b01359150808211156128e257600080fd5b6128ee8c838d01612846565b909850965060408b013591508082111561290757600080fd5b6129138c838d01612846565b909650945060608b013591508082111561292c57600080fd5b506129398b828c01612846565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b81811015612987578351151583529284019291840191600101612969565b50909695505050505050565b600080600080604085870312156129a957600080fd5b84356001600160401b03808211156129c057600080fd5b6129cc88838901612846565b909650945060208701359150808211156129e557600080fd5b506129f287828801612846565b95989497509550505050565b60008060208385031215612a1157600080fd5b82356001600160401b0380821115612a2857600080fd5b818501915085601f830112612a3c57600080fd5b813581811115612a4b57600080fd5b866020828501011115612a5d57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612aa757612aa7612a6f565b60405290565b604080519081016001600160401b0381118282101715612aa757612aa7612a6f565b604051606081016001600160401b0381118282101715612aa757612aa7612a6f565b604051601f8201601f191681016001600160401b0381118282101715612b1957612b19612a6f565b604052919050565b60006001600160401b03821115612b3a57612b3a612a6f565b50601f01601f191660200190565b600082601f830112612b5957600080fd5b8135612b6c612b6782612b21565b612af1565b818152846020838601011115612b8157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612bb057600080fd5b81356001600160401b03811115612bc657600080fd5b610d2084828501612b48565b634e487b7160e01b600052602160045260246000fd5b6020810160048310612c0a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612c2357600080fd5b50508035926020909101359150565b600060408284031215612c4457600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612c6c57600080fd5b612c768c3561273c565b8b359a506001600160401b038060208e01351115612c9357600080fd5b612ca38e60208f01358f01612846565b909b50995060408d0135811015612cb957600080fd5b50612cca8d60408e01358e016127c1565b909850965060608c01359550612ce38d60808e01612c32565b945060c08c0135612cf38161273c565b9350612d0160e08d01612751565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612d3557600080fd5b610d408383612c32565b60008060408385031215612d5257600080fd5b82356001600160401b03811115612d6857600080fd5b612d7485828601612b48565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610d40565b6001600160401b038116811461123357600080fd5b600060808284031215612dd057600080fd5b612dd8612a85565b82518060070b8114612de957600080fd5b81526020830151612df981612da9565b60208201526040830151600381900b8114612e1357600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e5357600080fd5b813560048110610d4057600080fd5b600060208284031215612e7457600080fd5b8135610d408161273c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612eba57612eba612e7f565b500490565b8082018082111561059a5761059a612e95565b600381810b9083900b01637fffffff8113637fffffff198212171561059a5761059a612e95565b600060408284031215612f0b57600080fd5b612f13612aad565b82358152602083013560208201528091505092915050565b8181038181111561059a5761059a612e95565b60008160030b637fffffff198103612f5857612f58612e95565b60000392915050565b80820260008212600160ff1b84141615612f7d57612f7d612e95565b818105831482151761059a5761059a612e95565b600082612fa057612fa0612e7f565b600160ff1b821460001984141615612fba57612fba612e95565b500590565b6001600160c01b038116811461123357600080fd5b8135612fdf81612fbf565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561300c81612da9565b60c01b1617905550565b60006020828403121561302857600080fd5b8135610d4081612fbf565b60006020828403121561304557600080fd5b8135610d4081612da9565b808202811582820484141761059a5761059a612e95565b8051801515811461265257600080fd5b60006020828403121561308957600080fd5b610d4082613067565b6000602082840312156130a457600080fd5b8151610d408161273c565b60005b838110156130ca5781810151838201526020016130b2565b50506000910152565b6000608082840312156130e557600080fd5b6130ed612a85565b905081516130fa8161273c565b8152602082015161310a8161273c565b6020820152604082015161311d81612da9565b604082015261312e60608301613067565b606082015292915050565b6000602080838503121561314c57600080fd5b82516001600160401b038082111561316357600080fd5b9084019060a0828703121561317757600080fd5b61317f612aad565b82518281111561318e57600080fd5b8301606081890312156131a057600080fd5b6131a8612acf565b815160ff811681146131b957600080fd5b815281860151868201526040820151848111156131d557600080fd5b82019350601f840189136131e857600080fd5b835191506131f8612b6783612b21565b828152898784870101111561320c57600080fd5b61321b838883018988016130af565b604082015282525061322f878486016130d3565b848201528094505050505092915050565b60008082840360e081121561325457600080fd5b60c081121561326257600080fd5b61326a612acf565b84518152602085015160208201526080603f198301121561328a57600080fd5b613292612a85565b915060408501516132a28161273c565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b6000602082840312156132ef57600080fd5b8151610d4081612da9565b600181815b8085111561119957816000190482111561331b5761331b612e95565b8085161561332857918102915b93841c93908002906132ff565b6000826133445750600161059a565b816133515750600061059a565b816001811461336757600281146133715761338d565b600191505061059a565b60ff84111561338257613382612e95565b50506001821b61059a565b5060208310610133831016604e8410600b84101617156133b0575081810a61059a565b6133ba83836132fa565b80600019048211156133ce576133ce612e95565b029392505050565b6000610d4063ffffffff841683613335565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134208160178501602088016130af565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134518160288401602088016130af565b01602801949350505050565b602081526000825180602084015261347c8160408501602087016130af565b601f01601f19169190910160400192915050565b60008161349f5761349f612e95565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada264697066735822122074c77ffc438b3afa10feb9b23f689571e934dfbe3e548fb04b0995f86a5c7d8064736f6c63430008150033", + "chainId": 2021, + "contractAbsolutePath": "RNSDomainPrice.sol", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635ef32e2c1161011a578063ca15c873116100ad578063dfef64da1161007c578063dfef64da146104f4578063e229a67014610507578063f4651f491461051a578063f5b541a61461053b578063fe303ebf1461056257600080fd5b8063ca15c873146104a8578063d40ed58c146104bb578063d547741f146104ce578063dd28776d146104e157600080fd5b80637e32146a116100e95780637e32146a146104425780639010d07c1461046257806391d148541461048d578063a217fddf146104a057600080fd5b80635ef32e2c146103ea578063700213c8146103f2578063713a69a7146104075780637174026e1461042f57600080fd5b806335feb7411161019257806353faf9091161016157806353faf9091461039157806359228107146103b1578063599eaabf146103c45780635c68c830146103d757600080fd5b806335feb741146102f257806336568abe1461030557806339e47da7146103185780634c255c971461037057600080fd5b806328dd3065116101ce57806328dd3065146102825780632be09ecc146102975780632f2ff15d146102c55780632f6ee695146102d857600080fd5b806301ffc9a714610200578063037f1769146102285780630a44f51f14610249578063248a9ca31461025e575b600080fd5b61021361020e3660046126a2565b610575565b60405190151581526020015b60405180910390f35b61023b6102363660046126cc565b6105a0565b60405190815260200161021f565b610251610632565b60405161021f91906126e5565b61023b61026c3660046126cc565b6000908152600160208190526040909120015490565b61029561029036600461275c565b61070f565b005b603554603954603a54604080516001600160a01b03909416845260208401929092529082015260600161021f565b6102956102d3366004612791565b61072b565b6102e0601281565b60405160ff909116815260200161021f565b610295610300366004612805565b610756565b610295610313366004612791565b61076b565b604080518082018252600080825260209182015281518083018352603b546001600160c01b0381168083526001600160401b03600160c01b90920482169284019283528451908152915116918101919091520161021f565b61037961271081565b6040516001600160401b03909116815260200161021f565b6103a461039f36600461288a565b6107ee565b60405161021f919061294d565b6102956103bf366004612993565b610927565b6102956103d236600461288a565b610a91565b61023b6103e53660046129fe565b610b4f565b60375461023b565b61023b6000805160206134be83398151915281565b61041a610415366004612b9e565b610bcd565b6040805192835260208301919091520161021f565b61023b61043d3660046126cc565b610bf9565b6104556104503660046129fe565b610c8c565b60405161021f9190612be8565b610475610470366004612c10565b610d28565b6040516001600160a01b03909116815260200161021f565b61021361049b366004612791565b610d47565b61023b600081565b61023b6104b63660046126cc565b610d72565b6102956104c9366004612c4a565b610d89565b6102956104dc366004612791565b610f51565b6102956104ef366004612993565b610f77565b610455610502366004612b9e565b611078565b610295610515366004612d23565b611130565b61052d610528366004612d3f565b611144565b60405161021f929190612d83565b61023b7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b6102956105703660046126cc565b6111a1565b60006001600160e01b03198216635a05180f60e01b148061059a575061059a826111b5565b92915050565b603554603a5460395460405163052571af60e51b815260009361059a93869360129384936001600160a01b03169263a4ae35e0926105e992600401918252602082015260400190565b608060405180830381865afa158015610606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062a9190612dbe565b9291906111ea565b603854606090806001600160401b0381111561065057610650612a6f565b60405190808252806020026020018201604052801561069557816020015b604080518082019091526000808252602082015281526020019060019003908161066e5790505b5091506000805b8281101561070957806001019150818482815181106106bd576106bd612e2b565b60200260200101516000018181525050603c6000838152602001908152602001600020548482815181106106f3576106f3612e2b565b602090810291909101810151015260010161069c565b50505090565b600061071a81611229565b610725848484611236565b50505050565b6000828152600160208190526040909120015461074781611229565b61075183836112a8565b505050565b600061076181611229565b61075183836112ca565b6001600160a01b03811633146107e05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6107ea82826113e3565b5050565b60607f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92961081a81611229565b600061082c8b8b8b8b8b8b8b8b611405565b905033816001600160401b0381111561084757610847612a6f565b604051908082528060200260200182016040528015610870578160200160208202803683370190505b50935060005b82811015610917576108ed828e8e8481811061089457610894612e2b565b905060200201358d8d858181106108ad576108ad612e2b565b905060200201358c8c868181106108c6576108c6612e2b565b905060200201358b8b878181106108df576108df612e2b565b905060200201356000611453565b8582815181106108ff576108ff612e2b565b91151560209283029190910190910152600101610876565b5050505098975050505050505050565b6000805160206134be83398151915261093f81611229565b8380158061094d5750808314155b1561096b57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a865786868281811061098a5761098a612e2b565b905060200201602081019061099f9190612e41565b60038111156109b0576109b0612bd2565b19925082603f60008b8b858181106109ca576109ca612e2b565b90506020020135815260200190815260200160002060006101000a81548160ff021916908360ff160217905550868682818110610a0957610a09612e2b565b9050602002016020810190610a1e9190612e41565b6003811115610a2f57610a2f612bd2565b898983818110610a4157610a41612e2b565b90506020020135836001600160a01b03167f3f340e5d69d5f452290191bb7d417287ccd8896c4e4852a95c3702a834993ab160405160405180910390a4600101610970565b505050505050505050565b6000805160206134be833981519152610aa981611229565b6000610abb8a8a8a8a8a8a8a8a611405565b90503360005b82811015610b4157610b38828d8d84818110610adf57610adf612e2b565b905060200201358c8c85818110610af857610af8612e2b565b905060200201358b8b86818110610b1157610b11612e2b565b905060200201358a8a87818110610b2a57610b2a612e2b565b905060200201356001611453565b50600101610ac1565b505050505050505050505050565b6000603e6000610b9485858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b815260200190815260200160002054905080600003610bc657604051635421761560e11b815260040160405180910390fd5b1992915050565b600080610be7610be284805160209091012090565b6114ed565b9150610bf282610bf9565b9050915091565b603554603a5460395460405163052571af60e51b81526004810192909252602482015260009161059a918491601291829161062a91601119916001600160a01b03169063a4ae35e090604401608060405180830381865afa158015610c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c869190612dbe565b9061155e565b600080603f6000610cd286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114e292505050565b8152602081019190915260400160009081205460ff169150819003610d0a5760405163b34afcf160e01b815260040160405180910390fd5b801960ff166003811115610d2057610d20612bd2565b949350505050565b6000828152600260205260408120610d4090836116b8565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815260026020526040812061059a906116c4565b600054610100900460ff1615808015610da95750600054600160ff909116105b80610dc35750303b158015610dc3575060005460ff166001145b610e265760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d7565b6000805460ff191660011790558015610e49576000805461ff0019166101001790555b897f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960005b82811015610eae57610ea6828f8f84818110610e8c57610e8c612e2b565b9050602002016020810190610ea19190612e62565b6116ce565b600101610e6e565b50603680546001600160a01b0319166001600160a01b038816179055610ed560008f6116ce565b610edf8b8b6112ca565b610ee8896116d8565b610ef18861170d565b610efc878686611236565b50508015610b41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b60008281526001602081905260409091200154610f6d81611229565b61075183836113e3565b6000805160206134be833981519152610f8f81611229565b83801580610f9d5750808314155b15610fbb57604051634ec4810560e11b815260040160405180910390fd5b600033815b83811015610a8657868682818110610fda57610fda612e2b565b9050602002013519925082603e60008b8b85818110610ffb57610ffb612e2b565b9050602002013581526020019081526020016000208190555088888281811061102657611026612e2b565b90506020020135826001600160a01b03167fb52d278cb3ef3b003bdfb385ce2eb23a83eb6d713724abfba1acaa16ccf662148560405161106891815260200190565b60405180910390a3600101610fc0565b80516020808301919091206000818152603f909252604082205460ff1680156110b157801960ff166003811115610d2057610d20612bd2565b60006110c1856301e13380611789565b50509050600060026110d2856114ed565b6110dc9190612eab565b82516110e89190612ebf565b9050680ad78ebc5ac62000008111156111075750600195945050505050565b6802b5e3af16b18800008111156111245750600295945050505050565b50600395945050505050565b600061113b81611229565b6107ea8261170d565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260006111788585611789565b919450925090506001600160e01b0319811615611199578060005260046000fd5b509250929050565b60006111ac81611229565b6107ea826116d8565b60006001600160e01b03198216637965db0b60e01b148061059a57506301ffc9a760e01b6001600160e01b031983161461059a565b600061122084611210876000015160070b88604001518661120b9190612ed2565b611b3f565b61121b600187611b3f565b611b99565b95945050505050565b6112338133611c82565b50565b603580546001600160a01b0319166001600160a01b0385169081179091556039839055603a8290558190336001600160a01b03167f671083457675651266070f50f1438ef8190b7da64d38f16f5117246236b7dd5b8560405161129b91815260200190565b60405180910390a4505050565b6112b28282611cdb565b60008281526002602052604090206107519082611d46565b60408051808201909152600080825260208201523390603854839060005b828110156113955786868281811061130257611302612e2b565b9050604002018036038101906113189190612ef9565b9350611328828560000151611d5b565b6020808601805187516000908152603c90935260409283902055865190519151929450916001600160a01b038816917f85211e946be6d537cd1b22a183d04151d4e5d0818e1ce75d2e5ebaecba0a5a779161138591815260200190565b60405180910390a36001016112e8565b5060385481146113db57603881905560405181906001600160a01b038616907f7e7c3a4273ac1af351af63a82e91a8335bcb389ba681375a32dbe4455d0d474b90600090a35b505050505050565b6113ed8282611d71565b60008281526002602052604090206107519082611dd8565b868015806114135750858114155b8061141e5750838114155b806114295750818114155b1561144757604051634ec4810560e11b815260040160405180910390fd5b98975050505050505050565b60008061145f866105a0565b6000888152603d60205260409020909150838061147c5750805482115b925082156114d657818155426001820155604080518381526020810187905287918a916001600160a01b038d16917f60d5fd6d2284807447aae62f93c05517a647b8e8479c3af2c27ee1d1c85b540f910160405180910390a45b50509695505050505050565b805160209091012090565b6000818152603d602052604081206001810154808303611511575060009392505050565b600061151d8242612f2b565b835460408051808201909152603b546001600160c01b0381168252600160c01b90046001600160401b03166020820152919250611220919061271084611ded565b60408051608081018252600080825260208201819052918101829052606081019190915260006115976001856040015161120b90612f3e565b90506001600160ff1b038111156115cd576040808501519051633e87ca5d60e11b815260039190910b60048201526024016107d7565b60006115dd600161120b86612f3e565b90506001600160ff1b0381111561160d57604051633e87ca5d60e11b8152600385900b60048201526024016107d7565b845160009060070b61161f8385612f61565b6116299190612f91565b9050677fffffffffffffff81131561167557604086810151875191516329b2fb5560e11b8152600391820b60048201529087900b602482015260079190910b60448201526064016107d7565b60405180608001604052808260070b815260200187602001516001600160401b031681526020018660030b81526020018760600151815250935050505092915050565b6000610d408383611ec3565b600061059a825490565b6107ea82826112a8565b6037819055604051819033907f1e97e29c863545fad1ce79512b4deb3f0b7d30c3356bc7bbbd6588c9e68cf07390600090a350565b80603b61171a8282612fd4565b503390507fa7f38b74141f9a2ac1b02640ded2b98431ef77f8cf2e3ade85c71d6c8420dc6461174c6020840184613016565b61175c6040850160208601613033565b604080516001600160c01b0390931683526001600160401b0390911660208301520160405180910390a250565b604080518082019091526000808252602082015260408051808201909152600080825260208201526000806117bd86611eed565b865160208801209091506000906000818152603e602052604090205490915080156117f4576117ed811988613050565b8652611b14565b6000603c600061180686603854611fdb565b815260200190815260200160002054905080886118239190613050565b875260006118627fba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d6888b6000918252805160209182012090526040902090565b6036546040516329fc8caf60e11b8152600481018390529192506001600160a01b03169081906353f9195e90602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d29190613077565b15611b10576000816001600160a01b0316638c8433146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613092565b905060006119d6826001600160a01b03166303e9e609866040518263ffffffff1660e01b815260040161197091815260200190565b600060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b59190810190613139565b60200151604001516001600160401b03168d6001600160401b038016611fea565b6040516378bd793560e01b8152600481018690529091506000906001600160a01b038516906378bd79359060240160e060405180830381865afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a459190613240565b506040810151606001519091508015801590611ad35750846001600160a01b0316630afe1bb36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906132dd565b6001600160401b0316611ad18285612f2b565b115b15611af25750631bb03f9d60e01b9950611b3898505050505050505050565b611b09603754611b018b6114ed565b612710611b99565b8c52505050505b5050505b8451611b1f90610bf9565b60208601528551611b2f90610bf9565b60208701525050505b9250925092565b6000808260030b1215611b7157611b5582612f3e565b611b6090600a6133d6565b611b6a9084612eab565b905061059a565b60008260030b1315611b9257611b8882600a6133d6565b611b6a9084613050565b508161059a565b6000808060001985870985870292508281108382030391505080600003611bd357838281611bc957611bc9612e7f565b0492505050610d40565b808411611c1a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016107d7565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b611c8c8282610d47565b6107ea57611c9981612020565b611ca4836020612032565b604051602001611cb59291906133e8565b60408051601f198184030181529082905262461bcd60e51b82526107d79160040161345d565b611ce58282610d47565b6107ea5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610d40836001600160a01b0384166121cd565b6000818311611d6a5781610d40565b5090919050565b611d7b8282610d47565b156107ea5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d40836001600160a01b03841661221c565b60008085602001516001600160401b031683611e099190612eab565b9050801580611e20575085516001600160c01b0316155b15611e2e5784915050610d20565b85516001600160c01b03166001600160401b03851603611e52576000915050610d20565b61ffff811115611e7857604051637359f25f60e01b8152600481018290526024016107d7565b6000611ea88760000151866001600160401b0316036001600160c01b0316612710876001600160401b0316611b99565b9050611eb886826127108561230f565b979650505050505050565b6000826000018281548110611eda57611eda612e2b565b9060005260206000200154905092915050565b600080600080845190505b80831015611fd3576000858481518110611f1457611f14612e2b565b01602001516001600160f81b0319169050600160ff1b811015611f3c57600184019350611fc7565b600760fd1b6001600160f81b031982161015611f5d57600284019350611fc7565b600f60fc1b6001600160f81b031982161015611f7e57600384019350611fc7565b601f60fb1b6001600160f81b031982161015611f9f57600484019350611fc7565b603f60fa1b6001600160f81b031982161015611fc057600584019350611fc7565b6006840193505b50600190910190611ef8565b509392505050565b6000818310611d6a5781610d40565b600081841180611ff957508183115b15612005575080610d40565b61200f8484612472565b905081811115610d40575080610d40565b606061059a6001600160a01b03831660145b60606000612041836002613050565b61204c906002612ebf565b6001600160401b0381111561206357612063612a6f565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b509050600360fc1b816000815181106120a8576120a8612e2b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d7576120d7612e2b565b60200101906001600160f81b031916908160001a90535060006120fb846002613050565b612106906001612ebf565b90505b600181111561217e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061213a5761213a612e2b565b1a60f81b82828151811061215057612150612e2b565b60200101906001600160f81b031916908160001a90535060049490941c9361217781613490565b9050612109565b508315610d405760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d7565b60008181526001830160205260408120546122145750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059a565b50600061059a565b60008181526001830160205260408120548015612305576000612240600183612f2b565b855490915060009061225490600190612f2b565b90508181146122b957600086600001828154811061227457612274612e2b565b906000526020600020015490508087600001848154811061229757612297612e2b565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806122ca576122ca6134a7565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059a565b600091505061059a565b600082841480612321575061ffff8216155b1561232d575083610d20565b5083600080808061234e61ffff87166123458a612486565b61ffff16611fdb565b90505b61ffff8116156123a45761236b8561ffff83168a0a612657565b9094509250831561238457829450808603955080820191505b61239d600261ffff83160461ffff168761ffff16611fdb565b9050612351565b505b61ffff851615612417576123ba8488612657565b909350915082156123d9576000199094019390925082906001016123a6565b61ffff8116156123fe578584816123f2576123f2612e7f565b049350600019016123a6565b612409848888611b99565b6000199095019493506123a6565b600061242287612486565b90505b61ffff8216156124665760006124438261ffff168461ffff16611fdb565b90508061ffff16880a868161245a5761245a612e7f565b04955090910390612425565b50505050949350505050565b8181018281101561059a575060001961059a565b60006003821015612499575060ff919050565b60048210156124aa57506080919050565b60108210156124bb57506040919050565b6101008210156124cd57506020919050565b611bdc8210156124df57506014919050565b612c708210156124f157506013919050565b614aa982101561250357506012919050565b61855482101561251557506011919050565b6201000082101561252857506010919050565b6202183782101561253b5750600f919050565b6204e04682101561254e5750600e919050565b620ced4c8210156125615750600d919050565b622851468210156125745750600c919050565b629aa2ad8210156125875750600b919050565b6303080c0182101561259b5750600a919050565b6315c5cbbd8210156125af57506009919050565b6401000000008210156125c457506008919050565b6417c6a1f29f8210156125d957506007919050565b6506597fa94f5c8210156125ef57506006919050565b66093088c35d733b82101561260657506005919050565b6801000000000000000082101561261f57506004919050565b6a285145f31ae515c447bb5782101561263a57506003919050565b600160801b82101561264e57506002919050565b5060015b919050565b6000808360000361266e575060019050600061269b565b8383028385828161268157612681612e7f565b041461269457600080925092505061269b565b6001925090505b9250929050565b6000602082840312156126b457600080fd5b81356001600160e01b031981168114610d4057600080fd5b6000602082840312156126de57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b8281101561272f5761271f84835180518252602090810151910152565b9284019290850190600101612702565b5091979650505050505050565b6001600160a01b038116811461123357600080fd5b80356126528161273c565b60008060006060848603121561277157600080fd5b833561277c8161273c565b95602085013595506040909401359392505050565b600080604083850312156127a457600080fd5b8235915060208301356127b68161273c565b809150509250929050565b60008083601f8401126127d357600080fd5b5081356001600160401b038111156127ea57600080fd5b6020830191508360208260061b850101111561269b57600080fd5b6000806020838503121561281857600080fd5b82356001600160401b0381111561282e57600080fd5b61283a858286016127c1565b90969095509350505050565b60008083601f84011261285857600080fd5b5081356001600160401b0381111561286f57600080fd5b6020830191508360208260051b850101111561269b57600080fd5b6000806000806000806000806080898b0312156128a657600080fd5b88356001600160401b03808211156128bd57600080fd5b6128c98c838d01612846565b909a50985060208b01359150808211156128e257600080fd5b6128ee8c838d01612846565b909850965060408b013591508082111561290757600080fd5b6129138c838d01612846565b909650945060608b013591508082111561292c57600080fd5b506129398b828c01612846565b999c989b5096995094979396929594505050565b6020808252825182820181905260009190848201906040850190845b81811015612987578351151583529284019291840191600101612969565b50909695505050505050565b600080600080604085870312156129a957600080fd5b84356001600160401b03808211156129c057600080fd5b6129cc88838901612846565b909650945060208701359150808211156129e557600080fd5b506129f287828801612846565b95989497509550505050565b60008060208385031215612a1157600080fd5b82356001600160401b0380821115612a2857600080fd5b818501915085601f830112612a3c57600080fd5b813581811115612a4b57600080fd5b866020828501011115612a5d57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715612aa757612aa7612a6f565b60405290565b604080519081016001600160401b0381118282101715612aa757612aa7612a6f565b604051606081016001600160401b0381118282101715612aa757612aa7612a6f565b604051601f8201601f191681016001600160401b0381118282101715612b1957612b19612a6f565b604052919050565b60006001600160401b03821115612b3a57612b3a612a6f565b50601f01601f191660200190565b600082601f830112612b5957600080fd5b8135612b6c612b6782612b21565b612af1565b818152846020838601011115612b8157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215612bb057600080fd5b81356001600160401b03811115612bc657600080fd5b610d2084828501612b48565b634e487b7160e01b600052602160045260246000fd5b6020810160048310612c0a57634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612c2357600080fd5b50508035926020909101359150565b600060408284031215612c4457600080fd5b50919050565b60008060008060008060008060008060006101408c8e031215612c6c57600080fd5b612c768c3561273c565b8b359a506001600160401b038060208e01351115612c9357600080fd5b612ca38e60208f01358f01612846565b909b50995060408d0135811015612cb957600080fd5b50612cca8d60408e01358e016127c1565b909850965060608c01359550612ce38d60808e01612c32565b945060c08c0135612cf38161273c565b9350612d0160e08d01612751565b92506101008c013591506101208c013590509295989b509295989b9093969950565b600060408284031215612d3557600080fd5b610d408383612c32565b60008060408385031215612d5257600080fd5b82356001600160401b03811115612d6857600080fd5b612d7485828601612b48565b95602094909401359450505050565b825181526020808401518183015282516040830152820151606082015260808101610d40565b6001600160401b038116811461123357600080fd5b600060808284031215612dd057600080fd5b612dd8612a85565b82518060070b8114612de957600080fd5b81526020830151612df981612da9565b60208201526040830151600381900b8114612e1357600080fd5b60408201526060928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612e5357600080fd5b813560048110610d4057600080fd5b600060208284031215612e7457600080fd5b8135610d408161273c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082612eba57612eba612e7f565b500490565b8082018082111561059a5761059a612e95565b600381810b9083900b01637fffffff8113637fffffff198212171561059a5761059a612e95565b600060408284031215612f0b57600080fd5b612f13612aad565b82358152602083013560208201528091505092915050565b8181038181111561059a5761059a612e95565b60008160030b637fffffff198103612f5857612f58612e95565b60000392915050565b80820260008212600160ff1b84141615612f7d57612f7d612e95565b818105831482151761059a5761059a612e95565b600082612fa057612fa0612e7f565b600160ff1b821460001984141615612fba57612fba612e95565b500590565b6001600160c01b038116811461123357600080fd5b8135612fdf81612fbf565b81546001600160c01b03199081166001600160c01b03929092169182178355602084013561300c81612da9565b60c01b1617905550565b60006020828403121561302857600080fd5b8135610d4081612fbf565b60006020828403121561304557600080fd5b8135610d4081612da9565b808202811582820484141761059a5761059a612e95565b8051801515811461265257600080fd5b60006020828403121561308957600080fd5b610d4082613067565b6000602082840312156130a457600080fd5b8151610d408161273c565b60005b838110156130ca5781810151838201526020016130b2565b50506000910152565b6000608082840312156130e557600080fd5b6130ed612a85565b905081516130fa8161273c565b8152602082015161310a8161273c565b6020820152604082015161311d81612da9565b604082015261312e60608301613067565b606082015292915050565b6000602080838503121561314c57600080fd5b82516001600160401b038082111561316357600080fd5b9084019060a0828703121561317757600080fd5b61317f612aad565b82518281111561318e57600080fd5b8301606081890312156131a057600080fd5b6131a8612acf565b815160ff811681146131b957600080fd5b815281860151868201526040820151848111156131d557600080fd5b82019350601f840189136131e857600080fd5b835191506131f8612b6783612b21565b828152898784870101111561320c57600080fd5b61321b838883018988016130af565b604082015282525061322f878486016130d3565b848201528094505050505092915050565b60008082840360e081121561325457600080fd5b60c081121561326257600080fd5b61326a612acf565b84518152602085015160208201526080603f198301121561328a57600080fd5b613292612a85565b915060408501516132a28161273c565b80835250606085015160208301526080850151604083015260a08501516060830152816040820152809350505060c083015190509250929050565b6000602082840312156132ef57600080fd5b8151610d4081612da9565b600181815b8085111561119957816000190482111561331b5761331b612e95565b8085161561332857918102915b93841c93908002906132ff565b6000826133445750600161059a565b816133515750600061059a565b816001811461336757600281146133715761338d565b600191505061059a565b60ff84111561338257613382612e95565b50506001821b61059a565b5060208310610133831016604e8410600b84101617156133b0575081810a61059a565b6133ba83836132fa565b80600019048211156133ce576133ce612e95565b029392505050565b6000610d4063ffffffff841683613335565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134208160178501602088016130af565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134518160288401602088016130af565b01602801949350505050565b602081526000825180602084015261347c8160408501602087016130af565b601f01601f19169190910160400192915050565b60008161349f5761349f612e95565b506000190190565b634e487b7160e01b600052603160045260246000fdfe033a42b04fa8bdb42a28dc41fe890f4b8409d5af5d3ed16a96b5fb479b0d3fada264697066735822122074c77ffc438b3afa10feb9b23f689571e934dfbe3e548fb04b0995f86a5c7d8064736f6c63430008150033", +>>>>>>> Stashed changes "deployer": "0x968D0Cd7343f711216817E617d3f92a23dC91c07", "devdoc": { "version": 1, @@ -18398,7 +32004,11 @@ "usdPrices": "Array of prices in USD. Leave 2^256 - 1 to remove overriding." } }, +<<<<<<< Updated upstream "bulkOverrideTiers(bytes32[],uint256[])": { +======= + "bulkOverrideTiers(bytes32[],uint8[])": { +>>>>>>> Stashed changes "details": "Bulk override tiers. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {TierOverridingUpdated}.", "params": { "lbHashes": "Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')", @@ -18540,19 +32150,32 @@ "TaxRatioUpdated(address,uint256)": { "details": "Emitted when the renewal reservation ratio is updated." }, +<<<<<<< Updated upstream "TierOverridingUpdated(address,bytes32,uint256)": { +======= + "TierOverridingUpdated(address,bytes32,uint8)": { +>>>>>>> Stashed changes "details": "Emitted when the tier of a domain is overridden." } } }, "isFoundry": true, +<<<<<<< Updated upstream "metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"expo1\",\"type\":\"int32\"},{\"internalType\":\"int32\",\"name\":\"expo2\",\"type\":\"int32\"},{\"internalType\":\"int64\",\"name\":\"price1\",\"type\":\"int64\"}],\"name\":\"ErrComputedPriceTooLarge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"}],\"name\":\"ErrExponentTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedAuctionDomainExpiry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"PeriodNumOverflowedUint16\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenewalFeeIsNotOverriden\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TierIsNotOverriden\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"name\":\"DomainPriceScaleRuleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"proofHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setType\",\"type\":\"uint256\"}],\"name\":\"DomainPriceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"maxLength\",\"type\":\"uint256\"}],\"name\":\"MaxRenewalFeeLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"PythOracleConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"renewalFee\",\"type\":\"uint256\"}],\"name\":\"RenewalFeeByLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inverseRenewalFee\",\"type\":\"uint256\"}],\"name\":\"RenewalFeeOverridingUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"name\":\"TaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"}],\"name\":\"TierOverridingUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_PERCENTAGE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OVERRIDER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD_DECIMALS\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"usdPrices\",\"type\":\"uint256[]\"}],\"name\":\"bulkOverrideRenewalFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"tiers\",\"type\":\"uint256[]\"}],\"name\":\"bulkOverrideTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ronPrices\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"proofHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"setTypes\",\"type\":\"uint256[]\"}],\"name\":\"bulkSetDomainPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ronPrices\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"proofHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"setTypes\",\"type\":\"uint256[]\"}],\"name\":\"bulkTrySetDomainPrice\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"updated\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ronWei\",\"type\":\"uint256\"}],\"name\":\"convertRONToUSD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"usdWei\",\"type\":\"uint256\"}],\"name\":\"convertUSDToRON\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ronWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getDomainPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ronPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getOverriddenRenewalFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getOverriddenTier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPythOracleConfig\",\"outputs\":[{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"getRenewalFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"usd\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ron\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.UnitPrice\",\"name\":\"basePrice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"usd\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ron\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.UnitPrice\",\"name\":\"tax\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRenewalFeeByLengths\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getScaleDownRuleForDomainPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"scaleRule\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTaxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getTier\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"taxRatio\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"domainPriceScaleRule\",\"type\":\"tuple\"},{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"contract INSAuction\",\"name\":\"auction\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"setPythOracleConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"}],\"name\":\"setRenewalFeeByLengths\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"scaleRule\",\"type\":\"tuple\"}],\"name\":\"setScaleDownRuleForDomainPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"name\":\"setTaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DomainPriceScaleRuleUpdated(address,uint192,uint64)\":{\"details\":\"Emitted when the rule to rescale domain price is updated.\"},\"DomainPriceUpdated(address,bytes32,uint256,bytes32,uint256)\":{\"details\":\"Emitted when the domain price is updated.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MaxRenewalFeeLengthUpdated(address,uint256)\":{\"details\":\"Emitted when the maximum length of renewal fee is updated.\"},\"PythOracleConfigUpdated(address,address,uint256,bytes32)\":{\"details\":\"Emitted when the Pyth Oracle config is updated.\"},\"RenewalFeeByLengthUpdated(address,uint256,uint256)\":{\"details\":\"Emitted when the renew fee is updated.\"},\"RenewalFeeOverridingUpdated(address,bytes32,uint256)\":{\"details\":\"Emitted when the renew fee of a domain is overridden. Value of `inverseRenewalFee` is 0 when not overridden.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"TaxRatioUpdated(address,uint256)\":{\"details\":\"Emitted when the renewal reservation ratio is updated.\"},\"TierOverridingUpdated(address,bytes32,uint256)\":{\"details\":\"Emitted when the tier of a domain is overridden.\"}},\"kind\":\"dev\",\"methods\":{\"bulkOverrideRenewalFees(bytes32[],uint256[])\":{\"details\":\"Bulk override renewal fees. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {RenewalFeeOverridingUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"usdPrices\":\"Array of prices in USD. Leave 2^256 - 1 to remove overriding.\"}},\"bulkOverrideTiers(bytes32[],uint256[])\":{\"details\":\"Bulk override tiers. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {TierOverridingUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"tiers\":\"Array of tiers. Leave 2^256 - 1 to remove overriding.\"}},\"bulkSetDomainPrice(bytes32[],uint256[],bytes32[],uint256[])\":{\"details\":\"Bulk override domain prices. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {DomainPriceUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"proofHashes\":\"Array of proof hashes.\",\"ronPrices\":\"Array of prices in (W)RON token.\",\"setTypes\":\"Array of update types from the operator service.\"}},\"bulkTrySetDomainPrice(bytes32[],uint256[],bytes32[],uint256[])\":{\"details\":\"Bulk try to set domain prices. Returns a boolean array indicating whether domain prices at the corresponding indexes if set or not. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. - The price should be larger than current domain price or it will not be updated. Emits events {DomainPriceUpdated} optionally.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"proofHashes\":\"Array of proof hashes.\",\"ronPrices\":\"Array of prices in (W)RON token.\",\"setTypes\":\"Array of update types from the operator service.\"}},\"convertRONToUSD(uint256)\":{\"details\":\"Returns the converted amount from RON to USD.\"},\"convertUSDToRON(uint256)\":{\"details\":\"Returns the converted amount from USD to RON.\"},\"getDomainPrice(string)\":{\"details\":\"Return the domain price.\",\"params\":{\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"}},\"getOverriddenRenewalFee(string)\":{\"details\":\"Returns the renewal fee of a label. Reverts if not overridden.\"},\"getOverriddenTier(string)\":{\"details\":\"Returns the tier of a label. Reverts if not overridden.\"},\"getPythOracleConfig()\":{\"details\":\"Returns the Pyth oracle config.\"},\"getRenewalFee(string,uint256)\":{\"details\":\"Returns the renewal fee in USD and RON.\",\"params\":{\"duration\":\"Amount of second(s).\",\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"}},\"getRenewalFeeByLengths()\":{\"details\":\"Returns the renewal fee by lengths.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"getScaleDownRuleForDomainPrice()\":{\"details\":\"Returns the percentage to scale from domain price each period.\"},\"getTaxRatio()\":{\"details\":\"Returns tax ratio.\"},\"getTier(string)\":{\"details\":\"Returns the tier of a label.\",\"params\":{\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"},\"returns\":{\"tier\":\"The tier of the label.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setPythOracleConfig(address,uint256,bytes32)\":{\"details\":\"Sets the Pyth oracle config. Requirements: - The method caller is admin. Emits events {PythOracleConfigUpdated}.\"},\"setRenewalFeeByLengths((uint256,uint256)[])\":{\"details\":\"Sets the renewal fee by lengths Requirements: - The method caller is admin. Emits events {RenewalFeeByLengthUpdated}. Emits an event {MaxRenewalFeeLengthUpdated} optionally.\"},\"setScaleDownRuleForDomainPrice((uint192,uint64))\":{\"details\":\"Sets the percentage to scale from domain price each period. Requirements: - The method caller is admin. Emits events {DomainPriceScaleRuleUpdated}.\"},\"setTaxRatio(uint256)\":{\"details\":\"Sets renewal reservation ratio. Requirements: - The method caller is admin. Emits an event {TaxRatioUpdated}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"stateVariables\":{\"MAX_PERCENTAGE\":{\"details\":\"Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\"},\"OPERATOR_ROLE\":{\"details\":\"Value equals to keccak256(\\\"OPERATOR_ROLE\\\").\"},\"OVERRIDER_ROLE\":{\"details\":\"Returns the overrider role.\"},\"TIER_1_THRESHOLD\":{\"details\":\"The threshold tier value (in USD) for Tier 1\"},\"TIER_2_THRESHOLD\":{\"details\":\"The threshold tier value (in USD) for Tier 2\"},\"USD_DECIMALS\":{\"details\":\"Decimal for USD.\"},\"____gap\":{\"details\":\"Gap for upgradeability.\"},\"_auction\":{\"details\":\"RNSAuction contract\"},\"_dp\":{\"details\":\"Mapping from name => domain price in USD\"},\"_dpDownScaler\":{\"details\":\"The percentage scale from domain price each period\"},\"_maxAcceptableAge\":{\"details\":\"Max acceptable age of the price oracle request\"},\"_pyth\":{\"details\":\"Pyth oracle contract\"},\"_pythIdForRONUSD\":{\"details\":\"Price feed ID on Pyth for RON/USD\"},\"_rnFee\":{\"details\":\"Mapping from domain length => renewal fee in USD\"},\"_rnFeeOverriding\":{\"details\":\"Mapping from name => inverse bitwise of renewal fee overriding.\"},\"_rnfMaxLength\":{\"details\":\"Max length of the renewal fee\"},\"_taxRatio\":{\"details\":\"Extra fee for renewals based on the current domain price.\"},\"_tierOverriding\":{\"details\":\"Mapping from label hash to overriden tier\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getOverriddenRenewalFee(string)\":{\"notice\":\"This method is to help developers check the domain renewal fee overriding. Consider using method {getRenewalFee} instead for full handling of renewal fees.\"},\"getOverriddenTier(string)\":{\"notice\":\"This method is to help developers check the domain tier overriding. Consider using method {getTier} instead for full handling of tiers.\"},\"setScaleDownRuleForDomainPrice((uint192,uint64))\":{\"notice\":\"Applies for the business rule: -x% each y seconds.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RNSDomainPrice.sol\":\"RNSDomainPrice\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@pythnetwork/=lib/pyth-sdk-solidity/\",\":@rns-contracts/=src/\",\":buffer/=lib/buffer/contracts/\",\":contract-libs/=lib/contract-libs/src/\",\":contract-template/=lib/contract-template/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":ens-contracts/=lib/ens-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":foundry-deployment-kit/=lib/foundry-deployment-kit/script/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solady/=lib/solady/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControl.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControl.sol\\\";\\nimport \\\"../utils/Context.sol\\\";\\nimport \\\"../utils/Strings.sol\\\";\\nimport \\\"../utils/introspection/ERC165.sol\\\";\\n\\n/**\\n * @dev Contract module that allows children to implement role-based access\\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\\n * members except through off-chain means by accessing the contract event logs. Some\\n * applications may benefit from on-chain enumerability, for those cases see\\n * {AccessControlEnumerable}.\\n *\\n * Roles are referred to by their `bytes32` identifier. These should be exposed\\n * in the external API and be unique. The best way to achieve this is by\\n * using `public constant` hash digests:\\n *\\n * ```solidity\\n * bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\");\\n * ```\\n *\\n * Roles can be used to represent a set of permissions. To restrict access to a\\n * function call, use {hasRole}:\\n *\\n * ```solidity\\n * function foo() public {\\n * require(hasRole(MY_ROLE, msg.sender));\\n * ...\\n * }\\n * ```\\n *\\n * Roles can be granted and revoked dynamically via the {grantRole} and\\n * {revokeRole} functions. Each role has an associated admin role, and only\\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\\n *\\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\\n * that only accounts with this role will be able to grant or revoke other\\n * roles. More complex role relationships can be created by using\\n * {_setRoleAdmin}.\\n *\\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\\n * grant and revoke this role. Extra precautions should be taken to secure\\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\\n * to enforce additional security measures for this role.\\n */\\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\\n struct RoleData {\\n mapping(address => bool) members;\\n bytes32 adminRole;\\n }\\n\\n mapping(bytes32 => RoleData) private _roles;\\n\\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\\n\\n /**\\n * @dev Modifier that checks that an account has a specific role. Reverts\\n * with a standardized message including the required role.\\n *\\n * The format of the revert reason is given by the following regular expression:\\n *\\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\\n *\\n * _Available since v4.1._\\n */\\n modifier onlyRole(bytes32 role) {\\n _checkRole(role);\\n _;\\n }\\n\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\\n }\\n\\n /**\\n * @dev Returns `true` if `account` has been granted `role`.\\n */\\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\\n return _roles[role].members[account];\\n }\\n\\n /**\\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\\n * Overriding this function changes the behavior of the {onlyRole} modifier.\\n *\\n * Format of the revert message is described in {_checkRole}.\\n *\\n * _Available since v4.6._\\n */\\n function _checkRole(bytes32 role) internal view virtual {\\n _checkRole(role, _msgSender());\\n }\\n\\n /**\\n * @dev Revert with a standard message if `account` is missing `role`.\\n *\\n * The format of the revert reason is given by the following regular expression:\\n *\\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\\n */\\n function _checkRole(bytes32 role, address account) internal view virtual {\\n if (!hasRole(role, account)) {\\n revert(\\n string(\\n abi.encodePacked(\\n \\\"AccessControl: account \\\",\\n Strings.toHexString(account),\\n \\\" is missing role \\\",\\n Strings.toHexString(uint256(role), 32)\\n )\\n )\\n );\\n }\\n }\\n\\n /**\\n * @dev Returns the admin role that controls `role`. See {grantRole} and\\n * {revokeRole}.\\n *\\n * To change a role's admin, use {_setRoleAdmin}.\\n */\\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\\n return _roles[role].adminRole;\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n *\\n * May emit a {RoleGranted} event.\\n */\\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\\n _grantRole(role, account);\\n }\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\\n _revokeRole(role, account);\\n }\\n\\n /**\\n * @dev Revokes `role` from the calling account.\\n *\\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\\n * purpose is to provide a mechanism for accounts to lose their privileges\\n * if they are compromised (such as when a trusted device is misplaced).\\n *\\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must be `account`.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function renounceRole(bytes32 role, address account) public virtual override {\\n require(account == _msgSender(), \\\"AccessControl: can only renounce roles for self\\\");\\n\\n _revokeRole(role, account);\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event. Note that unlike {grantRole}, this function doesn't perform any\\n * checks on the calling account.\\n *\\n * May emit a {RoleGranted} event.\\n *\\n * [WARNING]\\n * ====\\n * This function should only be called from the constructor when setting\\n * up the initial roles for the system.\\n *\\n * Using this function in any other way is effectively circumventing the admin\\n * system imposed by {AccessControl}.\\n * ====\\n *\\n * NOTE: This function is deprecated in favor of {_grantRole}.\\n */\\n function _setupRole(bytes32 role, address account) internal virtual {\\n _grantRole(role, account);\\n }\\n\\n /**\\n * @dev Sets `adminRole` as ``role``'s admin role.\\n *\\n * Emits a {RoleAdminChanged} event.\\n */\\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\\n bytes32 previousAdminRole = getRoleAdmin(role);\\n _roles[role].adminRole = adminRole;\\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * Internal function without access restriction.\\n *\\n * May emit a {RoleGranted} event.\\n */\\n function _grantRole(bytes32 role, address account) internal virtual {\\n if (!hasRole(role, account)) {\\n _roles[role].members[account] = true;\\n emit RoleGranted(role, account, _msgSender());\\n }\\n }\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * Internal function without access restriction.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function _revokeRole(bytes32 role, address account) internal virtual {\\n if (hasRole(role, account)) {\\n _roles[role].members[account] = false;\\n emit RoleRevoked(role, account, _msgSender());\\n }\\n }\\n}\\n\",\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControlEnumerable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControlEnumerable.sol\\\";\\nimport \\\"./AccessControl.sol\\\";\\nimport \\\"../utils/structs/EnumerableSet.sol\\\";\\n\\n/**\\n * @dev Extension of {AccessControl} that allows enumerating the members of each role.\\n */\\nabstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl {\\n using EnumerableSet for EnumerableSet.AddressSet;\\n\\n mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers;\\n\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IAccessControlEnumerable).interfaceId || super.supportsInterface(interfaceId);\\n }\\n\\n /**\\n * @dev Returns one of the accounts that have `role`. `index` must be a\\n * value between 0 and {getRoleMemberCount}, non-inclusive.\\n *\\n * Role bearers are not sorted in any particular way, and their ordering may\\n * change at any point.\\n *\\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\\n * you perform all queries on the same block. See the following\\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\\n * for more information.\\n */\\n function getRoleMember(bytes32 role, uint256 index) public view virtual override returns (address) {\\n return _roleMembers[role].at(index);\\n }\\n\\n /**\\n * @dev Returns the number of accounts that have `role`. Can be used\\n * together with {getRoleMember} to enumerate all bearers of a role.\\n */\\n function getRoleMemberCount(bytes32 role) public view virtual override returns (uint256) {\\n return _roleMembers[role].length();\\n }\\n\\n /**\\n * @dev Overload {_grantRole} to track enumerable memberships\\n */\\n function _grantRole(bytes32 role, address account) internal virtual override {\\n super._grantRole(role, account);\\n _roleMembers[role].add(account);\\n }\\n\\n /**\\n * @dev Overload {_revokeRole} to track enumerable memberships\\n */\\n function _revokeRole(bytes32 role, address account) internal virtual override {\\n super._revokeRole(role, account);\\n _roleMembers[role].remove(account);\\n }\\n}\\n\",\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev External interface of AccessControl declared to support ERC165 detection.\\n */\\ninterface IAccessControl {\\n /**\\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\\n *\\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\\n * {RoleAdminChanged} not being emitted signaling this.\\n *\\n * _Available since v3.1._\\n */\\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\\n\\n /**\\n * @dev Emitted when `account` is granted `role`.\\n *\\n * `sender` is the account that originated the contract call, an admin role\\n * bearer except when using {AccessControl-_setupRole}.\\n */\\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\\n\\n /**\\n * @dev Emitted when `account` is revoked `role`.\\n *\\n * `sender` is the account that originated the contract call:\\n * - if using `revokeRole`, it is the admin role bearer\\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\\n */\\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\\n\\n /**\\n * @dev Returns `true` if `account` has been granted `role`.\\n */\\n function hasRole(bytes32 role, address account) external view returns (bool);\\n\\n /**\\n * @dev Returns the admin role that controls `role`. See {grantRole} and\\n * {revokeRole}.\\n *\\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\\n */\\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n */\\n function grantRole(bytes32 role, address account) external;\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n */\\n function revokeRole(bytes32 role, address account) external;\\n\\n /**\\n * @dev Revokes `role` from the calling account.\\n *\\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\\n * purpose is to provide a mechanism for accounts to lose their privileges\\n * if they are compromised (such as when a trusted device is misplaced).\\n *\\n * If the calling account had been granted `role`, emits a {RoleRevoked}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must be `account`.\\n */\\n function renounceRole(bytes32 role, address account) external;\\n}\\n\",\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControl.sol\\\";\\n\\n/**\\n * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.\\n */\\ninterface IAccessControlEnumerable is IAccessControl {\\n /**\\n * @dev Returns one of the accounts that have `role`. `index` must be a\\n * value between 0 and {getRoleMemberCount}, non-inclusive.\\n *\\n * Role bearers are not sorted in any particular way, and their ordering may\\n * change at any point.\\n *\\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\\n * you perform all queries on the same block. See the following\\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\\n * for more information.\\n */\\n function getRoleMember(bytes32 role, uint256 index) external view returns (address);\\n\\n /**\\n * @dev Returns the number of accounts that have `role`. Can be used\\n * together with {getRoleMember} to enumerate all bearers of a role.\\n */\\n function getRoleMemberCount(bytes32 role) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (proxy/utils/Initializable.sol)\\n\\npragma solidity ^0.8.2;\\n\\nimport \\\"../../utils/Address.sol\\\";\\n\\n/**\\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\\n *\\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\\n * reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in\\n * case an upgrade adds a module that needs to be initialized.\\n *\\n * For example:\\n *\\n * [.hljs-theme-light.nopadding]\\n * ```solidity\\n * contract MyToken is ERC20Upgradeable {\\n * function initialize() initializer public {\\n * __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\");\\n * }\\n * }\\n *\\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\\n * function initializeV2() reinitializer(2) public {\\n * __ERC20Permit_init(\\\"MyToken\\\");\\n * }\\n * }\\n * ```\\n *\\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\\n *\\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\\n *\\n * [CAUTION]\\n * ====\\n * Avoid leaving a contract uninitialized.\\n *\\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\\n *\\n * [.hljs-theme-light.nopadding]\\n * ```\\n * /// @custom:oz-upgrades-unsafe-allow constructor\\n * constructor() {\\n * _disableInitializers();\\n * }\\n * ```\\n * ====\\n */\\nabstract contract Initializable {\\n /**\\n * @dev Indicates that the contract has been initialized.\\n * @custom:oz-retyped-from bool\\n */\\n uint8 private _initialized;\\n\\n /**\\n * @dev Indicates that the contract is in the process of being initialized.\\n */\\n bool private _initializing;\\n\\n /**\\n * @dev Triggered when the contract has been initialized or reinitialized.\\n */\\n event Initialized(uint8 version);\\n\\n /**\\n * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\\n * `onlyInitializing` functions can be used to initialize parent contracts.\\n *\\n * Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\\n * constructor.\\n *\\n * Emits an {Initialized} event.\\n */\\n modifier initializer() {\\n bool isTopLevelCall = !_initializing;\\n require(\\n (isTopLevelCall && _initialized < 1) || (!Address.isContract(address(this)) && _initialized == 1),\\n \\\"Initializable: contract is already initialized\\\"\\n );\\n _initialized = 1;\\n if (isTopLevelCall) {\\n _initializing = true;\\n }\\n _;\\n if (isTopLevelCall) {\\n _initializing = false;\\n emit Initialized(1);\\n }\\n }\\n\\n /**\\n * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\\n * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\\n * used to initialize parent contracts.\\n *\\n * A reinitializer may be used after the original initialization step. This is essential to configure modules that\\n * are added through upgrades and that require initialization.\\n *\\n * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\\n * cannot be nested. If one is invoked in the context of another, execution will revert.\\n *\\n * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\\n * a contract, executing them in the right order is up to the developer or operator.\\n *\\n * WARNING: setting the version to 255 will prevent any future reinitialization.\\n *\\n * Emits an {Initialized} event.\\n */\\n modifier reinitializer(uint8 version) {\\n require(!_initializing && _initialized < version, \\\"Initializable: contract is already initialized\\\");\\n _initialized = version;\\n _initializing = true;\\n _;\\n _initializing = false;\\n emit Initialized(version);\\n }\\n\\n /**\\n * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\\n * {initializer} and {reinitializer} modifiers, directly or indirectly.\\n */\\n modifier onlyInitializing() {\\n require(_initializing, \\\"Initializable: contract is not initializing\\\");\\n _;\\n }\\n\\n /**\\n * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\\n * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\\n * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\\n * through proxies.\\n *\\n * Emits an {Initialized} event the first time it is successfully executed.\\n */\\n function _disableInitializers() internal virtual {\\n require(!_initializing, \\\"Initializable: contract is initializing\\\");\\n if (_initialized != type(uint8).max) {\\n _initialized = type(uint8).max;\\n emit Initialized(type(uint8).max);\\n }\\n }\\n\\n /**\\n * @dev Returns the highest version that has been initialized. See {reinitializer}.\\n */\\n function _getInitializedVersion() internal view returns (uint8) {\\n return _initialized;\\n }\\n\\n /**\\n * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\\n */\\n function _isInitializing() internal view returns (bool) {\\n return _initializing;\\n }\\n}\\n\",\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../../utils/introspection/IERC165.sol\\\";\\n\\n/**\\n * @dev Required interface of an ERC721 compliant contract.\\n */\\ninterface IERC721 is IERC165 {\\n /**\\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\\n */\\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\\n\\n /**\\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\\n */\\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\\n\\n /**\\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\\n */\\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\\n\\n /**\\n * @dev Returns the number of tokens in ``owner``'s account.\\n */\\n function balanceOf(address owner) external view returns (uint256 balance);\\n\\n /**\\n * @dev Returns the owner of the `tokenId` token.\\n *\\n * Requirements:\\n *\\n * - `tokenId` must exist.\\n */\\n function ownerOf(uint256 tokenId) external view returns (address owner);\\n\\n /**\\n * @dev Safely transfers `tokenId` token from `from` to `to`.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must exist and be owned by `from`.\\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\\n *\\n * Emits a {Transfer} event.\\n */\\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\\n\\n /**\\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must exist and be owned by `from`.\\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\\n *\\n * Emits a {Transfer} event.\\n */\\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Transfers `tokenId` token from `from` to `to`.\\n *\\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must be owned by `from`.\\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transferFrom(address from, address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\\n * The approval is cleared when the token is transferred.\\n *\\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\\n *\\n * Requirements:\\n *\\n * - The caller must own the token or be an approved operator.\\n * - `tokenId` must exist.\\n *\\n * Emits an {Approval} event.\\n */\\n function approve(address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Approve or remove `operator` as an operator for the caller.\\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\\n *\\n * Requirements:\\n *\\n * - The `operator` cannot be the caller.\\n *\\n * Emits an {ApprovalForAll} event.\\n */\\n function setApprovalForAll(address operator, bool approved) external;\\n\\n /**\\n * @dev Returns the account approved for `tokenId` token.\\n *\\n * Requirements:\\n *\\n * - `tokenId` must exist.\\n */\\n function getApproved(uint256 tokenId) external view returns (address operator);\\n\\n /**\\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\\n *\\n * See {setApprovalForAll}\\n */\\n function isApprovedForAll(address owner, address operator) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../IERC721.sol\\\";\\n\\n/**\\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\\n * @dev See https://eips.ethereum.org/EIPS/eip-721\\n */\\ninterface IERC721Metadata is IERC721 {\\n /**\\n * @dev Returns the token collection name.\\n */\\n function name() external view returns (string memory);\\n\\n /**\\n * @dev Returns the token collection symbol.\\n */\\n function symbol() external view returns (string memory);\\n\\n /**\\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\\n */\\n function tokenURI(uint256 tokenId) external view returns (string memory);\\n}\\n\",\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\\n\\npragma solidity ^0.8.1;\\n\\n/**\\n * @dev Collection of functions related to the address type\\n */\\nlibrary Address {\\n /**\\n * @dev Returns true if `account` is a contract.\\n *\\n * [IMPORTANT]\\n * ====\\n * It is unsafe to assume that an address for which this function returns\\n * false is an externally-owned account (EOA) and not a contract.\\n *\\n * Among others, `isContract` will return false for the following\\n * types of addresses:\\n *\\n * - an externally-owned account\\n * - a contract in construction\\n * - an address where a contract will be created\\n * - an address where a contract lived, but was destroyed\\n *\\n * Furthermore, `isContract` will also return true if the target contract within\\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\\n * which only has an effect at the end of a transaction.\\n * ====\\n *\\n * [IMPORTANT]\\n * ====\\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\\n *\\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\\n * constructor.\\n * ====\\n */\\n function isContract(address account) internal view returns (bool) {\\n // This method relies on extcodesize/address.code.length, which returns 0\\n // for contracts in construction, since the code is only stored at the end\\n // of the constructor execution.\\n\\n return account.code.length > 0;\\n }\\n\\n /**\\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\\n * `recipient`, forwarding all available gas and reverting on errors.\\n *\\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\\n * imposed by `transfer`, making them unable to receive funds via\\n * `transfer`. {sendValue} removes this limitation.\\n *\\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\\n *\\n * IMPORTANT: because control is transferred to `recipient`, care must be\\n * taken to not create reentrancy vulnerabilities. Consider using\\n * {ReentrancyGuard} or the\\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\\n */\\n function sendValue(address payable recipient, uint256 amount) internal {\\n require(address(this).balance >= amount, \\\"Address: insufficient balance\\\");\\n\\n (bool success, ) = recipient.call{value: amount}(\\\"\\\");\\n require(success, \\\"Address: unable to send value, recipient may have reverted\\\");\\n }\\n\\n /**\\n * @dev Performs a Solidity function call using a low level `call`. A\\n * plain `call` is an unsafe replacement for a function call: use this\\n * function instead.\\n *\\n * If `target` reverts with a revert reason, it is bubbled up by this\\n * function (like regular Solidity function calls).\\n *\\n * Returns the raw returned data. To convert to the expected return value,\\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\\n *\\n * Requirements:\\n *\\n * - `target` must be a contract.\\n * - calling `target` with `data` must not revert.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, 0, \\\"Address: low-level call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\\n * `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, 0, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but also transferring `value` wei to `target`.\\n *\\n * Requirements:\\n *\\n * - the calling contract must have an ETH balance of at least `value`.\\n * - the called Solidity function must be `payable`.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, value, \\\"Address: low-level call with value failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\\n * with `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(\\n address target,\\n bytes memory data,\\n uint256 value,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n require(address(this).balance >= value, \\\"Address: insufficient balance for call\\\");\\n (bool success, bytes memory returndata) = target.call{value: value}(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\\n return functionStaticCall(target, data, \\\"Address: low-level static call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal view returns (bytes memory) {\\n (bool success, bytes memory returndata) = target.staticcall(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionDelegateCall(target, data, \\\"Address: low-level delegate call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n (bool success, bytes memory returndata) = target.delegatecall(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\\n *\\n * _Available since v4.8._\\n */\\n function verifyCallResultFromTarget(\\n address target,\\n bool success,\\n bytes memory returndata,\\n string memory errorMessage\\n ) internal view returns (bytes memory) {\\n if (success) {\\n if (returndata.length == 0) {\\n // only check isContract if the call was successful and the return data is empty\\n // otherwise we already know that it was a contract\\n require(isContract(target), \\\"Address: call to non-contract\\\");\\n }\\n return returndata;\\n } else {\\n _revert(returndata, errorMessage);\\n }\\n }\\n\\n /**\\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\\n * revert reason or using the provided one.\\n *\\n * _Available since v4.3._\\n */\\n function verifyCallResult(\\n bool success,\\n bytes memory returndata,\\n string memory errorMessage\\n ) internal pure returns (bytes memory) {\\n if (success) {\\n return returndata;\\n } else {\\n _revert(returndata, errorMessage);\\n }\\n }\\n\\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\\n // Look for revert reason and bubble it up if present\\n if (returndata.length > 0) {\\n // The easiest way to bubble the revert reason is using memory via assembly\\n /// @solidity memory-safe-assembly\\n assembly {\\n let returndata_size := mload(returndata)\\n revert(add(32, returndata), returndata_size)\\n }\\n } else {\\n revert(errorMessage);\\n }\\n }\\n}\\n\",\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Provides information about the current execution context, including the\\n * sender of the transaction and its data. While these are generally available\\n * via msg.sender and msg.data, they should not be accessed in such a direct\\n * manner, since when dealing with meta-transactions the account sending and\\n * paying for execution may not be the actual sender (as far as an application\\n * is concerned).\\n *\\n * This contract is only required for intermediate, library-like contracts.\\n */\\nabstract contract Context {\\n function _msgSender() internal view virtual returns (address) {\\n return msg.sender;\\n }\\n\\n function _msgData() internal view virtual returns (bytes calldata) {\\n return msg.data;\\n }\\n}\\n\",\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./math/Math.sol\\\";\\nimport \\\"./math/SignedMath.sol\\\";\\n\\n/**\\n * @dev String operations.\\n */\\nlibrary Strings {\\n bytes16 private constant _SYMBOLS = \\\"0123456789abcdef\\\";\\n uint8 private constant _ADDRESS_LENGTH = 20;\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\\n */\\n function toString(uint256 value) internal pure returns (string memory) {\\n unchecked {\\n uint256 length = Math.log10(value) + 1;\\n string memory buffer = new string(length);\\n uint256 ptr;\\n /// @solidity memory-safe-assembly\\n assembly {\\n ptr := add(buffer, add(32, length))\\n }\\n while (true) {\\n ptr--;\\n /// @solidity memory-safe-assembly\\n assembly {\\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\\n }\\n value /= 10;\\n if (value == 0) break;\\n }\\n return buffer;\\n }\\n }\\n\\n /**\\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\\n */\\n function toString(int256 value) internal pure returns (string memory) {\\n return string(abi.encodePacked(value < 0 ? \\\"-\\\" : \\\"\\\", toString(SignedMath.abs(value))));\\n }\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\\n */\\n function toHexString(uint256 value) internal pure returns (string memory) {\\n unchecked {\\n return toHexString(value, Math.log256(value) + 1);\\n }\\n }\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\\n */\\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\\n bytes memory buffer = new bytes(2 * length + 2);\\n buffer[0] = \\\"0\\\";\\n buffer[1] = \\\"x\\\";\\n for (uint256 i = 2 * length + 1; i > 1; --i) {\\n buffer[i] = _SYMBOLS[value & 0xf];\\n value >>= 4;\\n }\\n require(value == 0, \\\"Strings: hex length insufficient\\\");\\n return string(buffer);\\n }\\n\\n /**\\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\\n */\\n function toHexString(address addr) internal pure returns (string memory) {\\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\\n }\\n\\n /**\\n * @dev Returns true if the two strings are equal.\\n */\\n function equal(string memory a, string memory b) internal pure returns (bool) {\\n return keccak256(bytes(a)) == keccak256(bytes(b));\\n }\\n}\\n\",\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IERC165.sol\\\";\\n\\n/**\\n * @dev Implementation of the {IERC165} interface.\\n *\\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\\n * for the additional interface id that will be supported. For example:\\n *\\n * ```solidity\\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\\n * }\\n * ```\\n *\\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\\n */\\nabstract contract ERC165 is IERC165 {\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IERC165).interfaceId;\\n }\\n}\\n\",\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n /**\\n * @dev Returns true if this contract implements the interface defined by\\n * `interfaceId`. See the corresponding\\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n * to learn more about how these ids are created.\\n *\\n * This function call must use less than 30 000 gas.\\n */\\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Standard math utilities missing in the Solidity language.\\n */\\nlibrary Math {\\n enum Rounding {\\n Down, // Toward negative infinity\\n Up, // Toward infinity\\n Zero // Toward zero\\n }\\n\\n /**\\n * @dev Returns the largest of two numbers.\\n */\\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a > b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the smallest of two numbers.\\n */\\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a < b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the average of two numbers. The result is rounded towards\\n * zero.\\n */\\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\\n // (a + b) / 2 can overflow.\\n return (a & b) + (a ^ b) / 2;\\n }\\n\\n /**\\n * @dev Returns the ceiling of the division of two numbers.\\n *\\n * This differs from standard division with `/` in that it rounds up instead\\n * of rounding down.\\n */\\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\\n // (a + b - 1) / b can overflow on addition, so we distribute.\\n return a == 0 ? 0 : (a - 1) / b + 1;\\n }\\n\\n /**\\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\\n * with further edits by Uniswap Labs also under MIT license.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\\n unchecked {\\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\\n // variables such that product = prod1 * 2^256 + prod0.\\n uint256 prod0; // Least significant 256 bits of the product\\n uint256 prod1; // Most significant 256 bits of the product\\n assembly {\\n let mm := mulmod(x, y, not(0))\\n prod0 := mul(x, y)\\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\\n }\\n\\n // Handle non-overflow cases, 256 by 256 division.\\n if (prod1 == 0) {\\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\\n // The surrounding unchecked block does not change this fact.\\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\\n return prod0 / denominator;\\n }\\n\\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\\n require(denominator > prod1, \\\"Math: mulDiv overflow\\\");\\n\\n ///////////////////////////////////////////////\\n // 512 by 256 division.\\n ///////////////////////////////////////////////\\n\\n // Make division exact by subtracting the remainder from [prod1 prod0].\\n uint256 remainder;\\n assembly {\\n // Compute remainder using mulmod.\\n remainder := mulmod(x, y, denominator)\\n\\n // Subtract 256 bit number from 512 bit number.\\n prod1 := sub(prod1, gt(remainder, prod0))\\n prod0 := sub(prod0, remainder)\\n }\\n\\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\\n // See https://cs.stackexchange.com/q/138556/92363.\\n\\n // Does not overflow because the denominator cannot be zero at this stage in the function.\\n uint256 twos = denominator & (~denominator + 1);\\n assembly {\\n // Divide denominator by twos.\\n denominator := div(denominator, twos)\\n\\n // Divide [prod1 prod0] by twos.\\n prod0 := div(prod0, twos)\\n\\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\\n twos := add(div(sub(0, twos), twos), 1)\\n }\\n\\n // Shift in bits from prod1 into prod0.\\n prod0 |= prod1 * twos;\\n\\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\\n // four bits. That is, denominator * inv = 1 mod 2^4.\\n uint256 inverse = (3 * denominator) ^ 2;\\n\\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\\n // in modular arithmetic, doubling the correct bits in each step.\\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\\n\\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\\n // is no longer required.\\n result = prod0 * inverse;\\n return result;\\n }\\n }\\n\\n /**\\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\\n uint256 result = mulDiv(x, y, denominator);\\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\\n result += 1;\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\\n *\\n * Inspired by Henry S. Warren, Jr.'s \\\"Hacker's Delight\\\" (Chapter 11).\\n */\\n function sqrt(uint256 a) internal pure returns (uint256) {\\n if (a == 0) {\\n return 0;\\n }\\n\\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\\n //\\n // We know that the \\\"msb\\\" (most significant bit) of our target number `a` is a power of 2 such that we have\\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\\n //\\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\\n // \\u2192 `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\\n // \\u2192 `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\\n //\\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\\n uint256 result = 1 << (log2(a) >> 1);\\n\\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\\n // into the expected uint128 result.\\n unchecked {\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n return min(result, a / result);\\n }\\n }\\n\\n /**\\n * @notice Calculates sqrt(a), following the selected rounding direction.\\n */\\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = sqrt(a);\\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 2, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log2(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >> 128 > 0) {\\n value >>= 128;\\n result += 128;\\n }\\n if (value >> 64 > 0) {\\n value >>= 64;\\n result += 64;\\n }\\n if (value >> 32 > 0) {\\n value >>= 32;\\n result += 32;\\n }\\n if (value >> 16 > 0) {\\n value >>= 16;\\n result += 16;\\n }\\n if (value >> 8 > 0) {\\n value >>= 8;\\n result += 8;\\n }\\n if (value >> 4 > 0) {\\n value >>= 4;\\n result += 4;\\n }\\n if (value >> 2 > 0) {\\n value >>= 2;\\n result += 2;\\n }\\n if (value >> 1 > 0) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log2(value);\\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 10, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log10(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >= 10 ** 64) {\\n value /= 10 ** 64;\\n result += 64;\\n }\\n if (value >= 10 ** 32) {\\n value /= 10 ** 32;\\n result += 32;\\n }\\n if (value >= 10 ** 16) {\\n value /= 10 ** 16;\\n result += 16;\\n }\\n if (value >= 10 ** 8) {\\n value /= 10 ** 8;\\n result += 8;\\n }\\n if (value >= 10 ** 4) {\\n value /= 10 ** 4;\\n result += 4;\\n }\\n if (value >= 10 ** 2) {\\n value /= 10 ** 2;\\n result += 2;\\n }\\n if (value >= 10 ** 1) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log10(value);\\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 256, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n *\\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\\n */\\n function log256(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >> 128 > 0) {\\n value >>= 128;\\n result += 16;\\n }\\n if (value >> 64 > 0) {\\n value >>= 64;\\n result += 8;\\n }\\n if (value >> 32 > 0) {\\n value >>= 32;\\n result += 4;\\n }\\n if (value >> 16 > 0) {\\n value >>= 16;\\n result += 2;\\n }\\n if (value >> 8 > 0) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log256(value);\\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\\n }\\n }\\n}\\n\",\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol)\\n\\npragma solidity ^0.8.0;\\n\\n// CAUTION\\n// This version of SafeMath should only be used with Solidity 0.8 or later,\\n// because it relies on the compiler's built in overflow checks.\\n\\n/**\\n * @dev Wrappers over Solidity's arithmetic operations.\\n *\\n * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\\n * now has built in overflow checking.\\n */\\nlibrary SafeMath {\\n /**\\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n uint256 c = a + b;\\n if (c < a) return (false, 0);\\n return (true, c);\\n }\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b > a) return (false, 0);\\n return (true, a - b);\\n }\\n }\\n\\n /**\\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\\n // benefit is lost if 'b' is also tested.\\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\\n if (a == 0) return (true, 0);\\n uint256 c = a * b;\\n if (c / a != b) return (false, 0);\\n return (true, c);\\n }\\n }\\n\\n /**\\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b == 0) return (false, 0);\\n return (true, a / b);\\n }\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b == 0) return (false, 0);\\n return (true, a % b);\\n }\\n }\\n\\n /**\\n * @dev Returns the addition of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `+` operator.\\n *\\n * Requirements:\\n *\\n * - Addition cannot overflow.\\n */\\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a + b;\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting on\\n * overflow (when the result is negative).\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a - b;\\n }\\n\\n /**\\n * @dev Returns the multiplication of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `*` operator.\\n *\\n * Requirements:\\n *\\n * - Multiplication cannot overflow.\\n */\\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a * b;\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers, reverting on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator.\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a / b;\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * reverting when dividing by zero.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a % b;\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\\n * overflow (when the result is negative).\\n *\\n * CAUTION: This function is deprecated because it requires allocating memory for the error\\n * message unnecessarily. For custom revert reasons use {trySub}.\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b <= a, errorMessage);\\n return a - b;\\n }\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator. Note: this function uses a\\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\\n * uses an invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b > 0, errorMessage);\\n return a / b;\\n }\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * reverting with custom message when dividing by zero.\\n *\\n * CAUTION: This function is deprecated because it requires allocating memory for the error\\n * message unnecessarily. For custom revert reasons use {tryMod}.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b > 0, errorMessage);\\n return a % b;\\n }\\n }\\n}\\n\",\"keccak256\":\"0x58b21219689909c4f8339af00813760337f7e2e7f169a97fe49e2896dcfb3b9a\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Standard signed math utilities missing in the Solidity language.\\n */\\nlibrary SignedMath {\\n /**\\n * @dev Returns the largest of two signed numbers.\\n */\\n function max(int256 a, int256 b) internal pure returns (int256) {\\n return a > b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the smallest of two signed numbers.\\n */\\n function min(int256 a, int256 b) internal pure returns (int256) {\\n return a < b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the average of two signed numbers without overflow.\\n * The result is rounded towards zero.\\n */\\n function average(int256 a, int256 b) internal pure returns (int256) {\\n // Formula from the book \\\"Hacker's Delight\\\"\\n int256 x = (a & b) + ((a ^ b) >> 1);\\n return x + (int256(uint256(x) >> 255) & (a ^ b));\\n }\\n\\n /**\\n * @dev Returns the absolute unsigned value of a signed value.\\n */\\n function abs(int256 n) internal pure returns (uint256) {\\n unchecked {\\n // must be unchecked in order to support `n = type(int256).min`\\n return uint256(n >= 0 ? n : -n);\\n }\\n }\\n}\\n\",\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/structs/EnumerableSet.sol)\\n// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Library for managing\\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\\n * types.\\n *\\n * Sets have the following properties:\\n *\\n * - Elements are added, removed, and checked for existence in constant time\\n * (O(1)).\\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\\n *\\n * ```solidity\\n * contract Example {\\n * // Add the library methods\\n * using EnumerableSet for EnumerableSet.AddressSet;\\n *\\n * // Declare a set state variable\\n * EnumerableSet.AddressSet private mySet;\\n * }\\n * ```\\n *\\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\\n * and `uint256` (`UintSet`) are supported.\\n *\\n * [WARNING]\\n * ====\\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\\n * unusable.\\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\\n *\\n * In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\\n * array of EnumerableSet.\\n * ====\\n */\\nlibrary EnumerableSet {\\n // To implement this library for multiple types with as little code\\n // repetition as possible, we write it in terms of a generic Set type with\\n // bytes32 values.\\n // The Set implementation uses private functions, and user-facing\\n // implementations (such as AddressSet) are just wrappers around the\\n // underlying Set.\\n // This means that we can only create new EnumerableSets for types that fit\\n // in bytes32.\\n\\n struct Set {\\n // Storage of set values\\n bytes32[] _values;\\n // Position of the value in the `values` array, plus 1 because index 0\\n // means a value is not in the set.\\n mapping(bytes32 => uint256) _indexes;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function _add(Set storage set, bytes32 value) private returns (bool) {\\n if (!_contains(set, value)) {\\n set._values.push(value);\\n // The value is stored at length-1, but we add 1 to all indexes\\n // and use 0 as a sentinel value\\n set._indexes[value] = set._values.length;\\n return true;\\n } else {\\n return false;\\n }\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function _remove(Set storage set, bytes32 value) private returns (bool) {\\n // We read and store the value's index to prevent multiple reads from the same storage slot\\n uint256 valueIndex = set._indexes[value];\\n\\n if (valueIndex != 0) {\\n // Equivalent to contains(set, value)\\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\\n // the array, and then remove the last element (sometimes called as 'swap and pop').\\n // This modifies the order of the array, as noted in {at}.\\n\\n uint256 toDeleteIndex = valueIndex - 1;\\n uint256 lastIndex = set._values.length - 1;\\n\\n if (lastIndex != toDeleteIndex) {\\n bytes32 lastValue = set._values[lastIndex];\\n\\n // Move the last value to the index where the value to delete is\\n set._values[toDeleteIndex] = lastValue;\\n // Update the index for the moved value\\n set._indexes[lastValue] = valueIndex; // Replace lastValue's index to valueIndex\\n }\\n\\n // Delete the slot where the moved value was stored\\n set._values.pop();\\n\\n // Delete the index for the deleted slot\\n delete set._indexes[value];\\n\\n return true;\\n } else {\\n return false;\\n }\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\\n return set._indexes[value] != 0;\\n }\\n\\n /**\\n * @dev Returns the number of values on the set. O(1).\\n */\\n function _length(Set storage set) private view returns (uint256) {\\n return set._values.length;\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\\n return set._values[index];\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function _values(Set storage set) private view returns (bytes32[] memory) {\\n return set._values;\\n }\\n\\n // Bytes32Set\\n\\n struct Bytes32Set {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\\n return _add(set._inner, value);\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\\n return _remove(set._inner, value);\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\\n return _contains(set._inner, value);\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(Bytes32Set storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\\n return _at(set._inner, index);\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n bytes32[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n\\n // AddressSet\\n\\n struct AddressSet {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(AddressSet storage set, address value) internal returns (bool) {\\n return _add(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(AddressSet storage set, address value) internal returns (bool) {\\n return _remove(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(AddressSet storage set, address value) internal view returns (bool) {\\n return _contains(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(AddressSet storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\\n return address(uint160(uint256(_at(set._inner, index))));\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(AddressSet storage set) internal view returns (address[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n address[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n\\n // UintSet\\n\\n struct UintSet {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(UintSet storage set, uint256 value) internal returns (bool) {\\n return _add(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\\n return _remove(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\\n return _contains(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(UintSet storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\\n return uint256(_at(set._inner, index));\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(UintSet storage set) internal view returns (uint256[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n uint256[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n}\\n\",\"keccak256\":\"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514\",\"license\":\"MIT\"},\"lib/pyth-sdk-solidity/IPyth.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\nimport \\\"./PythStructs.sol\\\";\\nimport \\\"./IPythEvents.sol\\\";\\n\\n/// @title Consume prices from the Pyth Network (https://pyth.network/).\\n/// @dev Please refer to the guidance at https://docs.pyth.network/consumers/best-practices for how to consume prices safely.\\n/// @author Pyth Data Association\\ninterface IPyth is IPythEvents {\\n /// @notice Returns the period (in seconds) that a price feed is considered valid since its publish time\\n function getValidTimePeriod() external view returns (uint validTimePeriod);\\n\\n /// @notice Returns the price and confidence interval.\\n /// @dev Reverts if the price has not been updated within the last `getValidTimePeriod()` seconds.\\n /// @param id The Pyth Price Feed ID of which to fetch the price and confidence interval.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPrice(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price and confidence interval.\\n /// @dev Reverts if the EMA price is not available.\\n /// @param id The Pyth Price Feed ID of which to fetch the EMA price and confidence interval.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPrice(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the price of a price feed without any sanity checks.\\n /// @dev This function returns the most recent price update in this contract without any recency checks.\\n /// This function is unsafe as the returned price update may be arbitrarily far in the past.\\n ///\\n /// Users of this function should check the `publishTime` in the price to ensure that the returned price is\\n /// sufficiently recent for their application. If you are considering using this function, it may be\\n /// safer / easier to use either `getPrice` or `getPriceNoOlderThan`.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPriceUnsafe(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the price that is no older than `age` seconds of the current time.\\n /// @dev This function is a sanity-checked version of `getPriceUnsafe` which is useful in\\n /// applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently\\n /// recently.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPriceNoOlderThan(\\n bytes32 id,\\n uint age\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price of a price feed without any sanity checks.\\n /// @dev This function returns the same price as `getEmaPrice` in the case where the price is available.\\n /// However, if the price is not recent this function returns the latest available price.\\n ///\\n /// The returned price can be from arbitrarily far in the past; this function makes no guarantees that\\n /// the returned price is recent or useful for any particular application.\\n ///\\n /// Users of this function should check the `publishTime` in the price to ensure that the returned price is\\n /// sufficiently recent for their application. If you are considering using this function, it may be\\n /// safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPriceUnsafe(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price that is no older than `age` seconds\\n /// of the current time.\\n /// @dev This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in\\n /// applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently\\n /// recently.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPriceNoOlderThan(\\n bytes32 id,\\n uint age\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Update price feeds with given update messages.\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n /// Prices will be updated if they are more recent than the current stored prices.\\n /// The call will succeed even if the update is not the most recent.\\n /// @dev Reverts if the transferred fee is not sufficient or the updateData is invalid.\\n /// @param updateData Array of price update data.\\n function updatePriceFeeds(bytes[] calldata updateData) external payable;\\n\\n /// @notice Wrapper around updatePriceFeeds that rejects fast if a price update is not necessary. A price update is\\n /// necessary if the current on-chain publishTime is older than the given publishTime. It relies solely on the\\n /// given `publishTimes` for the price feeds and does not read the actual price update publish time within `updateData`.\\n ///\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n ///\\n /// `priceIds` and `publishTimes` are two arrays with the same size that correspond to senders known publishTime\\n /// of each priceId when calling this method. If all of price feeds within `priceIds` have updated and have\\n /// a newer or equal publish time than the given publish time, it will reject the transaction to save gas.\\n /// Otherwise, it calls updatePriceFeeds method to update the prices.\\n ///\\n /// @dev Reverts if update is not needed or the transferred fee is not sufficient or the updateData is invalid.\\n /// @param updateData Array of price update data.\\n /// @param priceIds Array of price ids.\\n /// @param publishTimes Array of publishTimes. `publishTimes[i]` corresponds to known `publishTime` of `priceIds[i]`\\n function updatePriceFeedsIfNecessary(\\n bytes[] calldata updateData,\\n bytes32[] calldata priceIds,\\n uint64[] calldata publishTimes\\n ) external payable;\\n\\n /// @notice Returns the required fee to update an array of price updates.\\n /// @param updateData Array of price update data.\\n /// @return feeAmount The required fee in Wei.\\n function getUpdateFee(\\n bytes[] calldata updateData\\n ) external view returns (uint feeAmount);\\n\\n /// @notice Parse `updateData` and return price feeds of the given `priceIds` if they are all published\\n /// within `minPublishTime` and `maxPublishTime`.\\n ///\\n /// You can use this method if you want to use a Pyth price at a fixed time and not the most recent price;\\n /// otherwise, please consider using `updatePriceFeeds`. This method does not store the price updates on-chain.\\n ///\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n ///\\n ///\\n /// @dev Reverts if the transferred fee is not sufficient or the updateData is invalid or there is\\n /// no update for any of the given `priceIds` within the given time range.\\n /// @param updateData Array of price update data.\\n /// @param priceIds Array of price ids.\\n /// @param minPublishTime minimum acceptable publishTime for the given `priceIds`.\\n /// @param maxPublishTime maximum acceptable publishTime for the given `priceIds`.\\n /// @return priceFeeds Array of the price feeds corresponding to the given `priceIds` (with the same order).\\n function parsePriceFeedUpdates(\\n bytes[] calldata updateData,\\n bytes32[] calldata priceIds,\\n uint64 minPublishTime,\\n uint64 maxPublishTime\\n ) external payable returns (PythStructs.PriceFeed[] memory priceFeeds);\\n}\\n\",\"keccak256\":\"0x949c65c65fea0578c09a6fc068e09ed1165adede2c835984cefcb25d76de1de2\",\"license\":\"Apache-2.0\"},\"lib/pyth-sdk-solidity/IPythEvents.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\n/// @title IPythEvents contains the events that Pyth contract emits.\\n/// @dev This interface can be used for listening to the updates for off-chain and testing purposes.\\ninterface IPythEvents {\\n /// @dev Emitted when the price feed with `id` has received a fresh update.\\n /// @param id The Pyth Price Feed ID.\\n /// @param publishTime Publish time of the given price update.\\n /// @param price Price of the given price update.\\n /// @param conf Confidence interval of the given price update.\\n event PriceFeedUpdate(\\n bytes32 indexed id,\\n uint64 publishTime,\\n int64 price,\\n uint64 conf\\n );\\n\\n /// @dev Emitted when a batch price update is processed successfully.\\n /// @param chainId ID of the source chain that the batch price update comes from.\\n /// @param sequenceNumber Sequence number of the batch price update.\\n event BatchPriceFeedUpdate(uint16 chainId, uint64 sequenceNumber);\\n}\\n\",\"keccak256\":\"0x048a35526c2e77d107d43ba336f1dcf31f64cef25ba429ae1f7a0fbc11c23320\",\"license\":\"Apache-2.0\"},\"lib/pyth-sdk-solidity/PythStructs.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\ncontract PythStructs {\\n // A price with a degree of uncertainty, represented as a price +- a confidence interval.\\n //\\n // The confidence interval roughly corresponds to the standard error of a normal distribution.\\n // Both the price and confidence are stored in a fixed-point numeric representation,\\n // `x * (10^expo)`, where `expo` is the exponent.\\n //\\n // Please refer to the documentation at https://docs.pyth.network/consumers/best-practices for how\\n // to how this price safely.\\n struct Price {\\n // Price\\n int64 price;\\n // Confidence interval around the price\\n uint64 conf;\\n // Price exponent\\n int32 expo;\\n // Unix timestamp describing when the price was published\\n uint publishTime;\\n }\\n\\n // PriceFeed represents a current aggregate price from pyth publisher feeds.\\n struct PriceFeed {\\n // The price ID.\\n bytes32 id;\\n // Latest available price\\n Price price;\\n // Latest available exponentially-weighted moving average price\\n Price emaPrice;\\n }\\n}\\n\",\"keccak256\":\"0x95ff0a6d64517348ef604b8bcf246b561a9445d7e607b8f48491c617cfda9b65\",\"license\":\"Apache-2.0\"},\"src/RNSDomainPrice.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { Initializable } from \\\"@openzeppelin/contracts/proxy/utils/Initializable.sol\\\";\\nimport { AccessControlEnumerable } from \\\"@openzeppelin/contracts/access/AccessControlEnumerable.sol\\\";\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { IPyth, PythStructs } from \\\"@pythnetwork/IPyth.sol\\\";\\nimport { INSUnified } from \\\"./interfaces/INSUnified.sol\\\";\\nimport { INSAuction } from \\\"./interfaces/INSAuction.sol\\\";\\nimport { INSDomainPrice } from \\\"./interfaces/INSDomainPrice.sol\\\";\\nimport { PeriodScaler, LibPeriodScaler, Math } from \\\"./libraries/math/PeriodScalingUtils.sol\\\";\\nimport { TimestampWrapper } from \\\"./libraries/TimestampWrapperUtils.sol\\\";\\nimport { LibSafeRange } from \\\"./libraries/math/LibSafeRange.sol\\\";\\nimport { LibString } from \\\"./libraries/LibString.sol\\\";\\nimport { LibRNSDomain } from \\\"./libraries/LibRNSDomain.sol\\\";\\nimport { PythConverter } from \\\"./libraries/pyth/PythConverter.sol\\\";\\n\\ncontract RNSDomainPrice is Initializable, AccessControlEnumerable, INSDomainPrice {\\n using LibString for *;\\n using LibRNSDomain for string;\\n using LibPeriodScaler for PeriodScaler;\\n using PythConverter for PythStructs.Price;\\n\\n /// @dev The threshold tier value (in USD) for Tier 1\\n uint256 private constant TIER_1_THRESHOLD = 200e18;\\n /// @dev The threshold tier value (in USD) for Tier 2\\n uint256 private constant TIER_2_THRESHOLD = 50e18;\\n /// @inheritdoc INSDomainPrice\\n uint8 public constant USD_DECIMALS = 18;\\n /// @inheritdoc INSDomainPrice\\n uint64 public constant MAX_PERCENTAGE = 100_00;\\n /// @inheritdoc INSDomainPrice\\n bytes32 public constant OPERATOR_ROLE = keccak256(\\\"OPERATOR_ROLE\\\");\\n /// @inheritdoc INSDomainPrice\\n bytes32 public constant OVERRIDER_ROLE = keccak256(\\\"OVERRIDER_ROLE\\\");\\n\\n /// @dev Gap for upgradeability.\\n uint256[50] private ____gap;\\n\\n /// @dev Pyth oracle contract\\n IPyth internal _pyth;\\n /// @dev RNSAuction contract\\n INSAuction internal _auction;\\n /// @dev Extra fee for renewals based on the current domain price.\\n uint256 internal _taxRatio;\\n /// @dev Max length of the renewal fee\\n uint256 internal _rnfMaxLength;\\n /// @dev Max acceptable age of the price oracle request\\n uint256 internal _maxAcceptableAge;\\n /// @dev Price feed ID on Pyth for RON/USD\\n bytes32 internal _pythIdForRONUSD;\\n /// @dev The percentage scale from domain price each period\\n PeriodScaler internal _dpDownScaler;\\n\\n /// @dev Mapping from domain length => renewal fee in USD\\n mapping(uint256 length => uint256 usdPrice) internal _rnFee;\\n /// @dev Mapping from name => domain price in USD\\n mapping(bytes32 lbHash => TimestampWrapper usdPrice) internal _dp;\\n /// @dev Mapping from name => inverse bitwise of renewal fee overriding.\\n mapping(bytes32 lbHash => uint256 usdPrice) internal _rnFeeOverriding;\\n /// @dev Mapping from label hash to overriden tier\\n mapping(bytes32 lbHash => uint256 tier) _tierOverriding;\\n\\n constructor() payable {\\n _disableInitializers();\\n }\\n\\n function initialize(\\n address admin,\\n address[] calldata operators,\\n RenewalFee[] calldata renewalFees,\\n uint256 taxRatio,\\n PeriodScaler calldata domainPriceScaleRule,\\n IPyth pyth,\\n INSAuction auction,\\n uint256 maxAcceptableAge,\\n bytes32 pythIdForRONUSD\\n ) external initializer {\\n uint256 length = operators.length;\\n bytes32 operatorRole = OPERATOR_ROLE;\\n\\n for (uint256 i; i < length;) {\\n _setupRole(operatorRole, operators[i]);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n _auction = auction;\\n _setupRole(DEFAULT_ADMIN_ROLE, admin);\\n _setRenewalFeeByLengths(renewalFees);\\n _setTaxRatio(taxRatio);\\n _setDomainPriceScaleRule(domainPriceScaleRule);\\n _setPythOracleConfig(pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getPythOracleConfig() external view returns (IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) {\\n return (_pyth, _maxAcceptableAge, _pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD)\\n external\\n onlyRole(DEFAULT_ADMIN_ROLE)\\n {\\n _setPythOracleConfig(pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getRenewalFeeByLengths() external view returns (RenewalFee[] memory renewalFees) {\\n uint256 rnfMaxLength = _rnfMaxLength;\\n renewalFees = new RenewalFee[](rnfMaxLength);\\n uint256 len;\\n\\n for (uint256 i; i < rnfMaxLength;) {\\n unchecked {\\n len = i + 1;\\n renewalFees[i].labelLength = len;\\n renewalFees[i].fee = _rnFee[len];\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setRenewalFeeByLengths(renewalFees);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getTaxRatio() external view returns (uint256 ratio) {\\n return _taxRatio;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setTaxRatio(uint256 ratio) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setTaxRatio(ratio);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getScaleDownRuleForDomainPrice() external view returns (PeriodScaler memory scaleRule) {\\n return _dpDownScaler;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setScaleDownRuleForDomainPrice(PeriodScaler calldata scaleRule) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setDomainPriceScaleRule(scaleRule);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getOverriddenRenewalFee(string calldata label) external view returns (uint256 usdFee) {\\n usdFee = _rnFeeOverriding[label.hashLabel()];\\n if (usdFee == 0) revert RenewalFeeIsNotOverriden();\\n return ~usdFee;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getOverriddenTier(string calldata label) external view returns (uint256 tier) {\\n tier = _tierOverriding[label.hashLabel()];\\n if (tier == 0) revert TierIsNotOverriden();\\n return ~tier;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkOverrideRenewalFees(bytes32[] calldata lbHashes, uint256[] calldata usdPrices)\\n external\\n onlyRole(OVERRIDER_ROLE)\\n {\\n uint256 length = lbHashes.length;\\n if (length == 0 || length != usdPrices.length) revert InvalidArrayLength();\\n uint256 inverseBitwise;\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n inverseBitwise = ~usdPrices[i];\\n _rnFeeOverriding[lbHashes[i]] = inverseBitwise;\\n emit RenewalFeeOverridingUpdated(operator, lbHashes[i], inverseBitwise);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkOverrideTiers(bytes32[] calldata lbHashes, uint256[] calldata tiers) external onlyRole(OVERRIDER_ROLE) {\\n uint256 length = lbHashes.length;\\n if (length == 0 || length != tiers.length) revert InvalidArrayLength();\\n uint256 inverseBitwise;\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n inverseBitwise = ~tiers[i];\\n _tierOverriding[lbHashes[i]] = inverseBitwise;\\n emit TierOverridingUpdated(operator, lbHashes[i], inverseBitwise);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkTrySetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external onlyRole(OPERATOR_ROLE) returns (bool[] memory updated) {\\n uint256 length = _requireBulkSetDomainPriceArgumentsValid(lbHashes, ronPrices, proofHashes, setTypes);\\n address operator = _msgSender();\\n updated = new bool[](length);\\n\\n for (uint256 i; i < length;) {\\n updated[i] = _setDomainPrice(operator, lbHashes[i], ronPrices[i], proofHashes[i], setTypes[i], false);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkSetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external onlyRole(OVERRIDER_ROLE) {\\n uint256 length = _requireBulkSetDomainPriceArgumentsValid(lbHashes, ronPrices, proofHashes, setTypes);\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n _setDomainPrice(operator, lbHashes[i], ronPrices[i], proofHashes[i], setTypes[i], true);\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getDomainPrice(string memory label) public view returns (uint256 usdPrice, uint256 ronPrice) {\\n usdPrice = _getDomainPrice(label.hashLabel());\\n ronPrice = convertUSDToRON(usdPrice);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getTier(string memory label) public view returns (uint256 tier) {\\n bytes32 lbHash = label.hashLabel();\\n uint256 overriddenTier = _tierOverriding[lbHash];\\n\\n if (overriddenTier != 0) return ~overriddenTier;\\n\\n uint256 overriddenRenewalFee = _rnFeeOverriding[lbHash];\\n uint256 yearlyRenewalFeeByLength = overriddenRenewalFee != 0\\n ? 365 days * ~overriddenRenewalFee\\n : 365 days * _rnFee[Math.min(label.strlen(), _rnfMaxLength)];\\n uint256 tierValue = yearlyRenewalFeeByLength + _getDomainPrice(lbHash) / 2;\\n\\n if (tierValue > TIER_1_THRESHOLD) {\\n return uint256(Tier.Tier1);\\n } else if (tierValue > TIER_2_THRESHOLD) {\\n return uint256(Tier.Tier2);\\n } else {\\n return uint256(Tier.Tier3);\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getRenewalFee(string memory label, uint256 duration)\\n public\\n view\\n returns (UnitPrice memory basePrice, UnitPrice memory tax)\\n {\\n uint256 nameLen = label.strlen();\\n bytes32 lbHash = label.hashLabel();\\n uint256 overriddenRenewalFee = _rnFeeOverriding[lbHash];\\n\\n if (overriddenRenewalFee != 0) {\\n basePrice.usd = duration * ~overriddenRenewalFee;\\n } else {\\n uint256 renewalFeeByLength = _rnFee[Math.min(nameLen, _rnfMaxLength)];\\n basePrice.usd = duration * renewalFeeByLength;\\n uint256 id = LibRNSDomain.toId(LibRNSDomain.RON_ID, label);\\n INSAuction auction = _auction;\\n if (auction.reserved(id)) {\\n INSUnified rns = auction.getRNSUnified();\\n uint256 expiry = LibSafeRange.addWithUpperbound(rns.getRecord(id).mut.expiry, duration, type(uint64).max);\\n (INSAuction.DomainAuction memory domainAuction,) = auction.getAuction(id);\\n uint256 claimedAt = domainAuction.bid.claimedAt;\\n if (claimedAt != 0 && expiry - claimedAt > auction.MAX_AUCTION_DOMAIN_EXPIRY()) {\\n revert ExceedAuctionDomainExpiry();\\n }\\n // Tax is added to the name reserved for the auction\\n tax.usd = Math.mulDiv(_taxRatio, _getDomainPrice(lbHash), MAX_PERCENTAGE);\\n }\\n }\\n\\n tax.ron = convertUSDToRON(tax.usd);\\n basePrice.ron = convertUSDToRON(basePrice.usd);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function convertUSDToRON(uint256 usdWei) public view returns (uint256 ronWei) {\\n return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).inverse({ expo: -18 }).mul({\\n inpWei: usdWei,\\n inpDecimals: int32(uint32(USD_DECIMALS)),\\n outDecimals: 18\\n });\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function convertRONToUSD(uint256 ronWei) public view returns (uint256 usdWei) {\\n return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).mul({\\n inpWei: ronWei,\\n inpDecimals: 18,\\n outDecimals: int32(uint32(USD_DECIMALS))\\n });\\n }\\n\\n /**\\n * @dev Reverts if the arguments of the method {bulkSetDomainPrice} is invalid.\\n */\\n function _requireBulkSetDomainPriceArgumentsValid(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) internal pure returns (uint256 length) {\\n length = lbHashes.length;\\n if (length == 0 || ronPrices.length != length || proofHashes.length != length || setTypes.length != length) {\\n revert InvalidArrayLength();\\n }\\n }\\n\\n /**\\n * @dev Helper method to set domain price.\\n *\\n * Emits an event {DomainPriceUpdated} optionally.\\n */\\n function _setDomainPrice(\\n address operator,\\n bytes32 lbHash,\\n uint256 ronPrice,\\n bytes32 proofHash,\\n uint256 setType,\\n bool forced\\n ) internal returns (bool updated) {\\n uint256 usdPrice = convertRONToUSD(ronPrice);\\n TimestampWrapper storage dp = _dp[lbHash];\\n updated = forced || dp.value < usdPrice;\\n\\n if (updated) {\\n dp.value = usdPrice;\\n dp.timestamp = block.timestamp;\\n emit DomainPriceUpdated(operator, lbHash, usdPrice, proofHash, setType);\\n }\\n }\\n\\n /**\\n * @dev Sets renewal reservation ratio.\\n *\\n * Emits an event {TaxRatioUpdated}.\\n */\\n function _setTaxRatio(uint256 ratio) internal {\\n _taxRatio = ratio;\\n emit TaxRatioUpdated(_msgSender(), ratio);\\n }\\n\\n /**\\n * @dev Sets domain price scale rule.\\n *\\n * Emits events {DomainPriceScaleRuleUpdated}.\\n */\\n function _setDomainPriceScaleRule(PeriodScaler calldata domainPriceScaleRule) internal {\\n _dpDownScaler = domainPriceScaleRule;\\n emit DomainPriceScaleRuleUpdated(_msgSender(), domainPriceScaleRule.ratio, domainPriceScaleRule.period);\\n }\\n\\n /**\\n * @dev Sets renewal fee.\\n *\\n * Emits events {RenewalFeeByLengthUpdated}.\\n * Emits an event {MaxRenewalFeeLengthUpdated} optionally.\\n */\\n function _setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) internal {\\n address operator = _msgSender();\\n RenewalFee memory renewalFee;\\n uint256 length = renewalFees.length;\\n uint256 maxRenewalFeeLength = _rnfMaxLength;\\n\\n for (uint256 i; i < length;) {\\n renewalFee = renewalFees[i];\\n maxRenewalFeeLength = Math.max(maxRenewalFeeLength, renewalFee.labelLength);\\n _rnFee[renewalFee.labelLength] = renewalFee.fee;\\n emit RenewalFeeByLengthUpdated(operator, renewalFee.labelLength, renewalFee.fee);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n\\n if (maxRenewalFeeLength != _rnfMaxLength) {\\n _rnfMaxLength = maxRenewalFeeLength;\\n emit MaxRenewalFeeLengthUpdated(operator, maxRenewalFeeLength);\\n }\\n }\\n\\n /**\\n * @dev Sets Pyth Oracle config.\\n *\\n * Emits events {PythOracleConfigUpdated}.\\n */\\n function _setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) internal {\\n _pyth = pyth;\\n _maxAcceptableAge = maxAcceptableAge;\\n _pythIdForRONUSD = pythIdForRONUSD;\\n emit PythOracleConfigUpdated(_msgSender(), pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @dev Returns the current domain price applied the business rule: deduced x% each y seconds.\\n */\\n function _getDomainPrice(bytes32 lbHash) internal view returns (uint256) {\\n TimestampWrapper storage dp = _dp[lbHash];\\n uint256 lastSyncedAt = dp.timestamp;\\n if (lastSyncedAt == 0) return 0;\\n\\n uint256 passedDuration = block.timestamp - lastSyncedAt;\\n return _dpDownScaler.scaleDown({ v: dp.value, maxR: MAX_PERCENTAGE, dur: passedDuration });\\n }\\n}\\n\",\"keccak256\":\"0xba0a37161cd0cf02d08e62eba722c25c748834ca08e0231fbc6c47a97098d6b5\",\"license\":\"MIT\"},\"src/interfaces/INSAuction.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { INSUnified } from \\\"./INSUnified.sol\\\";\\nimport { EventRange } from \\\"../libraries/LibEventRange.sol\\\";\\n\\ninterface INSAuction {\\n error NotYetEnded();\\n error NoOneBidded();\\n error NullAssignment();\\n error AlreadyBidding(uint256 id);\\n error RatioIsTooLarge();\\n error NameNotReserved();\\n error InvalidEventRange();\\n error QueryIsNotInPeriod();\\n error InsufficientAmount();\\n error InvalidArrayLength();\\n error ContractBidderIsForbidden();\\n error EventIsNotCreatedOrAlreadyStarted();\\n\\n struct Bid {\\n address payable bidder;\\n uint256 price;\\n uint256 timestamp;\\n uint256 claimedAt;\\n }\\n\\n struct DomainAuction {\\n bytes32 auctionId;\\n uint256 startingPrice;\\n Bid bid;\\n }\\n\\n /// @dev Emitted when an auction is set.\\n event AuctionEventSet(bytes32 indexed auctionId, EventRange range);\\n /// @dev Emitted when the labels are listed for auction.\\n event LabelsListed(bytes32 indexed auctionId, uint256[] ids, uint256[] startingPrices);\\n /// @dev Emitted when a bid is placed for a name.\\n event BidPlaced(\\n bytes32 indexed auctionId,\\n uint256 indexed id,\\n uint256 price,\\n address payable bidder,\\n uint256 previousPrice,\\n address previousBidder\\n );\\n /// @dev Emitted when the treasury is updated.\\n event TreasuryUpdated(address indexed addr);\\n /// @dev Emitted when bid gap ratio is updated.\\n event BidGapRatioUpdated(uint256 ratio);\\n\\n /**\\n * @dev The maximum expiry duration\\n */\\n function MAX_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev The maximum expiry duration of a domain after transferring to bidder.\\n */\\n function MAX_AUCTION_DOMAIN_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev Returns the operator role.\\n */\\n function OPERATOR_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\\n */\\n function MAX_PERCENTAGE() external pure returns (uint256);\\n\\n /**\\n * @dev The expiry duration of a domain after transferring to bidder.\\n */\\n function DOMAIN_EXPIRY_DURATION() external pure returns (uint64);\\n\\n /**\\n * @dev Claims domain names for auction.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n *\\n * @param labels The domain names. Eg, ['foo'] for 'foo.ron'\\n * @return ids The id corresponding for namehash of domain names.\\n */\\n function bulkRegister(string[] calldata labels) external returns (uint256[] memory ids);\\n\\n /**\\n * @dev Checks whether a domain name is currently reserved for auction or not.\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function reserved(uint256 id) external view returns (bool);\\n\\n /**\\n * @dev Claim unbidded names and transfer them to the specified addresses.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n *\\n * @param tos The array of addresses to transfer domain names to.\\n * @param ids The id corresponding for namehash of domain names.\\n * @param allowFailure Flag to indicate whether to allow failure if a domain is already being bid on.\\n * @return claimeds An array indicating whether each domain name was successfully claimed.\\n */\\n function bulkClaimUnbiddedNames(address[] calldata tos, uint256[] calldata ids, bool allowFailure)\\n external\\n returns (bool[] memory claimeds);\\n\\n /**\\n * @dev Creates a new auction to sale with a specific time period.\\n *\\n * Requirements:\\n * - The method caller must be admin.\\n *\\n * Emits an event {AuctionEventSet}.\\n *\\n * @return auctionId The auction id\\n * @notice Please use the method `setAuctionNames` to list all the reserved names.\\n */\\n function createAuctionEvent(EventRange calldata range) external returns (bytes32 auctionId);\\n\\n /**\\n * @dev Updates the auction details.\\n *\\n * Requirements:\\n * - The method caller must be admin.\\n *\\n * Emits an event {AuctionEventSet}.\\n */\\n function setAuctionEvent(bytes32 auctionId, EventRange calldata range) external;\\n\\n /**\\n * @dev Returns the event range of an auction.\\n */\\n function getAuctionEvent(bytes32 auctionId) external view returns (EventRange memory);\\n\\n /**\\n * @dev Lists reserved names to sale in a specified auction.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n * - Array length are matched and larger than 0.\\n * - Only allow to set when the domain is:\\n * + Not in any auction.\\n * + Or, in the current auction.\\n * + Or, this name is not bided.\\n *\\n * Emits an event {LabelsListed}.\\n *\\n * Note: If the name is already listed, this method replaces with a new input value.\\n *\\n * @param ids The namehashes id of domain names. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function listNamesForAuction(bytes32 auctionId, uint256[] calldata ids, uint256[] calldata startingPrices) external;\\n\\n /**\\n * @dev Places a bid for a domain name.\\n *\\n * Requirements:\\n * - The name is listed, or the auction is happening.\\n * - The msg.value is larger than the current bid price or the auction starting price.\\n *\\n * Emits an event {BidPlaced}.\\n *\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function placeBid(uint256 id) external payable;\\n\\n /**\\n * @dev Returns the highest bid and address of the bidder.\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function getAuction(uint256 id) external view returns (DomainAuction memory, uint256 beatPrice);\\n\\n /**\\n * @dev Bulk claims the bid name.\\n *\\n * Requirements:\\n * - Must be called after ended time.\\n * - The method caller can be anyone.\\n *\\n * @param ids The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function bulkClaimBidNames(uint256[] calldata ids) external returns (uint256[] memory claimedAts);\\n\\n /**\\n * @dev Returns the treasury.\\n */\\n function getTreasury() external view returns (address);\\n\\n /**\\n * @dev Returns the gap ratio between 2 bids with the starting price. Value in range [0;100_00] is 0%-100%.\\n */\\n function getBidGapRatio() external view returns (uint256);\\n\\n /**\\n * @dev Sets the treasury.\\n *\\n * Requirements:\\n * - The method caller must be admin\\n *\\n * Emits an event {TreasuryUpdated}.\\n */\\n function setTreasury(address payable) external;\\n\\n /**\\n * @dev Sets commission ratio. Value in range [0;100_00] is 0%-100%.\\n *\\n * Requirements:\\n * - The method caller must be admin\\n *\\n * Emits an event {BidGapRatioUpdated}.\\n */\\n function setBidGapRatio(uint256) external;\\n\\n /**\\n * @dev Returns RNSUnified contract.\\n */\\n function getRNSUnified() external view returns (INSUnified);\\n}\\n\",\"keccak256\":\"0x406d5d682af4652b6c9c26948a4d4e31b6b88c056177973bb5f7d32141ae658c\",\"license\":\"MIT\"},\"src/interfaces/INSDomainPrice.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { PeriodScaler } from \\\"../libraries/math/PeriodScalingUtils.sol\\\";\\nimport { IPyth } from \\\"@pythnetwork/IPyth.sol\\\";\\n\\ninterface INSDomainPrice {\\n error InvalidArrayLength();\\n error RenewalFeeIsNotOverriden();\\n error TierIsNotOverriden();\\n error ExceedAuctionDomainExpiry();\\n\\n /// @dev The tier of a domain.\\n enum Tier {\\n Unknown,\\n Tier1,\\n Tier2,\\n Tier3\\n }\\n\\n struct RenewalFee {\\n uint256 labelLength;\\n uint256 fee;\\n }\\n\\n struct UnitPrice {\\n uint256 usd;\\n uint256 ron;\\n }\\n\\n /// @dev Emitted when the renewal reservation ratio is updated.\\n event TaxRatioUpdated(address indexed operator, uint256 indexed ratio);\\n /// @dev Emitted when the maximum length of renewal fee is updated.\\n event MaxRenewalFeeLengthUpdated(address indexed operator, uint256 indexed maxLength);\\n /// @dev Emitted when the renew fee is updated.\\n event RenewalFeeByLengthUpdated(address indexed operator, uint256 indexed labelLength, uint256 renewalFee);\\n /// @dev Emitted when the renew fee of a domain is overridden. Value of `inverseRenewalFee` is 0 when not overridden.\\n event RenewalFeeOverridingUpdated(address indexed operator, bytes32 indexed labelHash, uint256 inverseRenewalFee);\\n /// @dev Emitted when the tier of a domain is overridden.\\n event TierOverridingUpdated(address indexed operator, bytes32 indexed labelHash, uint256 indexed tier);\\n\\n /// @dev Emitted when the domain price is updated.\\n event DomainPriceUpdated(\\n address indexed operator, bytes32 indexed labelHash, uint256 price, bytes32 indexed proofHash, uint256 setType\\n );\\n /// @dev Emitted when the rule to rescale domain price is updated.\\n event DomainPriceScaleRuleUpdated(address indexed operator, uint192 ratio, uint64 period);\\n\\n /// @dev Emitted when the Pyth Oracle config is updated.\\n event PythOracleConfigUpdated(\\n address indexed operator, IPyth indexed pyth, uint256 maxAcceptableAge, bytes32 indexed pythIdForRONUSD\\n );\\n\\n /**\\n * @dev Returns the Pyth oracle config.\\n */\\n function getPythOracleConfig() external view returns (IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD);\\n\\n /**\\n * @dev Sets the Pyth oracle config.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {PythOracleConfigUpdated}.\\n */\\n function setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) external;\\n\\n /**\\n * @dev Returns the percentage to scale from domain price each period.\\n */\\n function getScaleDownRuleForDomainPrice() external view returns (PeriodScaler memory dpScaleRule);\\n\\n /**\\n * @dev Sets the percentage to scale from domain price each period.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {DomainPriceScaleRuleUpdated}.\\n *\\n * @notice Applies for the business rule: -x% each y seconds.\\n */\\n function setScaleDownRuleForDomainPrice(PeriodScaler calldata scaleRule) external;\\n\\n /**\\n * @dev Returns the renewal fee by lengths.\\n */\\n function getRenewalFeeByLengths() external view returns (RenewalFee[] memory renewalFees);\\n\\n /**\\n * @dev Sets the renewal fee by lengths\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {RenewalFeeByLengthUpdated}.\\n * Emits an event {MaxRenewalFeeLengthUpdated} optionally.\\n */\\n function setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) external;\\n\\n /**\\n * @dev Returns tax ratio.\\n */\\n function getTaxRatio() external view returns (uint256 taxRatio);\\n\\n /**\\n * @dev Sets renewal reservation ratio.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits an event {TaxRatioUpdated}.\\n */\\n function setTaxRatio(uint256 ratio) external;\\n\\n /**\\n * @dev Return the domain price.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n */\\n function getDomainPrice(string memory label) external view returns (uint256 usdPrice, uint256 ronPrice);\\n\\n /**\\n * @dev Returns the renewal fee in USD and RON.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n * @param duration Amount of second(s).\\n */\\n function getRenewalFee(string calldata label, uint256 duration)\\n external\\n view\\n returns (UnitPrice memory basePrice, UnitPrice memory tax);\\n\\n /**\\n * @dev Returns the tier of a label.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n * @return tier The tier of the label.\\n */\\n function getTier(string calldata label) external view returns (uint256 tier);\\n\\n /**\\n * @dev Returns the renewal fee of a label. Reverts if not overridden.\\n * @notice This method is to help developers check the domain renewal fee overriding. Consider using method\\n * {getRenewalFee} instead for full handling of renewal fees.\\n */\\n function getOverriddenRenewalFee(string memory label) external view returns (uint256 usdFee);\\n\\n /**\\n * @dev Returns the tier of a label. Reverts if not overridden.\\n * @notice This method is to help developers check the domain tier overriding. Consider using method {getTier} instead\\n * for full handling of tiers.\\n */\\n function getOverriddenTier(string memory label) external view returns (uint256 tier);\\n\\n /**\\n * @dev Bulk override renewal fees.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {RenewalFeeOverridingUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param usdPrices Array of prices in USD. Leave 2^256 - 1 to remove overriding.\\n */\\n function bulkOverrideRenewalFees(bytes32[] calldata lbHashes, uint256[] calldata usdPrices) external;\\n\\n /**\\n * @dev Bulk override tiers.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {TierOverridingUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param tiers Array of tiers. Leave 2^256 - 1 to remove overriding.\\n */\\n function bulkOverrideTiers(bytes32[] calldata lbHashes, uint256[] calldata tiers) external;\\n\\n /**\\n * @dev Bulk try to set domain prices. Returns a boolean array indicating whether domain prices at the corresponding\\n * indexes if set or not.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n * - The price should be larger than current domain price or it will not be updated.\\n *\\n * Emits events {DomainPriceUpdated} optionally.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param ronPrices Array of prices in (W)RON token.\\n * @param proofHashes Array of proof hashes.\\n * @param setTypes Array of update types from the operator service.\\n */\\n function bulkTrySetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external returns (bool[] memory updated);\\n\\n /**\\n * @dev Bulk override domain prices.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {DomainPriceUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param ronPrices Array of prices in (W)RON token.\\n * @param proofHashes Array of proof hashes.\\n * @param setTypes Array of update types from the operator service.\\n */\\n function bulkSetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external;\\n\\n /**\\n * @dev Returns the converted amount from USD to RON.\\n */\\n function convertUSDToRON(uint256 usdAmount) external view returns (uint256 ronAmount);\\n\\n /**\\n * @dev Returns the converted amount from RON to USD.\\n */\\n function convertRONToUSD(uint256 ronAmount) external view returns (uint256 usdAmount);\\n\\n /**\\n * @dev Value equals to keccak256(\\\"OPERATOR_ROLE\\\").\\n */\\n function OPERATOR_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the overrider role.\\n */\\n function OVERRIDER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\\n */\\n function MAX_PERCENTAGE() external pure returns (uint64);\\n\\n /**\\n * @dev Decimal for USD.\\n */\\n function USD_DECIMALS() external pure returns (uint8);\\n}\\n\",\"keccak256\":\"0x7bb3e2ecc33f60ade262ad20fc621474ca1c5bcd247b980caa564be256afb59d\",\"license\":\"MIT\"},\"src/interfaces/INSUnified.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { IERC721Metadata } from \\\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\\\";\\nimport { IAccessControlEnumerable } from \\\"@openzeppelin/contracts/access/IAccessControlEnumerable.sol\\\";\\nimport { ModifyingIndicator } from \\\"../types/ModifyingIndicator.sol\\\";\\n\\ninterface INSUnified is IAccessControlEnumerable, IERC721Metadata {\\n /// @dev Error: The provided token id is expired.\\n error Expired();\\n /// @dev Error: The provided token id is unexists.\\n error Unexists();\\n /// @dev Error: The provided token id's depth level is greater than 3.\\n error ThirdLevelDomainUnallowed();\\n /// @dev Error: The provided id expiry is greater than parent id expiry.\\n error ExceedParentExpiry();\\n /// @dev Error: The provided name is unavailable for registration.\\n error Unavailable();\\n /// @dev Error: The sender lacks the necessary permissions.\\n error Unauthorized();\\n /// @dev Error: Missing controller role required for modification.\\n error MissingControllerRole();\\n /// @dev Error: Attempting to set an immutable field, which cannot be modified.\\n error CannotSetImmutableField();\\n /// @dev Error: Missing protected settler role required for modification.\\n error MissingProtectedSettlerRole();\\n /// @dev Error: Attempting to set an expiry time that is not larger than the previous one.\\n error ExpiryTimeMustBeLargerThanTheOldOne();\\n /// @dev Error: The provided name must be registered or is in a grace period.\\n error NameMustBeRegisteredOrInGracePeriod();\\n\\n /**\\n * | Fields\\\\Idc | Modifying Indicator |\\n * | ---------- | ------------------- |\\n * | depth | 0b00000001 |\\n * | parentId | 0b00000010 |\\n * | label | 0b00000100 |\\n */\\n struct ImmutableRecord {\\n // The level-th of a domain.\\n uint8 depth;\\n // The node of parent token. Eg, parent node of vip.duke.ron equals to namehash('duke.ron')\\n uint256 parentId;\\n // The label of a domain. Eg, label is vip for domain vip.duke.ron\\n string label;\\n }\\n\\n /**\\n * | Fields\\\\Idc,Roles | Modifying Indicator | Controller | Protected setter | (Parent) Owner/Spender |\\n * | ---------------- | ------------------- | ---------- | ---------------- | ---------------------- |\\n * | resolver | 0b00001000 | x | | x |\\n * | owner | 0b00010000 | x | | x |\\n * | expiry | 0b00100000 | x | | |\\n * | protected | 0b01000000 | | x | |\\n * Note: (Parent) Owner/Spender means parent owner or current owner or current token spender.\\n */\\n struct MutableRecord {\\n // The resolver address.\\n address resolver;\\n // The record owner. This field must equal to the owner of token.\\n address owner;\\n // Expiry timestamp.\\n uint64 expiry;\\n // Flag indicating whether the token is protected or not.\\n bool protected;\\n }\\n\\n struct Record {\\n ImmutableRecord immut;\\n MutableRecord mut;\\n }\\n\\n /// @dev Emitted when a base URI is updated.\\n event BaseURIUpdated(address indexed operator, string newURI);\\n /// @dev Emitted when the grace period for all domain is updated.\\n event GracePeriodUpdated(address indexed operator, uint64 newGracePeriod);\\n\\n /**\\n * @dev Emitted when the record of node is updated.\\n * @param indicator The binary index of updated fields. Eg, 0b10101011 means fields at position 1, 2, 4, 6, 8 (right\\n * to left) needs to be updated.\\n * @param record The updated fields.\\n */\\n event RecordUpdated(uint256 indexed node, ModifyingIndicator indicator, Record record);\\n\\n /**\\n * @dev Returns the controller role.\\n * @notice Can set all fields {Record.mut} in token record, excepting {Record.mut.protected}.\\n */\\n function CONTROLLER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the protected setter role.\\n * @notice Can set field {Record.mut.protected} in token record by using method `bulkSetProtected`.\\n */\\n function PROTECTED_SETTLER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the reservation role.\\n * @notice Never expire for token owner has this role.\\n */\\n function RESERVATION_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the max expiry value.\\n */\\n function MAX_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev Returns the name hash output of a domain.\\n */\\n function namehash(string memory domain) external pure returns (bytes32 node);\\n\\n /**\\n * @dev Returns true if the specified name is available for registration.\\n * Note: Only available after passing the grace period.\\n */\\n function available(uint256 id) external view returns (bool);\\n\\n /**\\n * @dev Returns the grace period in second(s).\\n * Note: This period affects the availability of the domain.\\n */\\n function getGracePeriod() external view returns (uint64);\\n\\n /**\\n * @dev Returns the total minted ids.\\n * Note: Burning id will not affect `totalMinted`.\\n */\\n function totalMinted() external view returns (uint256);\\n\\n /**\\n * @dev Sets the grace period in second(s).\\n *\\n * Requirements:\\n * - The method caller must have controller role.\\n *\\n * Note: This period affects the availability of the domain.\\n */\\n function setGracePeriod(uint64) external;\\n\\n /**\\n * @dev Sets the base uri.\\n *\\n * Requirements:\\n * - The method caller must be contract owner.\\n *\\n */\\n function setBaseURI(string calldata baseTokenURI) external;\\n\\n /**\\n * @dev Mints token for subnode.\\n *\\n * Requirements:\\n * - The token must be available.\\n * - The method caller must be (parent) owner or approved spender. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n *\\n * @param parentId The parent node to mint or create subnode.\\n * @param label The domain label. Eg, label is duke for domain duke.ron.\\n * @param resolver The resolver address.\\n * @param owner The token owner.\\n * @param duration Duration in second(s) to expire. Leave 0 to set as parent.\\n */\\n function mint(uint256 parentId, string calldata label, address resolver, address owner, uint64 duration)\\n external\\n returns (uint64 expiryTime, uint256 id);\\n\\n /**\\n * @dev Returns all record of a domain.\\n * Reverts if the token is non existent.\\n */\\n function getRecord(uint256 id) external view returns (Record memory record);\\n\\n /**\\n * @dev Returns the domain name of id.\\n */\\n function getDomain(uint256 id) external view returns (string memory domain);\\n\\n /**\\n * @dev Returns whether the requester is able to modify the record based on the updated index.\\n * Note: This method strictly follows the permission of struct {MutableRecord}.\\n */\\n function canSetRecord(address requester, uint256 id, ModifyingIndicator indicator)\\n external\\n view\\n returns (bool, bytes4 error);\\n\\n /**\\n * @dev Sets record of existing token. Update operation for {Record.mut}.\\n *\\n * Requirements:\\n * - The method caller must have role based on the corresponding `indicator`. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function setRecord(uint256 id, ModifyingIndicator indicator, MutableRecord calldata record) external;\\n\\n /**\\n * @dev Reclaims ownership. Update operation for {Record.mut.owner}.\\n *\\n * Requirements:\\n * - The method caller should have controller role.\\n * - The method caller should be (parent) owner or approved spender. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function reclaim(uint256 id, address owner) external;\\n\\n /**\\n * @dev Renews token. Update operation for {Record.mut.expiry}.\\n *\\n * Requirements:\\n * - The method caller should have controller role.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function renew(uint256 id, uint64 duration) external returns (uint64 expiry);\\n\\n /**\\n * @dev Sets expiry time for a token. Update operation for {Record.mut.expiry}.\\n *\\n * Requirements:\\n * - The method caller must have controller role.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function setExpiry(uint256 id, uint64 expiry) external;\\n\\n /**\\n * @dev Sets the protected status of a list of ids. Update operation for {Record.mut.protected}.\\n *\\n * Requirements:\\n * - The method caller must have protected setter role.\\n *\\n * Emits events {RecordUpdated}.\\n */\\n function bulkSetProtected(uint256[] calldata ids, bool protected) external;\\n}\\n\",\"keccak256\":\"0x98e2e77490d7fd6d87a8e9800223bb2f60a33e7338e2f65f64a3aed4737c035c\",\"license\":\"MIT\"},\"src/libraries/LibEventRange.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nstruct EventRange {\\n uint256 startedAt;\\n uint256 endedAt;\\n}\\n\\nlibrary LibEventRange {\\n /**\\n * @dev Checks whether the event range is valid.\\n */\\n function valid(EventRange calldata range) internal pure returns (bool) {\\n return range.startedAt <= range.endedAt;\\n }\\n\\n /**\\n * @dev Returns whether the current range is not yet started.\\n */\\n function isNotYetStarted(EventRange memory range) internal view returns (bool) {\\n return block.timestamp < range.startedAt;\\n }\\n\\n /**\\n * @dev Returns whether the current range is ended or not.\\n */\\n function isEnded(EventRange memory range) internal view returns (bool) {\\n return range.endedAt <= block.timestamp;\\n }\\n\\n /**\\n * @dev Returns whether the current block is in period.\\n */\\n function isInPeriod(EventRange memory range) internal view returns (bool) {\\n return range.startedAt <= block.timestamp && block.timestamp < range.endedAt;\\n }\\n}\\n\",\"keccak256\":\"0x95bf015c4245919cbcbcd810dd597fdb23eb4e58b62df8ef74b1c8c60a969bea\",\"license\":\"MIT\"},\"src/libraries/LibRNSDomain.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nlibrary LibRNSDomain {\\n /// @dev Value equals to namehash('ron')\\n uint256 internal constant RON_ID = 0xba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d688;\\n /// @dev Value equals to namehash('addr.reverse')\\n uint256 internal constant ADDR_REVERSE_ID = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2;\\n\\n /**\\n * @dev Calculate the corresponding id given parentId and label.\\n */\\n function toId(uint256 parentId, string memory label) internal pure returns (uint256 id) {\\n assembly (\\\"memory-safe\\\") {\\n mstore(0x0, parentId)\\n mstore(0x20, keccak256(add(label, 32), mload(label)))\\n id := keccak256(0x0, 64)\\n }\\n }\\n\\n /**\\n * @dev Calculates the hash of the label.\\n */\\n function hashLabel(string memory label) internal pure returns (bytes32 hashed) {\\n assembly (\\\"memory-safe\\\") {\\n hashed := keccak256(add(label, 32), mload(label))\\n }\\n }\\n\\n /**\\n * @dev Calculate the RNS namehash of a str.\\n */\\n function namehash(string memory str) internal pure returns (bytes32 hashed) {\\n // notice: this method is case-sensitive, ensure the string is lowercased before calling this method\\n assembly (\\\"memory-safe\\\") {\\n // load str length\\n let len := mload(str)\\n // returns bytes32(0x0) if length is zero\\n if iszero(iszero(len)) {\\n let hashedLen\\n // compute pointer to str[0]\\n let head := add(str, 32)\\n // compute pointer to str[length - 1]\\n let tail := add(head, sub(len, 1))\\n // cleanup dirty bytes if contains any\\n mstore(0x0, 0)\\n // loop backwards from `tail` to `head`\\n for { let i := tail } iszero(lt(i, head)) { i := sub(i, 1) } {\\n // check if `i` is `head`\\n let isHead := eq(i, head)\\n // check if `str[i-1]` is \\\".\\\"\\n // `0x2e` == bytes1(\\\".\\\")\\n let isDotNext := eq(shr(248, mload(sub(i, 1))), 0x2e)\\n if or(isHead, isDotNext) {\\n // size = distance(length, i) - hashedLength + 1\\n let size := add(sub(sub(tail, i), hashedLen), 1)\\n mstore(0x20, keccak256(i, size))\\n mstore(0x0, keccak256(0x0, 64))\\n // skip \\\".\\\" thereby + 1\\n hashedLen := add(hashedLen, add(size, 1))\\n }\\n }\\n }\\n hashed := mload(0x0)\\n }\\n }\\n}\\n\",\"keccak256\":\"0x715029b2b420c6ec00bc1f939b837acf45d247fde8426089575b0e7b5e84518b\",\"license\":\"MIT\"},\"src/libraries/LibString.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nlibrary LibString {\\n error InvalidStringLength();\\n error InvalidCharacter(bytes1 char);\\n\\n /// @dev Lookup constant for method. See more detail at https://eips.ethereum.org/EIPS/eip-181\\n bytes32 private constant LOOKUP = 0x3031323334353637383961626364656600000000000000000000000000000000;\\n\\n /**\\n * @dev Returns the length of a given string\\n *\\n * @param s The string to measure the length of\\n * @return The length of the input string\\n */\\n function strlen(string memory s) internal pure returns (uint256) {\\n unchecked {\\n uint256 i;\\n uint256 len;\\n uint256 bytelength = bytes(s).length;\\n for (len; i < bytelength; len++) {\\n bytes1 b = bytes(s)[i];\\n if (b < 0x80) {\\n i += 1;\\n } else if (b < 0xE0) {\\n i += 2;\\n } else if (b < 0xF0) {\\n i += 3;\\n } else if (b < 0xF8) {\\n i += 4;\\n } else if (b < 0xFC) {\\n i += 5;\\n } else {\\n i += 6;\\n }\\n }\\n return len;\\n }\\n }\\n\\n /**\\n * @dev Converts an address to string.\\n */\\n function toString(address addr) internal pure returns (string memory stringifiedAddr) {\\n assembly (\\\"memory-safe\\\") {\\n mstore(stringifiedAddr, 40)\\n let ptr := add(stringifiedAddr, 0x20)\\n for { let i := 40 } gt(i, 0) { } {\\n i := sub(i, 1)\\n mstore8(add(i, ptr), byte(and(addr, 0xf), LOOKUP))\\n addr := div(addr, 0x10)\\n\\n i := sub(i, 1)\\n mstore8(add(i, ptr), byte(and(addr, 0xf), LOOKUP))\\n addr := div(addr, 0x10)\\n }\\n }\\n }\\n\\n /**\\n * @dev Converts string to address.\\n * Reverts if the string length is not equal to 40.\\n */\\n function parseAddr(string memory stringifiedAddr) internal pure returns (address) {\\n unchecked {\\n if (bytes(stringifiedAddr).length != 40) revert InvalidStringLength();\\n uint160 addr;\\n for (uint256 i = 0; i < 40; i += 2) {\\n addr *= 0x100;\\n addr += uint160(hexCharToDec(bytes(stringifiedAddr)[i])) * 0x10;\\n addr += hexCharToDec(bytes(stringifiedAddr)[i + 1]);\\n }\\n return address(addr);\\n }\\n }\\n\\n /**\\n * @dev Converts a hex char (0-9, a-f, A-F) to decimal number.\\n * Reverts if the char is invalid.\\n */\\n function hexCharToDec(bytes1 c) private pure returns (uint8 r) {\\n unchecked {\\n if ((bytes1(\\\"a\\\") <= c) && (c <= bytes1(\\\"f\\\"))) r = uint8(c) - 87;\\n else if ((bytes1(\\\"A\\\") <= c) && (c <= bytes1(\\\"F\\\"))) r = uint8(c) - 55;\\n else if ((bytes1(\\\"0\\\") <= c) && (c <= bytes1(\\\"9\\\"))) r = uint8(c) - 48;\\n else revert InvalidCharacter(c);\\n }\\n }\\n}\\n\",\"keccak256\":\"0x9d456b294f0e44ccaabded43a3d96db6270761a167535155a762fe41e968b905\",\"license\":\"MIT\"},\"src/libraries/TimestampWrapperUtils.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nstruct TimestampWrapper {\\n uint256 value;\\n uint256 timestamp;\\n}\\n\",\"keccak256\":\"0x18488d153ebc8579907a85cb7e0be828d0de7c571c9f3368a6d200574b012018\",\"license\":\"MIT\"},\"src/libraries/math/LibSafeRange.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nlibrary LibSafeRange {\\n function add(uint256 a, uint256 b) internal pure returns (uint256 c) {\\n unchecked {\\n c = a + b;\\n if (c < a) return type(uint256).max;\\n }\\n }\\n\\n /**\\n * @dev Returns value of a + b; in case result is larger than upperbound, upperbound is returned.\\n */\\n function addWithUpperbound(uint256 a, uint256 b, uint256 ceil) internal pure returns (uint256 c) {\\n if (a > ceil || b > ceil) return ceil;\\n c = add(a, b);\\n if (c > ceil) return ceil;\\n }\\n}\\n\",\"keccak256\":\"0x12cf5f592a2d80b9c1b0ea11b8fe2b3ed42fc6d62303ba667edc56464baa8810\",\"license\":\"MIT\"},\"src/libraries/math/PeriodScalingUtils.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { PowMath } from \\\"./PowMath.sol\\\";\\n\\nstruct PeriodScaler {\\n uint192 ratio;\\n uint64 period;\\n}\\n\\nlibrary LibPeriodScaler {\\n using PowMath for uint256;\\n\\n error PeriodNumOverflowedUint16(uint256 n);\\n\\n /// @dev The precision number of calculation is 2\\n uint256 public constant MAX_PERCENTAGE = 100_00;\\n\\n /**\\n * @dev Scales down the input value `v` for a percentage of `self.ratio` each period `self.period`.\\n * Reverts if the passed period is larger than 2^16 - 1.\\n *\\n * @param self The period scaler with specific period and ratio\\n * @param v The original value to scale based on the rule `self`\\n * @param maxR The maximum value of 100%. Eg, if the `self.ratio` in range of [0;100_00] reflexes 0-100%, this param\\n * must be 100_00\\n * @param dur The passed duration in the same uint with `self.period`\\n */\\n function scaleDown(PeriodScaler memory self, uint256 v, uint64 maxR, uint256 dur) internal pure returns (uint256 rs) {\\n uint256 n = dur / uint256(self.period);\\n if (n == 0 || self.ratio == 0) return v;\\n if (maxR == self.ratio) return 0;\\n if (n > type(uint16).max) revert PeriodNumOverflowedUint16(n);\\n\\n unchecked {\\n // Normalizes the input ratios to be in range of [0;MAX_PERCENTAGE]\\n uint256 p = Math.mulDiv(maxR - self.ratio, MAX_PERCENTAGE, maxR);\\n return v.mulDiv({ y: p, d: MAX_PERCENTAGE, n: uint16(n) });\\n }\\n }\\n}\\n\",\"keccak256\":\"0x502d004fbd130a99f3f1e6685aebff9f47300565fbc5a65b4912824ea5eb5b78\",\"license\":\"MIT\"},\"src/libraries/math/PowMath.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { SafeMath } from \\\"@openzeppelin/contracts/utils/math/SafeMath.sol\\\";\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\n\\nlibrary PowMath {\\n using Math for uint256;\\n using SafeMath for uint256;\\n\\n /**\\n * @dev Negative exponent n for x*10^n.\\n */\\n function exp10(uint256 x, int32 n) internal pure returns (uint256) {\\n if (n < 0) {\\n return x / 10 ** uint32(-n);\\n } else if (n > 0) {\\n return x * 10 ** uint32(n);\\n } else {\\n return x;\\n }\\n }\\n\\n /**\\n * @dev Calculates floor(x * (y / d)**n) with full precision.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 d, uint16 n) internal pure returns (uint256 r) {\\n unchecked {\\n if (y == d || n == 0) return x;\\n r = x;\\n\\n bool ok;\\n uint256 r_;\\n uint16 nd_;\\n\\n {\\n uint16 ye = uint16(Math.min(n, findMaxExponent(y)));\\n while (ye > 0) {\\n (ok, r_) = r.tryMul(y ** ye);\\n if (ok) {\\n r = r_;\\n n -= ye;\\n nd_ += ye;\\n }\\n ye = uint16(Math.min(ye / 2, n));\\n }\\n }\\n\\n while (n > 0) {\\n (ok, r_) = r.tryMul(y);\\n if (ok) {\\n r = r_;\\n n--;\\n nd_++;\\n } else if (nd_ > 0) {\\n r /= d;\\n nd_--;\\n } else {\\n r = r.mulDiv(y, d);\\n n--;\\n }\\n }\\n\\n uint16 de = findMaxExponent(d);\\n while (nd_ > 0) {\\n uint16 e = uint16(Math.min(de, nd_));\\n r /= d ** e;\\n nd_ -= e;\\n }\\n }\\n }\\n\\n /**\\n * @dev Calculates floor(x * (y / d)**n) with low precision.\\n */\\n function mulDivLowPrecision(uint256 x, uint256 y, uint256 d, uint16 n) internal pure returns (uint256) {\\n return uncheckedMulDiv(x, y, d, n, findMaxExponent(Math.max(y, d)));\\n }\\n\\n /**\\n * @dev Aggregated calculate multiplications.\\n * ```\\n * r = x*(y/d)^k\\n * = \\\\prod(x*(y/d)^{k_i}) \\\\ where \\\\ sum(k_i) = k\\n * ```\\n */\\n function uncheckedMulDiv(uint256 x, uint256 y, uint256 d, uint16 n, uint16 maxE) internal pure returns (uint256 r) {\\n unchecked {\\n r = x;\\n uint16 e;\\n while (n > 0) {\\n e = uint16(Math.min(n, maxE));\\n r = r.mulDiv(y ** e, d ** e);\\n n -= e;\\n }\\n }\\n }\\n\\n /**\\n * @dev Returns the largest exponent `k` where, x^k <= 2^256-1\\n * Note: n = Surd[2^256-1,k]\\n * = 10^( log2(2^256-1) / k * log10(2) )\\n */\\n function findMaxExponent(uint256 x) internal pure returns (uint16 k) {\\n if (x < 3) k = 255;\\n else if (x < 4) k = 128;\\n else if (x < 16) k = 64;\\n else if (x < 256) k = 32;\\n else if (x < 7132) k = 20;\\n else if (x < 11376) k = 19;\\n else if (x < 19113) k = 18;\\n else if (x < 34132) k = 17;\\n else if (x < 65536) k = 16;\\n else if (x < 137271) k = 15;\\n else if (x < 319558) k = 14;\\n else if (x < 847180) k = 13;\\n else if (x < 2642246) k = 12;\\n else if (x < 10134189) k = 11;\\n else if (x < 50859009) k = 10;\\n else if (x < 365284285) k = 9;\\n else if (x < 4294967296) k = 8;\\n else if (x < 102116749983) k = 7;\\n else if (x < 6981463658332) k = 6;\\n else if (x < 2586638741762875) k = 5;\\n else if (x < 18446744073709551616) k = 4;\\n else if (x < 48740834812604276470692695) k = 3;\\n else if (x < 340282366920938463463374607431768211456) k = 2;\\n else k = 1;\\n }\\n}\\n\",\"keccak256\":\"0x29f943cf7c61149bc9a624244901720fc3a349adb418555db1db2a045fcdfb70\",\"license\":\"MIT\"},\"src/libraries/pyth/PythConverter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { PythStructs } from \\\"@pythnetwork/PythStructs.sol\\\";\\nimport { PowMath } from \\\"../math/PowMath.sol\\\";\\n\\nlibrary PythConverter {\\n error ErrExponentTooLarge(int32 expo);\\n error ErrComputedPriceTooLarge(int32 expo1, int32 expo2, int64 price1);\\n\\n /**\\n * @dev Multiples and converts the price into token wei with decimals `outDecimals`.\\n */\\n function mul(PythStructs.Price memory self, uint256 inpWei, int32 inpDecimals, int32 outDecimals)\\n internal\\n pure\\n returns (uint256 outWei)\\n {\\n return Math.mulDiv(\\n inpWei, PowMath.exp10(uint256(int256(self.price)), outDecimals + self.expo), PowMath.exp10(1, inpDecimals)\\n );\\n }\\n\\n /**\\n * @dev Inverses token price of tokenA/tokenB to tokenB/tokenA.\\n */\\n function inverse(PythStructs.Price memory self, int32 expo) internal pure returns (PythStructs.Price memory outPrice) {\\n uint256 exp10p1 = PowMath.exp10(1, -self.expo);\\n if (exp10p1 > uint256(type(int256).max)) revert ErrExponentTooLarge(self.expo);\\n uint256 exp10p2 = PowMath.exp10(1, -expo);\\n if (exp10p2 > uint256(type(int256).max)) revert ErrExponentTooLarge(expo);\\n int256 price = (int256(exp10p1) * int256(exp10p2)) / self.price;\\n if (price > type(int64).max) revert ErrComputedPriceTooLarge(self.expo, expo, self.price);\\n\\n return PythStructs.Price({ price: int64(price), conf: self.conf, expo: expo, publishTime: self.publishTime });\\n }\\n}\\n\",\"keccak256\":\"0x87ade16f6e931f6a3ead7706b0e550ee2c2cdee0be2f218488df93588e787f06\",\"license\":\"MIT\"},\"src/types/ModifyingIndicator.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\ntype ModifyingIndicator is uint256;\\n\\nusing { hasAny } for ModifyingIndicator global;\\nusing { or as | } for ModifyingIndicator global;\\nusing { and as & } for ModifyingIndicator global;\\nusing { eq as == } for ModifyingIndicator global;\\nusing { not as ~ } for ModifyingIndicator global;\\nusing { xor as ^ } for ModifyingIndicator global;\\nusing { neq as != } for ModifyingIndicator global;\\n\\n/// @dev Indicator for modifying immutable fields: Depth, ParentId, Label. See struct {INSUnified.ImmutableRecord}.\\nModifyingIndicator constant IMMUTABLE_FIELDS_INDICATOR = ModifyingIndicator.wrap(0x7);\\n\\n/// @dev Indicator for modifying user fields: Resolver, Owner. See struct {INSUnified.MutableRecord}.\\nModifyingIndicator constant USER_FIELDS_INDICATOR = ModifyingIndicator.wrap(0x18);\\n\\n/// @dev Indicator when modifying all of the fields in {ModifyingField}.\\nModifyingIndicator constant ALL_FIELDS_INDICATOR = ModifyingIndicator.wrap(type(uint256).max);\\n\\nfunction eq(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return ModifyingIndicator.unwrap(self) == ModifyingIndicator.unwrap(other);\\n}\\n\\nfunction neq(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return !eq(self, other);\\n}\\n\\nfunction xor(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) ^ ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction not(ModifyingIndicator self) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(~ModifyingIndicator.unwrap(self));\\n}\\n\\nfunction or(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) | ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction and(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) & ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction hasAny(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return self & other != ModifyingIndicator.wrap(0);\\n}\\n\",\"keccak256\":\"0x2e42fbba358c470ff6b57268367d248f0e2fcf8d7142d762688f7aef5efae7ee\",\"license\":\"MIT\"}},\"version\":1}", "nonce": 190743, +======= + "metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"expo1\",\"type\":\"int32\"},{\"internalType\":\"int32\",\"name\":\"expo2\",\"type\":\"int32\"},{\"internalType\":\"int64\",\"name\":\"price1\",\"type\":\"int64\"}],\"name\":\"ErrComputedPriceTooLarge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"}],\"name\":\"ErrExponentTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExceedAuctionDomainExpiry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"PeriodNumOverflowedUint16\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RenewalFeeIsNotOverriden\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TierIsNotOverriden\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"name\":\"DomainPriceScaleRuleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"proofHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setType\",\"type\":\"uint256\"}],\"name\":\"DomainPriceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"maxLength\",\"type\":\"uint256\"}],\"name\":\"MaxRenewalFeeLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"PythOracleConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"renewalFee\",\"type\":\"uint256\"}],\"name\":\"RenewalFeeByLengthUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inverseRenewalFee\",\"type\":\"uint256\"}],\"name\":\"RenewalFeeOverridingUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"name\":\"TaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"labelHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"enum INSDomainPrice.Tier\",\"name\":\"tier\",\"type\":\"uint8\"}],\"name\":\"TierOverridingUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_PERCENTAGE\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OVERRIDER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD_DECIMALS\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"usdPrices\",\"type\":\"uint256[]\"}],\"name\":\"bulkOverrideRenewalFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum INSDomainPrice.Tier[]\",\"name\":\"tiers\",\"type\":\"uint8[]\"}],\"name\":\"bulkOverrideTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ronPrices\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"proofHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"setTypes\",\"type\":\"uint256[]\"}],\"name\":\"bulkSetDomainPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"lbHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ronPrices\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"proofHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"setTypes\",\"type\":\"uint256[]\"}],\"name\":\"bulkTrySetDomainPrice\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"updated\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ronWei\",\"type\":\"uint256\"}],\"name\":\"convertRONToUSD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"usdWei\",\"type\":\"uint256\"}],\"name\":\"convertUSDToRON\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ronWei\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getDomainPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ronPrice\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getOverriddenRenewalFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usdFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getOverriddenTier\",\"outputs\":[{\"internalType\":\"enum INSDomainPrice.Tier\",\"name\":\"tier\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPythOracleConfig\",\"outputs\":[{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"getRenewalFee\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"usd\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ron\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.UnitPrice\",\"name\":\"basePrice\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"usd\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ron\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.UnitPrice\",\"name\":\"tax\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRenewalFeeByLengths\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getScaleDownRuleForDomainPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"scaleRule\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTaxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"getTier\",\"outputs\":[{\"internalType\":\"enum INSDomainPrice.Tier\",\"name\":\"tier\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"taxRatio\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"domainPriceScaleRule\",\"type\":\"tuple\"},{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"contract INSAuction\",\"name\":\"auction\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IPyth\",\"name\":\"pyth\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxAcceptableAge\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"pythIdForRONUSD\",\"type\":\"bytes32\"}],\"name\":\"setPythOracleConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"labelLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"internalType\":\"struct INSDomainPrice.RenewalFee[]\",\"name\":\"renewalFees\",\"type\":\"tuple[]\"}],\"name\":\"setRenewalFeeByLengths\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint192\",\"name\":\"ratio\",\"type\":\"uint192\"},{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"}],\"internalType\":\"struct PeriodScaler\",\"name\":\"scaleRule\",\"type\":\"tuple\"}],\"name\":\"setScaleDownRuleForDomainPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"ratio\",\"type\":\"uint256\"}],\"name\":\"setTaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DomainPriceScaleRuleUpdated(address,uint192,uint64)\":{\"details\":\"Emitted when the rule to rescale domain price is updated.\"},\"DomainPriceUpdated(address,bytes32,uint256,bytes32,uint256)\":{\"details\":\"Emitted when the domain price is updated.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"MaxRenewalFeeLengthUpdated(address,uint256)\":{\"details\":\"Emitted when the maximum length of renewal fee is updated.\"},\"PythOracleConfigUpdated(address,address,uint256,bytes32)\":{\"details\":\"Emitted when the Pyth Oracle config is updated.\"},\"RenewalFeeByLengthUpdated(address,uint256,uint256)\":{\"details\":\"Emitted when the renew fee is updated.\"},\"RenewalFeeOverridingUpdated(address,bytes32,uint256)\":{\"details\":\"Emitted when the renew fee of a domain is overridden. Value of `inverseRenewalFee` is 0 when not overridden.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"TaxRatioUpdated(address,uint256)\":{\"details\":\"Emitted when the renewal reservation ratio is updated.\"},\"TierOverridingUpdated(address,bytes32,uint8)\":{\"details\":\"Emitted when the tier of a domain is overridden.\"}},\"kind\":\"dev\",\"methods\":{\"bulkOverrideRenewalFees(bytes32[],uint256[])\":{\"details\":\"Bulk override renewal fees. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {RenewalFeeOverridingUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"usdPrices\":\"Array of prices in USD. Leave 2^256 - 1 to remove overriding.\"}},\"bulkOverrideTiers(bytes32[],uint8[])\":{\"details\":\"Bulk override tiers. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {TierOverridingUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"tiers\":\"Array of tiers. Leave 2^256 - 1 to remove overriding.\"}},\"bulkSetDomainPrice(bytes32[],uint256[],bytes32[],uint256[])\":{\"details\":\"Bulk override domain prices. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. Emits events {DomainPriceUpdated}.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"proofHashes\":\"Array of proof hashes.\",\"ronPrices\":\"Array of prices in (W)RON token.\",\"setTypes\":\"Array of update types from the operator service.\"}},\"bulkTrySetDomainPrice(bytes32[],uint256[],bytes32[],uint256[])\":{\"details\":\"Bulk try to set domain prices. Returns a boolean array indicating whether domain prices at the corresponding indexes if set or not. Requirements: - The method caller is operator. - The input array lengths must be larger than 0 and the same. - The price should be larger than current domain price or it will not be updated. Emits events {DomainPriceUpdated} optionally.\",\"params\":{\"lbHashes\":\"Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\",\"proofHashes\":\"Array of proof hashes.\",\"ronPrices\":\"Array of prices in (W)RON token.\",\"setTypes\":\"Array of update types from the operator service.\"}},\"convertRONToUSD(uint256)\":{\"details\":\"Returns the converted amount from RON to USD.\"},\"convertUSDToRON(uint256)\":{\"details\":\"Returns the converted amount from USD to RON.\"},\"getDomainPrice(string)\":{\"details\":\"Return the domain price.\",\"params\":{\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"}},\"getOverriddenRenewalFee(string)\":{\"details\":\"Returns the renewal fee of a label. Reverts if not overridden.\"},\"getOverriddenTier(string)\":{\"details\":\"Returns the tier of a label. Reverts if not overridden.\"},\"getPythOracleConfig()\":{\"details\":\"Returns the Pyth oracle config.\"},\"getRenewalFee(string,uint256)\":{\"details\":\"Returns the renewal fee in USD and RON.\",\"params\":{\"duration\":\"Amount of second(s).\",\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"}},\"getRenewalFeeByLengths()\":{\"details\":\"Returns the renewal fee by lengths.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"getScaleDownRuleForDomainPrice()\":{\"details\":\"Returns the percentage to scale from domain price each period.\"},\"getTaxRatio()\":{\"details\":\"Returns tax ratio.\"},\"getTier(string)\":{\"details\":\"Returns the tier of a label.\",\"params\":{\"label\":\"The domain label to register (Eg, 'foo' for 'foo.ron').\"},\"returns\":{\"tier\":\"The tier of the label.\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setPythOracleConfig(address,uint256,bytes32)\":{\"details\":\"Sets the Pyth oracle config. Requirements: - The method caller is admin. Emits events {PythOracleConfigUpdated}.\"},\"setRenewalFeeByLengths((uint256,uint256)[])\":{\"details\":\"Sets the renewal fee by lengths Requirements: - The method caller is admin. Emits events {RenewalFeeByLengthUpdated}. Emits an event {MaxRenewalFeeLengthUpdated} optionally.\"},\"setScaleDownRuleForDomainPrice((uint192,uint64))\":{\"details\":\"Sets the percentage to scale from domain price each period. Requirements: - The method caller is admin. Emits events {DomainPriceScaleRuleUpdated}.\"},\"setTaxRatio(uint256)\":{\"details\":\"Sets renewal reservation ratio. Requirements: - The method caller is admin. Emits an event {TaxRatioUpdated}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"stateVariables\":{\"MAX_PERCENTAGE\":{\"details\":\"Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\"},\"OPERATOR_ROLE\":{\"details\":\"Value equals to keccak256(\\\"OPERATOR_ROLE\\\").\"},\"OVERRIDER_ROLE\":{\"details\":\"Returns the overrider role.\"},\"TIER_1_FROM_EXCLUDED_THRESHOLD\":{\"details\":\"The threshold tier value (in USD) for Tier 1: > $200\"},\"TIER_2_FROM_EXCLUDED_THRESHOLD\":{\"details\":\"The threshold tier value (in USD) for Tier 2 in range of ($50; $200]\"},\"USD_DECIMALS\":{\"details\":\"Decimal for USD.\"},\"____gap\":{\"details\":\"Gap for upgradeability.\"},\"_auction\":{\"details\":\"RNSAuction contract\"},\"_dp\":{\"details\":\"Mapping from name => domain price in USD\"},\"_dpDownScaler\":{\"details\":\"The percentage scale from domain price each period\"},\"_maxAcceptableAge\":{\"details\":\"Max acceptable age of the price oracle request\"},\"_pyth\":{\"details\":\"Pyth oracle contract\"},\"_pythIdForRONUSD\":{\"details\":\"Price feed ID on Pyth for RON/USD\"},\"_rnFee\":{\"details\":\"Mapping from domain length => renewal fee in USD\"},\"_rnFeeOverriding\":{\"details\":\"Mapping from name => inverse bitwise of renewal fee overriding.\"},\"_rnfMaxLength\":{\"details\":\"Max length of the renewal fee\"},\"_taxRatio\":{\"details\":\"Extra fee for renewals based on the current domain price.\"},\"_tierOverriding\":{\"details\":\"Mapping from label hash to overriden tier\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getOverriddenRenewalFee(string)\":{\"notice\":\"This method is to help developers check the domain renewal fee overriding. Consider using method {getRenewalFee} instead for full handling of renewal fees.\"},\"getOverriddenTier(string)\":{\"notice\":\"This method is to help developers check the domain tier overriding. Consider using method {getTier} instead for full handling of tiers.\"},\"setScaleDownRuleForDomainPrice((uint192,uint64))\":{\"notice\":\"Applies for the business rule: -x% each y seconds.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RNSDomainPrice.sol\":\"RNSDomainPrice\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@ensdomains/buffer/=lib/buffer/\",\":@ensdomains/ens-contracts/=lib/ens-contracts/contracts/\",\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@pythnetwork/=lib/pyth-sdk-solidity/\",\":@rns-contracts/=src/\",\":buffer/=lib/buffer/contracts/\",\":contract-libs/=lib/contract-libs/src/\",\":contract-template/=lib/contract-template/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":ens-contracts/=lib/ens-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":foundry-deployment-kit/=lib/foundry-deployment-kit/script/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\",\":solady/=lib/solady/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControl.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControl.sol\\\";\\nimport \\\"../utils/Context.sol\\\";\\nimport \\\"../utils/Strings.sol\\\";\\nimport \\\"../utils/introspection/ERC165.sol\\\";\\n\\n/**\\n * @dev Contract module that allows children to implement role-based access\\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\\n * members except through off-chain means by accessing the contract event logs. Some\\n * applications may benefit from on-chain enumerability, for those cases see\\n * {AccessControlEnumerable}.\\n *\\n * Roles are referred to by their `bytes32` identifier. These should be exposed\\n * in the external API and be unique. The best way to achieve this is by\\n * using `public constant` hash digests:\\n *\\n * ```solidity\\n * bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\");\\n * ```\\n *\\n * Roles can be used to represent a set of permissions. To restrict access to a\\n * function call, use {hasRole}:\\n *\\n * ```solidity\\n * function foo() public {\\n * require(hasRole(MY_ROLE, msg.sender));\\n * ...\\n * }\\n * ```\\n *\\n * Roles can be granted and revoked dynamically via the {grantRole} and\\n * {revokeRole} functions. Each role has an associated admin role, and only\\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\\n *\\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\\n * that only accounts with this role will be able to grant or revoke other\\n * roles. More complex role relationships can be created by using\\n * {_setRoleAdmin}.\\n *\\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\\n * grant and revoke this role. Extra precautions should be taken to secure\\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\\n * to enforce additional security measures for this role.\\n */\\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\\n struct RoleData {\\n mapping(address => bool) members;\\n bytes32 adminRole;\\n }\\n\\n mapping(bytes32 => RoleData) private _roles;\\n\\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\\n\\n /**\\n * @dev Modifier that checks that an account has a specific role. Reverts\\n * with a standardized message including the required role.\\n *\\n * The format of the revert reason is given by the following regular expression:\\n *\\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\\n *\\n * _Available since v4.1._\\n */\\n modifier onlyRole(bytes32 role) {\\n _checkRole(role);\\n _;\\n }\\n\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\\n }\\n\\n /**\\n * @dev Returns `true` if `account` has been granted `role`.\\n */\\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\\n return _roles[role].members[account];\\n }\\n\\n /**\\n * @dev Revert with a standard message if `_msgSender()` is missing `role`.\\n * Overriding this function changes the behavior of the {onlyRole} modifier.\\n *\\n * Format of the revert message is described in {_checkRole}.\\n *\\n * _Available since v4.6._\\n */\\n function _checkRole(bytes32 role) internal view virtual {\\n _checkRole(role, _msgSender());\\n }\\n\\n /**\\n * @dev Revert with a standard message if `account` is missing `role`.\\n *\\n * The format of the revert reason is given by the following regular expression:\\n *\\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\\n */\\n function _checkRole(bytes32 role, address account) internal view virtual {\\n if (!hasRole(role, account)) {\\n revert(\\n string(\\n abi.encodePacked(\\n \\\"AccessControl: account \\\",\\n Strings.toHexString(account),\\n \\\" is missing role \\\",\\n Strings.toHexString(uint256(role), 32)\\n )\\n )\\n );\\n }\\n }\\n\\n /**\\n * @dev Returns the admin role that controls `role`. See {grantRole} and\\n * {revokeRole}.\\n *\\n * To change a role's admin, use {_setRoleAdmin}.\\n */\\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\\n return _roles[role].adminRole;\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n *\\n * May emit a {RoleGranted} event.\\n */\\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\\n _grantRole(role, account);\\n }\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\\n _revokeRole(role, account);\\n }\\n\\n /**\\n * @dev Revokes `role` from the calling account.\\n *\\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\\n * purpose is to provide a mechanism for accounts to lose their privileges\\n * if they are compromised (such as when a trusted device is misplaced).\\n *\\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must be `account`.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function renounceRole(bytes32 role, address account) public virtual override {\\n require(account == _msgSender(), \\\"AccessControl: can only renounce roles for self\\\");\\n\\n _revokeRole(role, account);\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event. Note that unlike {grantRole}, this function doesn't perform any\\n * checks on the calling account.\\n *\\n * May emit a {RoleGranted} event.\\n *\\n * [WARNING]\\n * ====\\n * This function should only be called from the constructor when setting\\n * up the initial roles for the system.\\n *\\n * Using this function in any other way is effectively circumventing the admin\\n * system imposed by {AccessControl}.\\n * ====\\n *\\n * NOTE: This function is deprecated in favor of {_grantRole}.\\n */\\n function _setupRole(bytes32 role, address account) internal virtual {\\n _grantRole(role, account);\\n }\\n\\n /**\\n * @dev Sets `adminRole` as ``role``'s admin role.\\n *\\n * Emits a {RoleAdminChanged} event.\\n */\\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\\n bytes32 previousAdminRole = getRoleAdmin(role);\\n _roles[role].adminRole = adminRole;\\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\\n }\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * Internal function without access restriction.\\n *\\n * May emit a {RoleGranted} event.\\n */\\n function _grantRole(bytes32 role, address account) internal virtual {\\n if (!hasRole(role, account)) {\\n _roles[role].members[account] = true;\\n emit RoleGranted(role, account, _msgSender());\\n }\\n }\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * Internal function without access restriction.\\n *\\n * May emit a {RoleRevoked} event.\\n */\\n function _revokeRole(bytes32 role, address account) internal virtual {\\n if (hasRole(role, account)) {\\n _roles[role].members[account] = false;\\n emit RoleRevoked(role, account, _msgSender());\\n }\\n }\\n}\\n\",\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControlEnumerable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControlEnumerable.sol\\\";\\nimport \\\"./AccessControl.sol\\\";\\nimport \\\"../utils/structs/EnumerableSet.sol\\\";\\n\\n/**\\n * @dev Extension of {AccessControl} that allows enumerating the members of each role.\\n */\\nabstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl {\\n using EnumerableSet for EnumerableSet.AddressSet;\\n\\n mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers;\\n\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IAccessControlEnumerable).interfaceId || super.supportsInterface(interfaceId);\\n }\\n\\n /**\\n * @dev Returns one of the accounts that have `role`. `index` must be a\\n * value between 0 and {getRoleMemberCount}, non-inclusive.\\n *\\n * Role bearers are not sorted in any particular way, and their ordering may\\n * change at any point.\\n *\\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\\n * you perform all queries on the same block. See the following\\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\\n * for more information.\\n */\\n function getRoleMember(bytes32 role, uint256 index) public view virtual override returns (address) {\\n return _roleMembers[role].at(index);\\n }\\n\\n /**\\n * @dev Returns the number of accounts that have `role`. Can be used\\n * together with {getRoleMember} to enumerate all bearers of a role.\\n */\\n function getRoleMemberCount(bytes32 role) public view virtual override returns (uint256) {\\n return _roleMembers[role].length();\\n }\\n\\n /**\\n * @dev Overload {_grantRole} to track enumerable memberships\\n */\\n function _grantRole(bytes32 role, address account) internal virtual override {\\n super._grantRole(role, account);\\n _roleMembers[role].add(account);\\n }\\n\\n /**\\n * @dev Overload {_revokeRole} to track enumerable memberships\\n */\\n function _revokeRole(bytes32 role, address account) internal virtual override {\\n super._revokeRole(role, account);\\n _roleMembers[role].remove(account);\\n }\\n}\\n\",\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev External interface of AccessControl declared to support ERC165 detection.\\n */\\ninterface IAccessControl {\\n /**\\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\\n *\\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\\n * {RoleAdminChanged} not being emitted signaling this.\\n *\\n * _Available since v3.1._\\n */\\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\\n\\n /**\\n * @dev Emitted when `account` is granted `role`.\\n *\\n * `sender` is the account that originated the contract call, an admin role\\n * bearer except when using {AccessControl-_setupRole}.\\n */\\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\\n\\n /**\\n * @dev Emitted when `account` is revoked `role`.\\n *\\n * `sender` is the account that originated the contract call:\\n * - if using `revokeRole`, it is the admin role bearer\\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\\n */\\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\\n\\n /**\\n * @dev Returns `true` if `account` has been granted `role`.\\n */\\n function hasRole(bytes32 role, address account) external view returns (bool);\\n\\n /**\\n * @dev Returns the admin role that controls `role`. See {grantRole} and\\n * {revokeRole}.\\n *\\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\\n */\\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\\n\\n /**\\n * @dev Grants `role` to `account`.\\n *\\n * If `account` had not been already granted `role`, emits a {RoleGranted}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n */\\n function grantRole(bytes32 role, address account) external;\\n\\n /**\\n * @dev Revokes `role` from `account`.\\n *\\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\\n *\\n * Requirements:\\n *\\n * - the caller must have ``role``'s admin role.\\n */\\n function revokeRole(bytes32 role, address account) external;\\n\\n /**\\n * @dev Revokes `role` from the calling account.\\n *\\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\\n * purpose is to provide a mechanism for accounts to lose their privileges\\n * if they are compromised (such as when a trusted device is misplaced).\\n *\\n * If the calling account had been granted `role`, emits a {RoleRevoked}\\n * event.\\n *\\n * Requirements:\\n *\\n * - the caller must be `account`.\\n */\\n function renounceRole(bytes32 role, address account) external;\\n}\\n\",\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IAccessControl.sol\\\";\\n\\n/**\\n * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.\\n */\\ninterface IAccessControlEnumerable is IAccessControl {\\n /**\\n * @dev Returns one of the accounts that have `role`. `index` must be a\\n * value between 0 and {getRoleMemberCount}, non-inclusive.\\n *\\n * Role bearers are not sorted in any particular way, and their ordering may\\n * change at any point.\\n *\\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\\n * you perform all queries on the same block. See the following\\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\\n * for more information.\\n */\\n function getRoleMember(bytes32 role, uint256 index) external view returns (address);\\n\\n /**\\n * @dev Returns the number of accounts that have `role`. Can be used\\n * together with {getRoleMember} to enumerate all bearers of a role.\\n */\\n function getRoleMemberCount(bytes32 role) external view returns (uint256);\\n}\\n\",\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (proxy/utils/Initializable.sol)\\n\\npragma solidity ^0.8.2;\\n\\nimport \\\"../../utils/Address.sol\\\";\\n\\n/**\\n * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\\n * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\\n * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\\n * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\\n *\\n * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\\n * reused. This mechanism prevents re-execution of each \\\"step\\\" but allows the creation of new initialization steps in\\n * case an upgrade adds a module that needs to be initialized.\\n *\\n * For example:\\n *\\n * [.hljs-theme-light.nopadding]\\n * ```solidity\\n * contract MyToken is ERC20Upgradeable {\\n * function initialize() initializer public {\\n * __ERC20_init(\\\"MyToken\\\", \\\"MTK\\\");\\n * }\\n * }\\n *\\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\\n * function initializeV2() reinitializer(2) public {\\n * __ERC20Permit_init(\\\"MyToken\\\");\\n * }\\n * }\\n * ```\\n *\\n * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\\n * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\\n *\\n * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\\n * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\\n *\\n * [CAUTION]\\n * ====\\n * Avoid leaving a contract uninitialized.\\n *\\n * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\\n * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\\n * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\\n *\\n * [.hljs-theme-light.nopadding]\\n * ```\\n * /// @custom:oz-upgrades-unsafe-allow constructor\\n * constructor() {\\n * _disableInitializers();\\n * }\\n * ```\\n * ====\\n */\\nabstract contract Initializable {\\n /**\\n * @dev Indicates that the contract has been initialized.\\n * @custom:oz-retyped-from bool\\n */\\n uint8 private _initialized;\\n\\n /**\\n * @dev Indicates that the contract is in the process of being initialized.\\n */\\n bool private _initializing;\\n\\n /**\\n * @dev Triggered when the contract has been initialized or reinitialized.\\n */\\n event Initialized(uint8 version);\\n\\n /**\\n * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\\n * `onlyInitializing` functions can be used to initialize parent contracts.\\n *\\n * Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\\n * constructor.\\n *\\n * Emits an {Initialized} event.\\n */\\n modifier initializer() {\\n bool isTopLevelCall = !_initializing;\\n require(\\n (isTopLevelCall && _initialized < 1) || (!Address.isContract(address(this)) && _initialized == 1),\\n \\\"Initializable: contract is already initialized\\\"\\n );\\n _initialized = 1;\\n if (isTopLevelCall) {\\n _initializing = true;\\n }\\n _;\\n if (isTopLevelCall) {\\n _initializing = false;\\n emit Initialized(1);\\n }\\n }\\n\\n /**\\n * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the\\n * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be\\n * used to initialize parent contracts.\\n *\\n * A reinitializer may be used after the original initialization step. This is essential to configure modules that\\n * are added through upgrades and that require initialization.\\n *\\n * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer`\\n * cannot be nested. If one is invoked in the context of another, execution will revert.\\n *\\n * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in\\n * a contract, executing them in the right order is up to the developer or operator.\\n *\\n * WARNING: setting the version to 255 will prevent any future reinitialization.\\n *\\n * Emits an {Initialized} event.\\n */\\n modifier reinitializer(uint8 version) {\\n require(!_initializing && _initialized < version, \\\"Initializable: contract is already initialized\\\");\\n _initialized = version;\\n _initializing = true;\\n _;\\n _initializing = false;\\n emit Initialized(version);\\n }\\n\\n /**\\n * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the\\n * {initializer} and {reinitializer} modifiers, directly or indirectly.\\n */\\n modifier onlyInitializing() {\\n require(_initializing, \\\"Initializable: contract is not initializing\\\");\\n _;\\n }\\n\\n /**\\n * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call.\\n * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized\\n * to any version. It is recommended to use this to lock implementation contracts that are designed to be called\\n * through proxies.\\n *\\n * Emits an {Initialized} event the first time it is successfully executed.\\n */\\n function _disableInitializers() internal virtual {\\n require(!_initializing, \\\"Initializable: contract is initializing\\\");\\n if (_initialized != type(uint8).max) {\\n _initialized = type(uint8).max;\\n emit Initialized(type(uint8).max);\\n }\\n }\\n\\n /**\\n * @dev Returns the highest version that has been initialized. See {reinitializer}.\\n */\\n function _getInitializedVersion() internal view returns (uint8) {\\n return _initialized;\\n }\\n\\n /**\\n * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\\n */\\n function _isInitializing() internal view returns (bool) {\\n return _initializing;\\n }\\n}\\n\",\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../../utils/introspection/IERC165.sol\\\";\\n\\n/**\\n * @dev Required interface of an ERC721 compliant contract.\\n */\\ninterface IERC721 is IERC165 {\\n /**\\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\\n */\\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\\n\\n /**\\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\\n */\\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\\n\\n /**\\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\\n */\\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\\n\\n /**\\n * @dev Returns the number of tokens in ``owner``'s account.\\n */\\n function balanceOf(address owner) external view returns (uint256 balance);\\n\\n /**\\n * @dev Returns the owner of the `tokenId` token.\\n *\\n * Requirements:\\n *\\n * - `tokenId` must exist.\\n */\\n function ownerOf(uint256 tokenId) external view returns (address owner);\\n\\n /**\\n * @dev Safely transfers `tokenId` token from `from` to `to`.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must exist and be owned by `from`.\\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\\n *\\n * Emits a {Transfer} event.\\n */\\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\\n\\n /**\\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must exist and be owned by `from`.\\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\\n *\\n * Emits a {Transfer} event.\\n */\\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Transfers `tokenId` token from `from` to `to`.\\n *\\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\\n *\\n * Requirements:\\n *\\n * - `from` cannot be the zero address.\\n * - `to` cannot be the zero address.\\n * - `tokenId` token must be owned by `from`.\\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\\n *\\n * Emits a {Transfer} event.\\n */\\n function transferFrom(address from, address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\\n * The approval is cleared when the token is transferred.\\n *\\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\\n *\\n * Requirements:\\n *\\n * - The caller must own the token or be an approved operator.\\n * - `tokenId` must exist.\\n *\\n * Emits an {Approval} event.\\n */\\n function approve(address to, uint256 tokenId) external;\\n\\n /**\\n * @dev Approve or remove `operator` as an operator for the caller.\\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\\n *\\n * Requirements:\\n *\\n * - The `operator` cannot be the caller.\\n *\\n * Emits an {ApprovalForAll} event.\\n */\\n function setApprovalForAll(address operator, bool approved) external;\\n\\n /**\\n * @dev Returns the account approved for `tokenId` token.\\n *\\n * Requirements:\\n *\\n * - `tokenId` must exist.\\n */\\n function getApproved(uint256 tokenId) external view returns (address operator);\\n\\n /**\\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\\n *\\n * See {setApprovalForAll}\\n */\\n function isApprovedForAll(address owner, address operator) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"../IERC721.sol\\\";\\n\\n/**\\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\\n * @dev See https://eips.ethereum.org/EIPS/eip-721\\n */\\ninterface IERC721Metadata is IERC721 {\\n /**\\n * @dev Returns the token collection name.\\n */\\n function name() external view returns (string memory);\\n\\n /**\\n * @dev Returns the token collection symbol.\\n */\\n function symbol() external view returns (string memory);\\n\\n /**\\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\\n */\\n function tokenURI(uint256 tokenId) external view returns (string memory);\\n}\\n\",\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\\n\\npragma solidity ^0.8.1;\\n\\n/**\\n * @dev Collection of functions related to the address type\\n */\\nlibrary Address {\\n /**\\n * @dev Returns true if `account` is a contract.\\n *\\n * [IMPORTANT]\\n * ====\\n * It is unsafe to assume that an address for which this function returns\\n * false is an externally-owned account (EOA) and not a contract.\\n *\\n * Among others, `isContract` will return false for the following\\n * types of addresses:\\n *\\n * - an externally-owned account\\n * - a contract in construction\\n * - an address where a contract will be created\\n * - an address where a contract lived, but was destroyed\\n *\\n * Furthermore, `isContract` will also return true if the target contract within\\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\\n * which only has an effect at the end of a transaction.\\n * ====\\n *\\n * [IMPORTANT]\\n * ====\\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\\n *\\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\\n * constructor.\\n * ====\\n */\\n function isContract(address account) internal view returns (bool) {\\n // This method relies on extcodesize/address.code.length, which returns 0\\n // for contracts in construction, since the code is only stored at the end\\n // of the constructor execution.\\n\\n return account.code.length > 0;\\n }\\n\\n /**\\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\\n * `recipient`, forwarding all available gas and reverting on errors.\\n *\\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\\n * imposed by `transfer`, making them unable to receive funds via\\n * `transfer`. {sendValue} removes this limitation.\\n *\\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\\n *\\n * IMPORTANT: because control is transferred to `recipient`, care must be\\n * taken to not create reentrancy vulnerabilities. Consider using\\n * {ReentrancyGuard} or the\\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\\n */\\n function sendValue(address payable recipient, uint256 amount) internal {\\n require(address(this).balance >= amount, \\\"Address: insufficient balance\\\");\\n\\n (bool success, ) = recipient.call{value: amount}(\\\"\\\");\\n require(success, \\\"Address: unable to send value, recipient may have reverted\\\");\\n }\\n\\n /**\\n * @dev Performs a Solidity function call using a low level `call`. A\\n * plain `call` is an unsafe replacement for a function call: use this\\n * function instead.\\n *\\n * If `target` reverts with a revert reason, it is bubbled up by this\\n * function (like regular Solidity function calls).\\n *\\n * Returns the raw returned data. To convert to the expected return value,\\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\\n *\\n * Requirements:\\n *\\n * - `target` must be a contract.\\n * - calling `target` with `data` must not revert.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, 0, \\\"Address: low-level call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\\n * `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, 0, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but also transferring `value` wei to `target`.\\n *\\n * Requirements:\\n *\\n * - the calling contract must have an ETH balance of at least `value`.\\n * - the called Solidity function must be `payable`.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\\n return functionCallWithValue(target, data, value, \\\"Address: low-level call with value failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\\n * with `errorMessage` as a fallback revert reason when `target` reverts.\\n *\\n * _Available since v3.1._\\n */\\n function functionCallWithValue(\\n address target,\\n bytes memory data,\\n uint256 value,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n require(address(this).balance >= value, \\\"Address: insufficient balance for call\\\");\\n (bool success, bytes memory returndata) = target.call{value: value}(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\\n return functionStaticCall(target, data, \\\"Address: low-level static call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a static call.\\n *\\n * _Available since v3.3._\\n */\\n function functionStaticCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal view returns (bytes memory) {\\n (bool success, bytes memory returndata) = target.staticcall(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\\n return functionDelegateCall(target, data, \\\"Address: low-level delegate call failed\\\");\\n }\\n\\n /**\\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\\n * but performing a delegate call.\\n *\\n * _Available since v3.4._\\n */\\n function functionDelegateCall(\\n address target,\\n bytes memory data,\\n string memory errorMessage\\n ) internal returns (bytes memory) {\\n (bool success, bytes memory returndata) = target.delegatecall(data);\\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\\n }\\n\\n /**\\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\\n *\\n * _Available since v4.8._\\n */\\n function verifyCallResultFromTarget(\\n address target,\\n bool success,\\n bytes memory returndata,\\n string memory errorMessage\\n ) internal view returns (bytes memory) {\\n if (success) {\\n if (returndata.length == 0) {\\n // only check isContract if the call was successful and the return data is empty\\n // otherwise we already know that it was a contract\\n require(isContract(target), \\\"Address: call to non-contract\\\");\\n }\\n return returndata;\\n } else {\\n _revert(returndata, errorMessage);\\n }\\n }\\n\\n /**\\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\\n * revert reason or using the provided one.\\n *\\n * _Available since v4.3._\\n */\\n function verifyCallResult(\\n bool success,\\n bytes memory returndata,\\n string memory errorMessage\\n ) internal pure returns (bytes memory) {\\n if (success) {\\n return returndata;\\n } else {\\n _revert(returndata, errorMessage);\\n }\\n }\\n\\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\\n // Look for revert reason and bubble it up if present\\n if (returndata.length > 0) {\\n // The easiest way to bubble the revert reason is using memory via assembly\\n /// @solidity memory-safe-assembly\\n assembly {\\n let returndata_size := mload(returndata)\\n revert(add(32, returndata), returndata_size)\\n }\\n } else {\\n revert(errorMessage);\\n }\\n }\\n}\\n\",\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Provides information about the current execution context, including the\\n * sender of the transaction and its data. While these are generally available\\n * via msg.sender and msg.data, they should not be accessed in such a direct\\n * manner, since when dealing with meta-transactions the account sending and\\n * paying for execution may not be the actual sender (as far as an application\\n * is concerned).\\n *\\n * This contract is only required for intermediate, library-like contracts.\\n */\\nabstract contract Context {\\n function _msgSender() internal view virtual returns (address) {\\n return msg.sender;\\n }\\n\\n function _msgData() internal view virtual returns (bytes calldata) {\\n return msg.data;\\n }\\n}\\n\",\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./math/Math.sol\\\";\\nimport \\\"./math/SignedMath.sol\\\";\\n\\n/**\\n * @dev String operations.\\n */\\nlibrary Strings {\\n bytes16 private constant _SYMBOLS = \\\"0123456789abcdef\\\";\\n uint8 private constant _ADDRESS_LENGTH = 20;\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\\n */\\n function toString(uint256 value) internal pure returns (string memory) {\\n unchecked {\\n uint256 length = Math.log10(value) + 1;\\n string memory buffer = new string(length);\\n uint256 ptr;\\n /// @solidity memory-safe-assembly\\n assembly {\\n ptr := add(buffer, add(32, length))\\n }\\n while (true) {\\n ptr--;\\n /// @solidity memory-safe-assembly\\n assembly {\\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\\n }\\n value /= 10;\\n if (value == 0) break;\\n }\\n return buffer;\\n }\\n }\\n\\n /**\\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\\n */\\n function toString(int256 value) internal pure returns (string memory) {\\n return string(abi.encodePacked(value < 0 ? \\\"-\\\" : \\\"\\\", toString(SignedMath.abs(value))));\\n }\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\\n */\\n function toHexString(uint256 value) internal pure returns (string memory) {\\n unchecked {\\n return toHexString(value, Math.log256(value) + 1);\\n }\\n }\\n\\n /**\\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\\n */\\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\\n bytes memory buffer = new bytes(2 * length + 2);\\n buffer[0] = \\\"0\\\";\\n buffer[1] = \\\"x\\\";\\n for (uint256 i = 2 * length + 1; i > 1; --i) {\\n buffer[i] = _SYMBOLS[value & 0xf];\\n value >>= 4;\\n }\\n require(value == 0, \\\"Strings: hex length insufficient\\\");\\n return string(buffer);\\n }\\n\\n /**\\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\\n */\\n function toHexString(address addr) internal pure returns (string memory) {\\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\\n }\\n\\n /**\\n * @dev Returns true if the two strings are equal.\\n */\\n function equal(string memory a, string memory b) internal pure returns (bool) {\\n return keccak256(bytes(a)) == keccak256(bytes(b));\\n }\\n}\\n\",\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\\n\\npragma solidity ^0.8.0;\\n\\nimport \\\"./IERC165.sol\\\";\\n\\n/**\\n * @dev Implementation of the {IERC165} interface.\\n *\\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\\n * for the additional interface id that will be supported. For example:\\n *\\n * ```solidity\\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\\n * }\\n * ```\\n *\\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\\n */\\nabstract contract ERC165 is IERC165 {\\n /**\\n * @dev See {IERC165-supportsInterface}.\\n */\\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\\n return interfaceId == type(IERC165).interfaceId;\\n }\\n}\\n\",\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Interface of the ERC165 standard, as defined in the\\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\\n *\\n * Implementers can declare support of contract interfaces, which can then be\\n * queried by others ({ERC165Checker}).\\n *\\n * For an implementation, see {ERC165}.\\n */\\ninterface IERC165 {\\n /**\\n * @dev Returns true if this contract implements the interface defined by\\n * `interfaceId`. See the corresponding\\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\\n * to learn more about how these ids are created.\\n *\\n * This function call must use less than 30 000 gas.\\n */\\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\\n}\\n\",\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Standard math utilities missing in the Solidity language.\\n */\\nlibrary Math {\\n enum Rounding {\\n Down, // Toward negative infinity\\n Up, // Toward infinity\\n Zero // Toward zero\\n }\\n\\n /**\\n * @dev Returns the largest of two numbers.\\n */\\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a > b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the smallest of two numbers.\\n */\\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a < b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the average of two numbers. The result is rounded towards\\n * zero.\\n */\\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\\n // (a + b) / 2 can overflow.\\n return (a & b) + (a ^ b) / 2;\\n }\\n\\n /**\\n * @dev Returns the ceiling of the division of two numbers.\\n *\\n * This differs from standard division with `/` in that it rounds up instead\\n * of rounding down.\\n */\\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\\n // (a + b - 1) / b can overflow on addition, so we distribute.\\n return a == 0 ? 0 : (a - 1) / b + 1;\\n }\\n\\n /**\\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\\n * with further edits by Uniswap Labs also under MIT license.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\\n unchecked {\\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\\n // variables such that product = prod1 * 2^256 + prod0.\\n uint256 prod0; // Least significant 256 bits of the product\\n uint256 prod1; // Most significant 256 bits of the product\\n assembly {\\n let mm := mulmod(x, y, not(0))\\n prod0 := mul(x, y)\\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\\n }\\n\\n // Handle non-overflow cases, 256 by 256 division.\\n if (prod1 == 0) {\\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\\n // The surrounding unchecked block does not change this fact.\\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\\n return prod0 / denominator;\\n }\\n\\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\\n require(denominator > prod1, \\\"Math: mulDiv overflow\\\");\\n\\n ///////////////////////////////////////////////\\n // 512 by 256 division.\\n ///////////////////////////////////////////////\\n\\n // Make division exact by subtracting the remainder from [prod1 prod0].\\n uint256 remainder;\\n assembly {\\n // Compute remainder using mulmod.\\n remainder := mulmod(x, y, denominator)\\n\\n // Subtract 256 bit number from 512 bit number.\\n prod1 := sub(prod1, gt(remainder, prod0))\\n prod0 := sub(prod0, remainder)\\n }\\n\\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\\n // See https://cs.stackexchange.com/q/138556/92363.\\n\\n // Does not overflow because the denominator cannot be zero at this stage in the function.\\n uint256 twos = denominator & (~denominator + 1);\\n assembly {\\n // Divide denominator by twos.\\n denominator := div(denominator, twos)\\n\\n // Divide [prod1 prod0] by twos.\\n prod0 := div(prod0, twos)\\n\\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\\n twos := add(div(sub(0, twos), twos), 1)\\n }\\n\\n // Shift in bits from prod1 into prod0.\\n prod0 |= prod1 * twos;\\n\\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\\n // four bits. That is, denominator * inv = 1 mod 2^4.\\n uint256 inverse = (3 * denominator) ^ 2;\\n\\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\\n // in modular arithmetic, doubling the correct bits in each step.\\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\\n\\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\\n // is no longer required.\\n result = prod0 * inverse;\\n return result;\\n }\\n }\\n\\n /**\\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\\n uint256 result = mulDiv(x, y, denominator);\\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\\n result += 1;\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\\n *\\n * Inspired by Henry S. Warren, Jr.'s \\\"Hacker's Delight\\\" (Chapter 11).\\n */\\n function sqrt(uint256 a) internal pure returns (uint256) {\\n if (a == 0) {\\n return 0;\\n }\\n\\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\\n //\\n // We know that the \\\"msb\\\" (most significant bit) of our target number `a` is a power of 2 such that we have\\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\\n //\\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\\n // \\u2192 `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\\n // \\u2192 `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\\n //\\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\\n uint256 result = 1 << (log2(a) >> 1);\\n\\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\\n // into the expected uint128 result.\\n unchecked {\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n result = (result + a / result) >> 1;\\n return min(result, a / result);\\n }\\n }\\n\\n /**\\n * @notice Calculates sqrt(a), following the selected rounding direction.\\n */\\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = sqrt(a);\\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 2, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log2(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >> 128 > 0) {\\n value >>= 128;\\n result += 128;\\n }\\n if (value >> 64 > 0) {\\n value >>= 64;\\n result += 64;\\n }\\n if (value >> 32 > 0) {\\n value >>= 32;\\n result += 32;\\n }\\n if (value >> 16 > 0) {\\n value >>= 16;\\n result += 16;\\n }\\n if (value >> 8 > 0) {\\n value >>= 8;\\n result += 8;\\n }\\n if (value >> 4 > 0) {\\n value >>= 4;\\n result += 4;\\n }\\n if (value >> 2 > 0) {\\n value >>= 2;\\n result += 2;\\n }\\n if (value >> 1 > 0) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log2(value);\\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 10, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log10(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >= 10 ** 64) {\\n value /= 10 ** 64;\\n result += 64;\\n }\\n if (value >= 10 ** 32) {\\n value /= 10 ** 32;\\n result += 32;\\n }\\n if (value >= 10 ** 16) {\\n value /= 10 ** 16;\\n result += 16;\\n }\\n if (value >= 10 ** 8) {\\n value /= 10 ** 8;\\n result += 8;\\n }\\n if (value >= 10 ** 4) {\\n value /= 10 ** 4;\\n result += 4;\\n }\\n if (value >= 10 ** 2) {\\n value /= 10 ** 2;\\n result += 2;\\n }\\n if (value >= 10 ** 1) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log10(value);\\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\\n }\\n }\\n\\n /**\\n * @dev Return the log in base 256, rounded down, of a positive value.\\n * Returns 0 if given 0.\\n *\\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\\n */\\n function log256(uint256 value) internal pure returns (uint256) {\\n uint256 result = 0;\\n unchecked {\\n if (value >> 128 > 0) {\\n value >>= 128;\\n result += 16;\\n }\\n if (value >> 64 > 0) {\\n value >>= 64;\\n result += 8;\\n }\\n if (value >> 32 > 0) {\\n value >>= 32;\\n result += 4;\\n }\\n if (value >> 16 > 0) {\\n value >>= 16;\\n result += 2;\\n }\\n if (value >> 8 > 0) {\\n result += 1;\\n }\\n }\\n return result;\\n }\\n\\n /**\\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\\n * Returns 0 if given 0.\\n */\\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\\n unchecked {\\n uint256 result = log256(value);\\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\\n }\\n }\\n}\\n\",\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol)\\n\\npragma solidity ^0.8.0;\\n\\n// CAUTION\\n// This version of SafeMath should only be used with Solidity 0.8 or later,\\n// because it relies on the compiler's built in overflow checks.\\n\\n/**\\n * @dev Wrappers over Solidity's arithmetic operations.\\n *\\n * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler\\n * now has built in overflow checking.\\n */\\nlibrary SafeMath {\\n /**\\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n uint256 c = a + b;\\n if (c < a) return (false, 0);\\n return (true, c);\\n }\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b > a) return (false, 0);\\n return (true, a - b);\\n }\\n }\\n\\n /**\\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\\n // benefit is lost if 'b' is also tested.\\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\\n if (a == 0) return (true, 0);\\n uint256 c = a * b;\\n if (c / a != b) return (false, 0);\\n return (true, c);\\n }\\n }\\n\\n /**\\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b == 0) return (false, 0);\\n return (true, a / b);\\n }\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\\n *\\n * _Available since v3.4._\\n */\\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\\n unchecked {\\n if (b == 0) return (false, 0);\\n return (true, a % b);\\n }\\n }\\n\\n /**\\n * @dev Returns the addition of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `+` operator.\\n *\\n * Requirements:\\n *\\n * - Addition cannot overflow.\\n */\\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a + b;\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting on\\n * overflow (when the result is negative).\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a - b;\\n }\\n\\n /**\\n * @dev Returns the multiplication of two unsigned integers, reverting on\\n * overflow.\\n *\\n * Counterpart to Solidity's `*` operator.\\n *\\n * Requirements:\\n *\\n * - Multiplication cannot overflow.\\n */\\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a * b;\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers, reverting on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator.\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a / b;\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * reverting when dividing by zero.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\\n return a % b;\\n }\\n\\n /**\\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\\n * overflow (when the result is negative).\\n *\\n * CAUTION: This function is deprecated because it requires allocating memory for the error\\n * message unnecessarily. For custom revert reasons use {trySub}.\\n *\\n * Counterpart to Solidity's `-` operator.\\n *\\n * Requirements:\\n *\\n * - Subtraction cannot overflow.\\n */\\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b <= a, errorMessage);\\n return a - b;\\n }\\n }\\n\\n /**\\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\\n * division by zero. The result is rounded towards zero.\\n *\\n * Counterpart to Solidity's `/` operator. Note: this function uses a\\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\\n * uses an invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b > 0, errorMessage);\\n return a / b;\\n }\\n }\\n\\n /**\\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\\n * reverting with custom message when dividing by zero.\\n *\\n * CAUTION: This function is deprecated because it requires allocating memory for the error\\n * message unnecessarily. For custom revert reasons use {tryMod}.\\n *\\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\\n * opcode (which leaves remaining gas untouched) while Solidity uses an\\n * invalid opcode to revert (consuming all remaining gas).\\n *\\n * Requirements:\\n *\\n * - The divisor cannot be zero.\\n */\\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\\n unchecked {\\n require(b > 0, errorMessage);\\n return a % b;\\n }\\n }\\n}\\n\",\"keccak256\":\"0x58b21219689909c4f8339af00813760337f7e2e7f169a97fe49e2896dcfb3b9a\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Standard signed math utilities missing in the Solidity language.\\n */\\nlibrary SignedMath {\\n /**\\n * @dev Returns the largest of two signed numbers.\\n */\\n function max(int256 a, int256 b) internal pure returns (int256) {\\n return a > b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the smallest of two signed numbers.\\n */\\n function min(int256 a, int256 b) internal pure returns (int256) {\\n return a < b ? a : b;\\n }\\n\\n /**\\n * @dev Returns the average of two signed numbers without overflow.\\n * The result is rounded towards zero.\\n */\\n function average(int256 a, int256 b) internal pure returns (int256) {\\n // Formula from the book \\\"Hacker's Delight\\\"\\n int256 x = (a & b) + ((a ^ b) >> 1);\\n return x + (int256(uint256(x) >> 255) & (a ^ b));\\n }\\n\\n /**\\n * @dev Returns the absolute unsigned value of a signed value.\\n */\\n function abs(int256 n) internal pure returns (uint256) {\\n unchecked {\\n // must be unchecked in order to support `n = type(int256).min`\\n return uint256(n >= 0 ? n : -n);\\n }\\n }\\n}\\n\",\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\"},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/structs/EnumerableSet.sol)\\n// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.\\n\\npragma solidity ^0.8.0;\\n\\n/**\\n * @dev Library for managing\\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\\n * types.\\n *\\n * Sets have the following properties:\\n *\\n * - Elements are added, removed, and checked for existence in constant time\\n * (O(1)).\\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\\n *\\n * ```solidity\\n * contract Example {\\n * // Add the library methods\\n * using EnumerableSet for EnumerableSet.AddressSet;\\n *\\n * // Declare a set state variable\\n * EnumerableSet.AddressSet private mySet;\\n * }\\n * ```\\n *\\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\\n * and `uint256` (`UintSet`) are supported.\\n *\\n * [WARNING]\\n * ====\\n * Trying to delete such a structure from storage will likely result in data corruption, rendering the structure\\n * unusable.\\n * See https://github.com/ethereum/solidity/pull/11843[ethereum/solidity#11843] for more info.\\n *\\n * In order to clean an EnumerableSet, you can either remove all elements one by one or create a fresh instance using an\\n * array of EnumerableSet.\\n * ====\\n */\\nlibrary EnumerableSet {\\n // To implement this library for multiple types with as little code\\n // repetition as possible, we write it in terms of a generic Set type with\\n // bytes32 values.\\n // The Set implementation uses private functions, and user-facing\\n // implementations (such as AddressSet) are just wrappers around the\\n // underlying Set.\\n // This means that we can only create new EnumerableSets for types that fit\\n // in bytes32.\\n\\n struct Set {\\n // Storage of set values\\n bytes32[] _values;\\n // Position of the value in the `values` array, plus 1 because index 0\\n // means a value is not in the set.\\n mapping(bytes32 => uint256) _indexes;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function _add(Set storage set, bytes32 value) private returns (bool) {\\n if (!_contains(set, value)) {\\n set._values.push(value);\\n // The value is stored at length-1, but we add 1 to all indexes\\n // and use 0 as a sentinel value\\n set._indexes[value] = set._values.length;\\n return true;\\n } else {\\n return false;\\n }\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function _remove(Set storage set, bytes32 value) private returns (bool) {\\n // We read and store the value's index to prevent multiple reads from the same storage slot\\n uint256 valueIndex = set._indexes[value];\\n\\n if (valueIndex != 0) {\\n // Equivalent to contains(set, value)\\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\\n // the array, and then remove the last element (sometimes called as 'swap and pop').\\n // This modifies the order of the array, as noted in {at}.\\n\\n uint256 toDeleteIndex = valueIndex - 1;\\n uint256 lastIndex = set._values.length - 1;\\n\\n if (lastIndex != toDeleteIndex) {\\n bytes32 lastValue = set._values[lastIndex];\\n\\n // Move the last value to the index where the value to delete is\\n set._values[toDeleteIndex] = lastValue;\\n // Update the index for the moved value\\n set._indexes[lastValue] = valueIndex; // Replace lastValue's index to valueIndex\\n }\\n\\n // Delete the slot where the moved value was stored\\n set._values.pop();\\n\\n // Delete the index for the deleted slot\\n delete set._indexes[value];\\n\\n return true;\\n } else {\\n return false;\\n }\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\\n return set._indexes[value] != 0;\\n }\\n\\n /**\\n * @dev Returns the number of values on the set. O(1).\\n */\\n function _length(Set storage set) private view returns (uint256) {\\n return set._values.length;\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\\n return set._values[index];\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function _values(Set storage set) private view returns (bytes32[] memory) {\\n return set._values;\\n }\\n\\n // Bytes32Set\\n\\n struct Bytes32Set {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\\n return _add(set._inner, value);\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\\n return _remove(set._inner, value);\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\\n return _contains(set._inner, value);\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(Bytes32Set storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\\n return _at(set._inner, index);\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(Bytes32Set storage set) internal view returns (bytes32[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n bytes32[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n\\n // AddressSet\\n\\n struct AddressSet {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(AddressSet storage set, address value) internal returns (bool) {\\n return _add(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(AddressSet storage set, address value) internal returns (bool) {\\n return _remove(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(AddressSet storage set, address value) internal view returns (bool) {\\n return _contains(set._inner, bytes32(uint256(uint160(value))));\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(AddressSet storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\\n return address(uint160(uint256(_at(set._inner, index))));\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(AddressSet storage set) internal view returns (address[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n address[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n\\n // UintSet\\n\\n struct UintSet {\\n Set _inner;\\n }\\n\\n /**\\n * @dev Add a value to a set. O(1).\\n *\\n * Returns true if the value was added to the set, that is if it was not\\n * already present.\\n */\\n function add(UintSet storage set, uint256 value) internal returns (bool) {\\n return _add(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Removes a value from a set. O(1).\\n *\\n * Returns true if the value was removed from the set, that is if it was\\n * present.\\n */\\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\\n return _remove(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Returns true if the value is in the set. O(1).\\n */\\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\\n return _contains(set._inner, bytes32(value));\\n }\\n\\n /**\\n * @dev Returns the number of values in the set. O(1).\\n */\\n function length(UintSet storage set) internal view returns (uint256) {\\n return _length(set._inner);\\n }\\n\\n /**\\n * @dev Returns the value stored at position `index` in the set. O(1).\\n *\\n * Note that there are no guarantees on the ordering of values inside the\\n * array, and it may change when more values are added or removed.\\n *\\n * Requirements:\\n *\\n * - `index` must be strictly less than {length}.\\n */\\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\\n return uint256(_at(set._inner, index));\\n }\\n\\n /**\\n * @dev Return the entire set in an array\\n *\\n * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed\\n * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that\\n * this function has an unbounded cost, and using it as part of a state-changing function may render the function\\n * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block.\\n */\\n function values(UintSet storage set) internal view returns (uint256[] memory) {\\n bytes32[] memory store = _values(set._inner);\\n uint256[] memory result;\\n\\n /// @solidity memory-safe-assembly\\n assembly {\\n result := store\\n }\\n\\n return result;\\n }\\n}\\n\",\"keccak256\":\"0x9f4357008a8f7d8c8bf5d48902e789637538d8c016be5766610901b4bba81514\",\"license\":\"MIT\"},\"lib/pyth-sdk-solidity/IPyth.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\nimport \\\"./PythStructs.sol\\\";\\nimport \\\"./IPythEvents.sol\\\";\\n\\n/// @title Consume prices from the Pyth Network (https://pyth.network/).\\n/// @dev Please refer to the guidance at https://docs.pyth.network/consumers/best-practices for how to consume prices safely.\\n/// @author Pyth Data Association\\ninterface IPyth is IPythEvents {\\n /// @notice Returns the period (in seconds) that a price feed is considered valid since its publish time\\n function getValidTimePeriod() external view returns (uint validTimePeriod);\\n\\n /// @notice Returns the price and confidence interval.\\n /// @dev Reverts if the price has not been updated within the last `getValidTimePeriod()` seconds.\\n /// @param id The Pyth Price Feed ID of which to fetch the price and confidence interval.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPrice(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price and confidence interval.\\n /// @dev Reverts if the EMA price is not available.\\n /// @param id The Pyth Price Feed ID of which to fetch the EMA price and confidence interval.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPrice(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the price of a price feed without any sanity checks.\\n /// @dev This function returns the most recent price update in this contract without any recency checks.\\n /// This function is unsafe as the returned price update may be arbitrarily far in the past.\\n ///\\n /// Users of this function should check the `publishTime` in the price to ensure that the returned price is\\n /// sufficiently recent for their application. If you are considering using this function, it may be\\n /// safer / easier to use either `getPrice` or `getPriceNoOlderThan`.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPriceUnsafe(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the price that is no older than `age` seconds of the current time.\\n /// @dev This function is a sanity-checked version of `getPriceUnsafe` which is useful in\\n /// applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently\\n /// recently.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getPriceNoOlderThan(\\n bytes32 id,\\n uint age\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price of a price feed without any sanity checks.\\n /// @dev This function returns the same price as `getEmaPrice` in the case where the price is available.\\n /// However, if the price is not recent this function returns the latest available price.\\n ///\\n /// The returned price can be from arbitrarily far in the past; this function makes no guarantees that\\n /// the returned price is recent or useful for any particular application.\\n ///\\n /// Users of this function should check the `publishTime` in the price to ensure that the returned price is\\n /// sufficiently recent for their application. If you are considering using this function, it may be\\n /// safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPriceUnsafe(\\n bytes32 id\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Returns the exponentially-weighted moving average price that is no older than `age` seconds\\n /// of the current time.\\n /// @dev This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in\\n /// applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently\\n /// recently.\\n /// @return price - please read the documentation of PythStructs.Price to understand how to use this safely.\\n function getEmaPriceNoOlderThan(\\n bytes32 id,\\n uint age\\n ) external view returns (PythStructs.Price memory price);\\n\\n /// @notice Update price feeds with given update messages.\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n /// Prices will be updated if they are more recent than the current stored prices.\\n /// The call will succeed even if the update is not the most recent.\\n /// @dev Reverts if the transferred fee is not sufficient or the updateData is invalid.\\n /// @param updateData Array of price update data.\\n function updatePriceFeeds(bytes[] calldata updateData) external payable;\\n\\n /// @notice Wrapper around updatePriceFeeds that rejects fast if a price update is not necessary. A price update is\\n /// necessary if the current on-chain publishTime is older than the given publishTime. It relies solely on the\\n /// given `publishTimes` for the price feeds and does not read the actual price update publish time within `updateData`.\\n ///\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n ///\\n /// `priceIds` and `publishTimes` are two arrays with the same size that correspond to senders known publishTime\\n /// of each priceId when calling this method. If all of price feeds within `priceIds` have updated and have\\n /// a newer or equal publish time than the given publish time, it will reject the transaction to save gas.\\n /// Otherwise, it calls updatePriceFeeds method to update the prices.\\n ///\\n /// @dev Reverts if update is not needed or the transferred fee is not sufficient or the updateData is invalid.\\n /// @param updateData Array of price update data.\\n /// @param priceIds Array of price ids.\\n /// @param publishTimes Array of publishTimes. `publishTimes[i]` corresponds to known `publishTime` of `priceIds[i]`\\n function updatePriceFeedsIfNecessary(\\n bytes[] calldata updateData,\\n bytes32[] calldata priceIds,\\n uint64[] calldata publishTimes\\n ) external payable;\\n\\n /// @notice Returns the required fee to update an array of price updates.\\n /// @param updateData Array of price update data.\\n /// @return feeAmount The required fee in Wei.\\n function getUpdateFee(\\n bytes[] calldata updateData\\n ) external view returns (uint feeAmount);\\n\\n /// @notice Parse `updateData` and return price feeds of the given `priceIds` if they are all published\\n /// within `minPublishTime` and `maxPublishTime`.\\n ///\\n /// You can use this method if you want to use a Pyth price at a fixed time and not the most recent price;\\n /// otherwise, please consider using `updatePriceFeeds`. This method does not store the price updates on-chain.\\n ///\\n /// This method requires the caller to pay a fee in wei; the required fee can be computed by calling\\n /// `getUpdateFee` with the length of the `updateData` array.\\n ///\\n ///\\n /// @dev Reverts if the transferred fee is not sufficient or the updateData is invalid or there is\\n /// no update for any of the given `priceIds` within the given time range.\\n /// @param updateData Array of price update data.\\n /// @param priceIds Array of price ids.\\n /// @param minPublishTime minimum acceptable publishTime for the given `priceIds`.\\n /// @param maxPublishTime maximum acceptable publishTime for the given `priceIds`.\\n /// @return priceFeeds Array of the price feeds corresponding to the given `priceIds` (with the same order).\\n function parsePriceFeedUpdates(\\n bytes[] calldata updateData,\\n bytes32[] calldata priceIds,\\n uint64 minPublishTime,\\n uint64 maxPublishTime\\n ) external payable returns (PythStructs.PriceFeed[] memory priceFeeds);\\n}\\n\",\"keccak256\":\"0x949c65c65fea0578c09a6fc068e09ed1165adede2c835984cefcb25d76de1de2\",\"license\":\"Apache-2.0\"},\"lib/pyth-sdk-solidity/IPythEvents.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\n/// @title IPythEvents contains the events that Pyth contract emits.\\n/// @dev This interface can be used for listening to the updates for off-chain and testing purposes.\\ninterface IPythEvents {\\n /// @dev Emitted when the price feed with `id` has received a fresh update.\\n /// @param id The Pyth Price Feed ID.\\n /// @param publishTime Publish time of the given price update.\\n /// @param price Price of the given price update.\\n /// @param conf Confidence interval of the given price update.\\n event PriceFeedUpdate(\\n bytes32 indexed id,\\n uint64 publishTime,\\n int64 price,\\n uint64 conf\\n );\\n\\n /// @dev Emitted when a batch price update is processed successfully.\\n /// @param chainId ID of the source chain that the batch price update comes from.\\n /// @param sequenceNumber Sequence number of the batch price update.\\n event BatchPriceFeedUpdate(uint16 chainId, uint64 sequenceNumber);\\n}\\n\",\"keccak256\":\"0x048a35526c2e77d107d43ba336f1dcf31f64cef25ba429ae1f7a0fbc11c23320\",\"license\":\"Apache-2.0\"},\"lib/pyth-sdk-solidity/PythStructs.sol\":{\"content\":\"// SPDX-License-Identifier: Apache-2.0\\npragma solidity ^0.8.0;\\n\\ncontract PythStructs {\\n // A price with a degree of uncertainty, represented as a price +- a confidence interval.\\n //\\n // The confidence interval roughly corresponds to the standard error of a normal distribution.\\n // Both the price and confidence are stored in a fixed-point numeric representation,\\n // `x * (10^expo)`, where `expo` is the exponent.\\n //\\n // Please refer to the documentation at https://docs.pyth.network/consumers/best-practices for how\\n // to how this price safely.\\n struct Price {\\n // Price\\n int64 price;\\n // Confidence interval around the price\\n uint64 conf;\\n // Price exponent\\n int32 expo;\\n // Unix timestamp describing when the price was published\\n uint publishTime;\\n }\\n\\n // PriceFeed represents a current aggregate price from pyth publisher feeds.\\n struct PriceFeed {\\n // The price ID.\\n bytes32 id;\\n // Latest available price\\n Price price;\\n // Latest available exponentially-weighted moving average price\\n Price emaPrice;\\n }\\n}\\n\",\"keccak256\":\"0x95ff0a6d64517348ef604b8bcf246b561a9445d7e607b8f48491c617cfda9b65\",\"license\":\"Apache-2.0\"},\"src/RNSDomainPrice.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { Initializable } from \\\"@openzeppelin/contracts/proxy/utils/Initializable.sol\\\";\\nimport { AccessControlEnumerable } from \\\"@openzeppelin/contracts/access/AccessControlEnumerable.sol\\\";\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { IPyth, PythStructs } from \\\"@pythnetwork/IPyth.sol\\\";\\nimport { INSUnified } from \\\"./interfaces/INSUnified.sol\\\";\\nimport { INSAuction } from \\\"./interfaces/INSAuction.sol\\\";\\nimport { INSDomainPrice } from \\\"./interfaces/INSDomainPrice.sol\\\";\\nimport { PeriodScaler, LibPeriodScaler, Math } from \\\"./libraries/math/PeriodScalingUtils.sol\\\";\\nimport { TimestampWrapper } from \\\"./libraries/TimestampWrapperUtils.sol\\\";\\nimport { LibSafeRange } from \\\"./libraries/math/LibSafeRange.sol\\\";\\nimport { LibString } from \\\"./libraries/LibString.sol\\\";\\nimport { LibRNSDomain } from \\\"./libraries/LibRNSDomain.sol\\\";\\nimport { PythConverter } from \\\"./libraries/pyth/PythConverter.sol\\\";\\n\\ncontract RNSDomainPrice is Initializable, AccessControlEnumerable, INSDomainPrice {\\n using LibString for *;\\n using LibRNSDomain for string;\\n using LibPeriodScaler for PeriodScaler;\\n using PythConverter for PythStructs.Price;\\n\\n /// @dev The threshold tier value (in USD) for Tier 1: > $200\\n uint256 private constant TIER_1_FROM_EXCLUDED_THRESHOLD = 200e18;\\n /// @dev The threshold tier value (in USD) for Tier 2 in range of ($50; $200]\\n uint256 private constant TIER_2_FROM_EXCLUDED_THRESHOLD = 50e18;\\n /// @inheritdoc INSDomainPrice\\n uint8 public constant USD_DECIMALS = 18;\\n /// @inheritdoc INSDomainPrice\\n uint64 public constant MAX_PERCENTAGE = 100_00;\\n /// @inheritdoc INSDomainPrice\\n bytes32 public constant OPERATOR_ROLE = keccak256(\\\"OPERATOR_ROLE\\\");\\n /// @inheritdoc INSDomainPrice\\n bytes32 public constant OVERRIDER_ROLE = keccak256(\\\"OVERRIDER_ROLE\\\");\\n\\n /// @dev Gap for upgradeability.\\n uint256[50] private ____gap;\\n\\n /// @dev Pyth oracle contract\\n IPyth internal _pyth;\\n /// @dev RNSAuction contract\\n INSAuction internal _auction;\\n /// @dev Extra fee for renewals based on the current domain price.\\n uint256 internal _taxRatio;\\n /// @dev Max length of the renewal fee\\n uint256 internal _rnfMaxLength;\\n /// @dev Max acceptable age of the price oracle request\\n uint256 internal _maxAcceptableAge;\\n /// @dev Price feed ID on Pyth for RON/USD\\n bytes32 internal _pythIdForRONUSD;\\n /// @dev The percentage scale from domain price each period\\n PeriodScaler internal _dpDownScaler;\\n\\n /// @dev Mapping from domain length => renewal fee in USD\\n mapping(uint256 length => uint256 usdPrice) internal _rnFee;\\n /// @dev Mapping from name => domain price in USD\\n mapping(bytes32 lbHash => TimestampWrapper usdPrice) internal _dp;\\n /// @dev Mapping from name => inverse bitwise of renewal fee overriding.\\n mapping(bytes32 lbHash => uint256 usdPrice) internal _rnFeeOverriding;\\n /// @dev Mapping from label hash to overriden tier\\n mapping(bytes32 lbHash => uint8 tier) internal _tierOverriding;\\n\\n constructor() payable {\\n _disableInitializers();\\n }\\n\\n function initialize(\\n address admin,\\n address[] calldata operators,\\n RenewalFee[] calldata renewalFees,\\n uint256 taxRatio,\\n PeriodScaler calldata domainPriceScaleRule,\\n IPyth pyth,\\n INSAuction auction,\\n uint256 maxAcceptableAge,\\n bytes32 pythIdForRONUSD\\n ) external initializer {\\n uint256 length = operators.length;\\n bytes32 operatorRole = OPERATOR_ROLE;\\n\\n for (uint256 i; i < length;) {\\n _setupRole(operatorRole, operators[i]);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n _auction = auction;\\n _setupRole(DEFAULT_ADMIN_ROLE, admin);\\n _setRenewalFeeByLengths(renewalFees);\\n _setTaxRatio(taxRatio);\\n _setDomainPriceScaleRule(domainPriceScaleRule);\\n _setPythOracleConfig(pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getPythOracleConfig() external view returns (IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) {\\n return (_pyth, _maxAcceptableAge, _pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD)\\n external\\n onlyRole(DEFAULT_ADMIN_ROLE)\\n {\\n _setPythOracleConfig(pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getRenewalFeeByLengths() external view returns (RenewalFee[] memory renewalFees) {\\n uint256 rnfMaxLength = _rnfMaxLength;\\n renewalFees = new RenewalFee[](rnfMaxLength);\\n uint256 len;\\n\\n for (uint256 i; i < rnfMaxLength;) {\\n unchecked {\\n len = i + 1;\\n renewalFees[i].labelLength = len;\\n renewalFees[i].fee = _rnFee[len];\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setRenewalFeeByLengths(renewalFees);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getTaxRatio() external view returns (uint256 ratio) {\\n return _taxRatio;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setTaxRatio(uint256 ratio) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setTaxRatio(ratio);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getScaleDownRuleForDomainPrice() external view returns (PeriodScaler memory scaleRule) {\\n return _dpDownScaler;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function setScaleDownRuleForDomainPrice(PeriodScaler calldata scaleRule) external onlyRole(DEFAULT_ADMIN_ROLE) {\\n _setDomainPriceScaleRule(scaleRule);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getOverriddenRenewalFee(string calldata label) external view returns (uint256 usdFee) {\\n usdFee = _rnFeeOverriding[label.hashLabel()];\\n if (usdFee == 0) revert RenewalFeeIsNotOverriden();\\n return ~usdFee;\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getOverriddenTier(string calldata label) external view returns (Tier tier) {\\n uint8 tierValue = _tierOverriding[label.hashLabel()];\\n if (tierValue == 0) revert TierIsNotOverriden();\\n return Tier(~tierValue);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkOverrideRenewalFees(bytes32[] calldata lbHashes, uint256[] calldata usdPrices)\\n external\\n onlyRole(OVERRIDER_ROLE)\\n {\\n uint256 length = lbHashes.length;\\n if (length == 0 || length != usdPrices.length) revert InvalidArrayLength();\\n uint256 inverseBitwise;\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n inverseBitwise = ~usdPrices[i];\\n _rnFeeOverriding[lbHashes[i]] = inverseBitwise;\\n emit RenewalFeeOverridingUpdated(operator, lbHashes[i], inverseBitwise);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkOverrideTiers(bytes32[] calldata lbHashes, Tier[] calldata tiers) external onlyRole(OVERRIDER_ROLE) {\\n uint256 length = lbHashes.length;\\n if (length == 0 || length != tiers.length) revert InvalidArrayLength();\\n uint8 inverseBitwise;\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n inverseBitwise = ~uint8(tiers[i]);\\n _tierOverriding[lbHashes[i]] = inverseBitwise;\\n emit TierOverridingUpdated(operator, lbHashes[i], tiers[i]);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkTrySetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external onlyRole(OPERATOR_ROLE) returns (bool[] memory updated) {\\n uint256 length = _requireBulkSetDomainPriceArgumentsValid(lbHashes, ronPrices, proofHashes, setTypes);\\n address operator = _msgSender();\\n updated = new bool[](length);\\n\\n for (uint256 i; i < length;) {\\n updated[i] = _setDomainPrice(operator, lbHashes[i], ronPrices[i], proofHashes[i], setTypes[i], false);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function bulkSetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external onlyRole(OVERRIDER_ROLE) {\\n uint256 length = _requireBulkSetDomainPriceArgumentsValid(lbHashes, ronPrices, proofHashes, setTypes);\\n address operator = _msgSender();\\n\\n for (uint256 i; i < length;) {\\n _setDomainPrice(operator, lbHashes[i], ronPrices[i], proofHashes[i], setTypes[i], true);\\n unchecked {\\n ++i;\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getDomainPrice(string memory label) public view returns (uint256 usdPrice, uint256 ronPrice) {\\n usdPrice = _getDomainPrice(label.hashLabel());\\n ronPrice = convertUSDToRON(usdPrice);\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getTier(string memory label) public view returns (Tier tier) {\\n bytes32 lbHash = label.hashLabel();\\n uint8 overriddenTier = _tierOverriding[lbHash];\\n\\n if (overriddenTier != 0) return Tier(~overriddenTier);\\n\\n (UnitPrice memory yearlyRenewalFeeByLength,,) = _tryGetRenewalFee({ label: label, duration: 365 days });\\n uint256 tierValue = yearlyRenewalFeeByLength.usd + _getDomainPrice(lbHash) / 2;\\n\\n if (tierValue > TIER_1_FROM_EXCLUDED_THRESHOLD) {\\n return Tier.Tier1;\\n } else if (tierValue > TIER_2_FROM_EXCLUDED_THRESHOLD) {\\n return Tier.Tier2;\\n } else {\\n return Tier.Tier3;\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function getRenewalFee(string memory label, uint256 duration)\\n public\\n view\\n returns (UnitPrice memory basePrice, UnitPrice memory tax)\\n {\\n bytes4 revertReason;\\n (basePrice, tax, revertReason) = _tryGetRenewalFee(label, duration);\\n if (revertReason != bytes4(0x0)) {\\n assembly (\\\"memory-safe\\\") {\\n mstore(0x0, revertReason)\\n revert(0x0, 0x04)\\n }\\n }\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function convertUSDToRON(uint256 usdWei) public view returns (uint256 ronWei) {\\n return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).inverse({ expo: -18 }).mul({\\n inpWei: usdWei,\\n inpDecimals: int32(uint32(USD_DECIMALS)),\\n outDecimals: 18\\n });\\n }\\n\\n /**\\n * @inheritdoc INSDomainPrice\\n */\\n function convertRONToUSD(uint256 ronWei) public view returns (uint256 usdWei) {\\n return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).mul({\\n inpWei: ronWei,\\n inpDecimals: 18,\\n outDecimals: int32(uint32(USD_DECIMALS))\\n });\\n }\\n\\n /**\\n * @dev Reverts if the arguments of the method {bulkSetDomainPrice} is invalid.\\n */\\n function _requireBulkSetDomainPriceArgumentsValid(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) internal pure returns (uint256 length) {\\n length = lbHashes.length;\\n if (length == 0 || ronPrices.length != length || proofHashes.length != length || setTypes.length != length) {\\n revert InvalidArrayLength();\\n }\\n }\\n\\n /**\\n * @dev Helper method to set domain price.\\n *\\n * Emits an event {DomainPriceUpdated} optionally.\\n */\\n function _setDomainPrice(\\n address operator,\\n bytes32 lbHash,\\n uint256 ronPrice,\\n bytes32 proofHash,\\n uint256 setType,\\n bool forced\\n ) internal returns (bool updated) {\\n uint256 usdPrice = convertRONToUSD(ronPrice);\\n TimestampWrapper storage dp = _dp[lbHash];\\n updated = forced || dp.value < usdPrice;\\n\\n if (updated) {\\n dp.value = usdPrice;\\n dp.timestamp = block.timestamp;\\n emit DomainPriceUpdated(operator, lbHash, usdPrice, proofHash, setType);\\n }\\n }\\n\\n /**\\n * @dev Sets renewal reservation ratio.\\n *\\n * Emits an event {TaxRatioUpdated}.\\n */\\n function _setTaxRatio(uint256 ratio) internal {\\n _taxRatio = ratio;\\n emit TaxRatioUpdated(_msgSender(), ratio);\\n }\\n\\n /**\\n * @dev Sets domain price scale rule.\\n *\\n * Emits events {DomainPriceScaleRuleUpdated}.\\n */\\n function _setDomainPriceScaleRule(PeriodScaler calldata domainPriceScaleRule) internal {\\n _dpDownScaler = domainPriceScaleRule;\\n emit DomainPriceScaleRuleUpdated(_msgSender(), domainPriceScaleRule.ratio, domainPriceScaleRule.period);\\n }\\n\\n /**\\n * @dev Sets renewal fee.\\n *\\n * Emits events {RenewalFeeByLengthUpdated}.\\n * Emits an event {MaxRenewalFeeLengthUpdated} optionally.\\n */\\n function _setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) internal {\\n address operator = _msgSender();\\n RenewalFee memory renewalFee;\\n uint256 length = renewalFees.length;\\n uint256 maxRenewalFeeLength = _rnfMaxLength;\\n\\n for (uint256 i; i < length;) {\\n renewalFee = renewalFees[i];\\n maxRenewalFeeLength = Math.max(maxRenewalFeeLength, renewalFee.labelLength);\\n _rnFee[renewalFee.labelLength] = renewalFee.fee;\\n emit RenewalFeeByLengthUpdated(operator, renewalFee.labelLength, renewalFee.fee);\\n\\n unchecked {\\n ++i;\\n }\\n }\\n\\n if (maxRenewalFeeLength != _rnfMaxLength) {\\n _rnfMaxLength = maxRenewalFeeLength;\\n emit MaxRenewalFeeLengthUpdated(operator, maxRenewalFeeLength);\\n }\\n }\\n\\n /**\\n * @dev Sets Pyth Oracle config.\\n *\\n * Emits events {PythOracleConfigUpdated}.\\n */\\n function _setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) internal {\\n _pyth = pyth;\\n _maxAcceptableAge = maxAcceptableAge;\\n _pythIdForRONUSD = pythIdForRONUSD;\\n emit PythOracleConfigUpdated(_msgSender(), pyth, maxAcceptableAge, pythIdForRONUSD);\\n }\\n\\n /**\\n * @dev Tries to get the renewal fee for a given domain label and duration.\\n * It returns the base price, tax, and a revert reason if applicable.\\n * @param label The domain label.\\n * @param duration The duration for which the domain is being renewed.\\n * @return basePrice The base price in USD for \\u02ddrenewing the domain.\\n * @return tax The tax amount in USD for renewing the domain.\\n * @return revertReason The revert reason if the renewal fee exceeds the auction domain expiry.\\n */\\n function _tryGetRenewalFee(string memory label, uint256 duration)\\n internal\\n view\\n returns (UnitPrice memory basePrice, UnitPrice memory tax, bytes4 revertReason)\\n {\\n uint256 nameLen = label.strlen();\\n bytes32 lbHash = label.hashLabel();\\n uint256 overriddenRenewalFee = _rnFeeOverriding[lbHash];\\n\\n if (overriddenRenewalFee != 0) {\\n basePrice.usd = duration * ~overriddenRenewalFee;\\n } else {\\n uint256 renewalFeeByLength = _rnFee[Math.min(nameLen, _rnfMaxLength)];\\n basePrice.usd = duration * renewalFeeByLength;\\n uint256 id = LibRNSDomain.toId(LibRNSDomain.RON_ID, label);\\n INSAuction auction = _auction;\\n if (auction.reserved(id)) {\\n INSUnified rns = auction.getRNSUnified();\\n uint256 expiry = LibSafeRange.addWithUpperbound(rns.getRecord(id).mut.expiry, duration, type(uint64).max);\\n (INSAuction.DomainAuction memory domainAuction,) = auction.getAuction(id);\\n uint256 claimedAt = domainAuction.bid.claimedAt;\\n if (claimedAt != 0 && expiry - claimedAt > auction.MAX_AUCTION_DOMAIN_EXPIRY()) {\\n return (basePrice, tax, ExceedAuctionDomainExpiry.selector);\\n }\\n // Tax is added to the name reserved for the auction\\n tax.usd = Math.mulDiv(_taxRatio, _getDomainPrice(lbHash), MAX_PERCENTAGE);\\n }\\n }\\n\\n tax.ron = convertUSDToRON(tax.usd);\\n basePrice.ron = convertUSDToRON(basePrice.usd);\\n }\\n\\n /**\\n * @dev Returns the current domain price applied the business rule: deduced x% each y seconds.\\n */\\n function _getDomainPrice(bytes32 lbHash) internal view returns (uint256) {\\n TimestampWrapper storage dp = _dp[lbHash];\\n uint256 lastSyncedAt = dp.timestamp;\\n if (lastSyncedAt == 0) return 0;\\n\\n uint256 passedDuration = block.timestamp - lastSyncedAt;\\n return _dpDownScaler.scaleDown({ v: dp.value, maxR: MAX_PERCENTAGE, dur: passedDuration });\\n }\\n}\\n\",\"keccak256\":\"0x0edacadce2173877441244247275ea91591f0b165874ff4a384583894f346827\",\"license\":\"MIT\"},\"src/interfaces/INSAuction.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { INSUnified } from \\\"./INSUnified.sol\\\";\\nimport { EventRange } from \\\"../libraries/LibEventRange.sol\\\";\\n\\ninterface INSAuction {\\n error NotYetEnded();\\n error NoOneBidded();\\n error NullAssignment();\\n error AlreadyBidding(uint256 id);\\n error RatioIsTooLarge();\\n error NameNotReserved();\\n error InvalidEventRange();\\n error QueryIsNotInPeriod();\\n error InsufficientAmount();\\n error InvalidArrayLength();\\n error ContractBidderIsForbidden();\\n error EventIsNotCreatedOrAlreadyStarted();\\n\\n struct Bid {\\n address payable bidder;\\n uint256 price;\\n uint256 timestamp;\\n uint256 claimedAt;\\n }\\n\\n struct DomainAuction {\\n bytes32 auctionId;\\n uint256 startingPrice;\\n Bid bid;\\n }\\n\\n /// @dev Emitted when an auction is set.\\n event AuctionEventSet(bytes32 indexed auctionId, EventRange range);\\n /// @dev Emitted when the labels are listed for auction.\\n event LabelsListed(bytes32 indexed auctionId, uint256[] ids, uint256[] startingPrices);\\n /// @dev Emitted when a bid is placed for a name.\\n event BidPlaced(\\n bytes32 indexed auctionId,\\n uint256 indexed id,\\n uint256 price,\\n address payable bidder,\\n uint256 previousPrice,\\n address previousBidder\\n );\\n /// @dev Emitted when the treasury is updated.\\n event TreasuryUpdated(address indexed addr);\\n /// @dev Emitted when bid gap ratio is updated.\\n event BidGapRatioUpdated(uint256 ratio);\\n\\n /**\\n * @dev The maximum expiry duration\\n */\\n function MAX_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev The maximum expiry duration of a domain after transferring to bidder.\\n */\\n function MAX_AUCTION_DOMAIN_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev Returns the operator role.\\n */\\n function OPERATOR_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\\n */\\n function MAX_PERCENTAGE() external pure returns (uint256);\\n\\n /**\\n * @dev The expiry duration of a domain after transferring to bidder.\\n */\\n function DOMAIN_EXPIRY_DURATION() external pure returns (uint64);\\n\\n /**\\n * @dev Claims domain names for auction.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n *\\n * @param labels The domain names. Eg, ['foo'] for 'foo.ron'\\n * @return ids The id corresponding for namehash of domain names.\\n */\\n function bulkRegister(string[] calldata labels) external returns (uint256[] memory ids);\\n\\n /**\\n * @dev Checks whether a domain name is currently reserved for auction or not.\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function reserved(uint256 id) external view returns (bool);\\n\\n /**\\n * @dev Claim unbidded names and transfer them to the specified addresses.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n *\\n * @param tos The array of addresses to transfer domain names to.\\n * @param ids The id corresponding for namehash of domain names.\\n * @param allowFailure Flag to indicate whether to allow failure if a domain is already being bid on.\\n * @return claimeds An array indicating whether each domain name was successfully claimed.\\n */\\n function bulkClaimUnbiddedNames(address[] calldata tos, uint256[] calldata ids, bool allowFailure)\\n external\\n returns (bool[] memory claimeds);\\n\\n /**\\n * @dev Creates a new auction to sale with a specific time period.\\n *\\n * Requirements:\\n * - The method caller must be admin.\\n *\\n * Emits an event {AuctionEventSet}.\\n *\\n * @return auctionId The auction id\\n * @notice Please use the method `setAuctionNames` to list all the reserved names.\\n */\\n function createAuctionEvent(EventRange calldata range) external returns (bytes32 auctionId);\\n\\n /**\\n * @dev Updates the auction details.\\n *\\n * Requirements:\\n * - The method caller must be admin.\\n *\\n * Emits an event {AuctionEventSet}.\\n */\\n function setAuctionEvent(bytes32 auctionId, EventRange calldata range) external;\\n\\n /**\\n * @dev Returns the event range of an auction.\\n */\\n function getAuctionEvent(bytes32 auctionId) external view returns (EventRange memory);\\n\\n /**\\n * @dev Lists reserved names to sale in a specified auction.\\n *\\n * Requirements:\\n * - The method caller must be contract operator.\\n * - Array length are matched and larger than 0.\\n * - Only allow to set when the domain is:\\n * + Not in any auction.\\n * + Or, in the current auction.\\n * + Or, this name is not bided.\\n *\\n * Emits an event {LabelsListed}.\\n *\\n * Note: If the name is already listed, this method replaces with a new input value.\\n *\\n * @param ids The namehashes id of domain names. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function listNamesForAuction(bytes32 auctionId, uint256[] calldata ids, uint256[] calldata startingPrices) external;\\n\\n /**\\n * @dev Places a bid for a domain name.\\n *\\n * Requirements:\\n * - The name is listed, or the auction is happening.\\n * - The msg.value is larger than the current bid price or the auction starting price.\\n *\\n * Emits an event {BidPlaced}.\\n *\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function placeBid(uint256 id) external payable;\\n\\n /**\\n * @dev Returns the highest bid and address of the bidder.\\n * @param id The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function getAuction(uint256 id) external view returns (DomainAuction memory, uint256 beatPrice);\\n\\n /**\\n * @dev Bulk claims the bid name.\\n *\\n * Requirements:\\n * - Must be called after ended time.\\n * - The method caller can be anyone.\\n *\\n * @param ids The namehash id of domain name. Eg, namehash('foo.ron') for 'foo.ron'\\n */\\n function bulkClaimBidNames(uint256[] calldata ids) external returns (uint256[] memory claimedAts);\\n\\n /**\\n * @dev Returns the treasury.\\n */\\n function getTreasury() external view returns (address);\\n\\n /**\\n * @dev Returns the gap ratio between 2 bids with the starting price. Value in range [0;100_00] is 0%-100%.\\n */\\n function getBidGapRatio() external view returns (uint256);\\n\\n /**\\n * @dev Sets the treasury.\\n *\\n * Requirements:\\n * - The method caller must be admin\\n *\\n * Emits an event {TreasuryUpdated}.\\n */\\n function setTreasury(address payable) external;\\n\\n /**\\n * @dev Sets commission ratio. Value in range [0;100_00] is 0%-100%.\\n *\\n * Requirements:\\n * - The method caller must be admin\\n *\\n * Emits an event {BidGapRatioUpdated}.\\n */\\n function setBidGapRatio(uint256) external;\\n\\n /**\\n * @dev Returns RNSUnified contract.\\n */\\n function getRNSUnified() external view returns (INSUnified);\\n}\\n\",\"keccak256\":\"0x406d5d682af4652b6c9c26948a4d4e31b6b88c056177973bb5f7d32141ae658c\",\"license\":\"MIT\"},\"src/interfaces/INSDomainPrice.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { PeriodScaler } from \\\"../libraries/math/PeriodScalingUtils.sol\\\";\\nimport { IPyth } from \\\"@pythnetwork/IPyth.sol\\\";\\n\\ninterface INSDomainPrice {\\n error InvalidArrayLength();\\n error RenewalFeeIsNotOverriden();\\n error TierIsNotOverriden();\\n error ExceedAuctionDomainExpiry();\\n\\n /// @dev The tier of a domain.\\n enum Tier {\\n Unknown,\\n Tier1,\\n Tier2,\\n Tier3\\n }\\n\\n struct RenewalFee {\\n uint256 labelLength;\\n uint256 fee;\\n }\\n\\n struct UnitPrice {\\n uint256 usd;\\n uint256 ron;\\n }\\n\\n /// @dev Emitted when the renewal reservation ratio is updated.\\n event TaxRatioUpdated(address indexed operator, uint256 indexed ratio);\\n /// @dev Emitted when the maximum length of renewal fee is updated.\\n event MaxRenewalFeeLengthUpdated(address indexed operator, uint256 indexed maxLength);\\n /// @dev Emitted when the renew fee is updated.\\n event RenewalFeeByLengthUpdated(address indexed operator, uint256 indexed labelLength, uint256 renewalFee);\\n /// @dev Emitted when the renew fee of a domain is overridden. Value of `inverseRenewalFee` is 0 when not overridden.\\n event RenewalFeeOverridingUpdated(address indexed operator, bytes32 indexed labelHash, uint256 inverseRenewalFee);\\n /// @dev Emitted when the tier of a domain is overridden.\\n event TierOverridingUpdated(address indexed operator, bytes32 indexed labelHash, Tier indexed tier);\\n\\n /// @dev Emitted when the domain price is updated.\\n event DomainPriceUpdated(\\n address indexed operator, bytes32 indexed labelHash, uint256 price, bytes32 indexed proofHash, uint256 setType\\n );\\n /// @dev Emitted when the rule to rescale domain price is updated.\\n event DomainPriceScaleRuleUpdated(address indexed operator, uint192 ratio, uint64 period);\\n\\n /// @dev Emitted when the Pyth Oracle config is updated.\\n event PythOracleConfigUpdated(\\n address indexed operator, IPyth indexed pyth, uint256 maxAcceptableAge, bytes32 indexed pythIdForRONUSD\\n );\\n\\n /**\\n * @dev Returns the Pyth oracle config.\\n */\\n function getPythOracleConfig() external view returns (IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD);\\n\\n /**\\n * @dev Sets the Pyth oracle config.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {PythOracleConfigUpdated}.\\n */\\n function setPythOracleConfig(IPyth pyth, uint256 maxAcceptableAge, bytes32 pythIdForRONUSD) external;\\n\\n /**\\n * @dev Returns the percentage to scale from domain price each period.\\n */\\n function getScaleDownRuleForDomainPrice() external view returns (PeriodScaler memory dpScaleRule);\\n\\n /**\\n * @dev Sets the percentage to scale from domain price each period.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {DomainPriceScaleRuleUpdated}.\\n *\\n * @notice Applies for the business rule: -x% each y seconds.\\n */\\n function setScaleDownRuleForDomainPrice(PeriodScaler calldata scaleRule) external;\\n\\n /**\\n * @dev Returns the renewal fee by lengths.\\n */\\n function getRenewalFeeByLengths() external view returns (RenewalFee[] memory renewalFees);\\n\\n /**\\n * @dev Sets the renewal fee by lengths\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits events {RenewalFeeByLengthUpdated}.\\n * Emits an event {MaxRenewalFeeLengthUpdated} optionally.\\n */\\n function setRenewalFeeByLengths(RenewalFee[] calldata renewalFees) external;\\n\\n /**\\n * @dev Returns tax ratio.\\n */\\n function getTaxRatio() external view returns (uint256 taxRatio);\\n\\n /**\\n * @dev Sets renewal reservation ratio.\\n *\\n * Requirements:\\n * - The method caller is admin.\\n *\\n * Emits an event {TaxRatioUpdated}.\\n */\\n function setTaxRatio(uint256 ratio) external;\\n\\n /**\\n * @dev Return the domain price.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n */\\n function getDomainPrice(string memory label) external view returns (uint256 usdPrice, uint256 ronPrice);\\n\\n /**\\n * @dev Returns the renewal fee in USD and RON.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n * @param duration Amount of second(s).\\n */\\n function getRenewalFee(string calldata label, uint256 duration)\\n external\\n view\\n returns (UnitPrice memory basePrice, UnitPrice memory tax);\\n\\n /**\\n * @dev Returns the tier of a label.\\n * @param label The domain label to register (Eg, 'foo' for 'foo.ron').\\n * @return tier The tier of the label.\\n */\\n function getTier(string calldata label) external view returns (Tier tier);\\n\\n /**\\n * @dev Returns the renewal fee of a label. Reverts if not overridden.\\n * @notice This method is to help developers check the domain renewal fee overriding. Consider using method\\n * {getRenewalFee} instead for full handling of renewal fees.\\n */\\n function getOverriddenRenewalFee(string memory label) external view returns (uint256 usdFee);\\n\\n /**\\n * @dev Returns the tier of a label. Reverts if not overridden.\\n * @notice This method is to help developers check the domain tier overriding. Consider using method {getTier} instead\\n * for full handling of tiers.\\n */\\n function getOverriddenTier(string memory label) external view returns (Tier tier);\\n\\n /**\\n * @dev Bulk override renewal fees.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {RenewalFeeOverridingUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param usdPrices Array of prices in USD. Leave 2^256 - 1 to remove overriding.\\n */\\n function bulkOverrideRenewalFees(bytes32[] calldata lbHashes, uint256[] calldata usdPrices) external;\\n\\n /**\\n * @dev Bulk override tiers.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {TierOverridingUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param tiers Array of tiers. Leave 2^256 - 1 to remove overriding.\\n */\\n function bulkOverrideTiers(bytes32[] calldata lbHashes, Tier[] calldata tiers) external;\\n\\n /**\\n * @dev Bulk try to set domain prices. Returns a boolean array indicating whether domain prices at the corresponding\\n * indexes if set or not.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n * - The price should be larger than current domain price or it will not be updated.\\n *\\n * Emits events {DomainPriceUpdated} optionally.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param ronPrices Array of prices in (W)RON token.\\n * @param proofHashes Array of proof hashes.\\n * @param setTypes Array of update types from the operator service.\\n */\\n function bulkTrySetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external returns (bool[] memory updated);\\n\\n /**\\n * @dev Bulk override domain prices.\\n *\\n * Requirements:\\n * - The method caller is operator.\\n * - The input array lengths must be larger than 0 and the same.\\n *\\n * Emits events {DomainPriceUpdated}.\\n *\\n * @param lbHashes Array of label hashes. (Eg, ['foo'].map(keccak256) for 'foo.ron')\\n * @param ronPrices Array of prices in (W)RON token.\\n * @param proofHashes Array of proof hashes.\\n * @param setTypes Array of update types from the operator service.\\n */\\n function bulkSetDomainPrice(\\n bytes32[] calldata lbHashes,\\n uint256[] calldata ronPrices,\\n bytes32[] calldata proofHashes,\\n uint256[] calldata setTypes\\n ) external;\\n\\n /**\\n * @dev Returns the converted amount from USD to RON.\\n */\\n function convertUSDToRON(uint256 usdAmount) external view returns (uint256 ronAmount);\\n\\n /**\\n * @dev Returns the converted amount from RON to USD.\\n */\\n function convertRONToUSD(uint256 ronAmount) external view returns (uint256 usdAmount);\\n\\n /**\\n * @dev Value equals to keccak256(\\\"OPERATOR_ROLE\\\").\\n */\\n function OPERATOR_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the overrider role.\\n */\\n function OVERRIDER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Max percentage 100%. Values [0; 100_00] reflexes [0; 100%]\\n */\\n function MAX_PERCENTAGE() external pure returns (uint64);\\n\\n /**\\n * @dev Decimal for USD.\\n */\\n function USD_DECIMALS() external pure returns (uint8);\\n}\\n\",\"keccak256\":\"0x8788fdbb62a27ad604ade2ca281a1b76001b929245d4ef9117544636ac8ec545\",\"license\":\"MIT\"},\"src/interfaces/INSUnified.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nimport { IERC721Metadata } from \\\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\\\";\\nimport { IAccessControlEnumerable } from \\\"@openzeppelin/contracts/access/IAccessControlEnumerable.sol\\\";\\nimport { ModifyingIndicator } from \\\"../types/ModifyingIndicator.sol\\\";\\n\\ninterface INSUnified is IAccessControlEnumerable, IERC721Metadata {\\n /// @dev Error: The provided token id is expired.\\n error Expired();\\n /// @dev Error: The provided token id is unexists.\\n error Unexists();\\n /// @dev Error: The provided token id's depth level is greater than 3.\\n error ThirdLevelDomainUnallowed();\\n /// @dev Error: The provided id expiry is greater than parent id expiry.\\n error ExceedParentExpiry();\\n /// @dev Error: The provided name is unavailable for registration.\\n error Unavailable();\\n /// @dev Error: The sender lacks the necessary permissions.\\n error Unauthorized();\\n /// @dev Error: Missing controller role required for modification.\\n error MissingControllerRole();\\n /// @dev Error: Attempting to set an immutable field, which cannot be modified.\\n error CannotSetImmutableField();\\n /// @dev Error: Missing protected settler role required for modification.\\n error MissingProtectedSettlerRole();\\n /// @dev Error: Attempting to set an expiry time that is not larger than the previous one.\\n error ExpiryTimeMustBeLargerThanTheOldOne();\\n /// @dev Error: The provided name must be registered or is in a grace period.\\n error NameMustBeRegisteredOrInGracePeriod();\\n\\n /**\\n * | Fields\\\\Idc | Modifying Indicator |\\n * | ---------- | ------------------- |\\n * | depth | 0b00000001 |\\n * | parentId | 0b00000010 |\\n * | label | 0b00000100 |\\n */\\n struct ImmutableRecord {\\n // The level-th of a domain.\\n uint8 depth;\\n // The node of parent token. Eg, parent node of vip.duke.ron equals to namehash('duke.ron')\\n uint256 parentId;\\n // The label of a domain. Eg, label is vip for domain vip.duke.ron\\n string label;\\n }\\n\\n /**\\n * | Fields\\\\Idc,Roles | Modifying Indicator | Controller | Protected setter | (Parent) Owner/Spender |\\n * | ---------------- | ------------------- | ---------- | ---------------- | ---------------------- |\\n * | resolver | 0b00001000 | x | | x |\\n * | owner | 0b00010000 | x | | x |\\n * | expiry | 0b00100000 | x | | |\\n * | protected | 0b01000000 | | x | |\\n * Note: (Parent) Owner/Spender means parent owner or current owner or current token spender.\\n */\\n struct MutableRecord {\\n // The resolver address.\\n address resolver;\\n // The record owner. This field must equal to the owner of token.\\n address owner;\\n // Expiry timestamp.\\n uint64 expiry;\\n // Flag indicating whether the token is protected or not.\\n bool protected;\\n }\\n\\n struct Record {\\n ImmutableRecord immut;\\n MutableRecord mut;\\n }\\n\\n /// @dev Emitted when a base URI is updated.\\n event BaseURIUpdated(address indexed operator, string newURI);\\n /// @dev Emitted when the grace period for all domain is updated.\\n event GracePeriodUpdated(address indexed operator, uint64 newGracePeriod);\\n\\n /**\\n * @dev Emitted when the record of node is updated.\\n * @param indicator The binary index of updated fields. Eg, 0b10101011 means fields at position 1, 2, 4, 6, 8 (right\\n * to left) needs to be updated.\\n * @param record The updated fields.\\n */\\n event RecordUpdated(uint256 indexed node, ModifyingIndicator indicator, Record record);\\n\\n /**\\n * @dev Returns the controller role.\\n * @notice Can set all fields {Record.mut} in token record, excepting {Record.mut.protected}.\\n */\\n function CONTROLLER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the protected setter role.\\n * @notice Can set field {Record.mut.protected} in token record by using method `bulkSetProtected`.\\n */\\n function PROTECTED_SETTLER_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the reservation role.\\n * @notice Never expire for token owner has this role.\\n */\\n function RESERVATION_ROLE() external pure returns (bytes32);\\n\\n /**\\n * @dev Returns the max expiry value.\\n */\\n function MAX_EXPIRY() external pure returns (uint64);\\n\\n /**\\n * @dev Returns the name hash output of a domain.\\n */\\n function namehash(string memory domain) external pure returns (bytes32 node);\\n\\n /**\\n * @dev Returns true if the specified name is available for registration.\\n * Note: Only available after passing the grace period.\\n */\\n function available(uint256 id) external view returns (bool);\\n\\n /**\\n * @dev Returns the grace period in second(s).\\n * Note: This period affects the availability of the domain.\\n */\\n function getGracePeriod() external view returns (uint64);\\n\\n /**\\n * @dev Returns the total minted ids.\\n * Note: Burning id will not affect `totalMinted`.\\n */\\n function totalMinted() external view returns (uint256);\\n\\n /**\\n * @dev Sets the grace period in second(s).\\n *\\n * Requirements:\\n * - The method caller must have controller role.\\n *\\n * Note: This period affects the availability of the domain.\\n */\\n function setGracePeriod(uint64) external;\\n\\n /**\\n * @dev Sets the base uri.\\n *\\n * Requirements:\\n * - The method caller must be contract owner.\\n *\\n */\\n function setBaseURI(string calldata baseTokenURI) external;\\n\\n /**\\n * @dev Mints token for subnode.\\n *\\n * Requirements:\\n * - The token must be available.\\n * - The method caller must be (parent) owner or approved spender. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n *\\n * @param parentId The parent node to mint or create subnode.\\n * @param label The domain label. Eg, label is duke for domain duke.ron.\\n * @param resolver The resolver address.\\n * @param owner The token owner.\\n * @param duration Duration in second(s) to expire. Leave 0 to set as parent.\\n */\\n function mint(uint256 parentId, string calldata label, address resolver, address owner, uint64 duration)\\n external\\n returns (uint64 expiryTime, uint256 id);\\n\\n /**\\n * @dev Returns all record of a domain.\\n * Reverts if the token is non existent.\\n */\\n function getRecord(uint256 id) external view returns (Record memory record);\\n\\n /**\\n * @dev Returns the domain name of id.\\n */\\n function getDomain(uint256 id) external view returns (string memory domain);\\n\\n /**\\n * @dev Returns whether the requester is able to modify the record based on the updated index.\\n * Note: This method strictly follows the permission of struct {MutableRecord}.\\n */\\n function canSetRecord(address requester, uint256 id, ModifyingIndicator indicator)\\n external\\n view\\n returns (bool, bytes4 error);\\n\\n /**\\n * @dev Sets record of existing token. Update operation for {Record.mut}.\\n *\\n * Requirements:\\n * - The method caller must have role based on the corresponding `indicator`. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function setRecord(uint256 id, ModifyingIndicator indicator, MutableRecord calldata record) external;\\n\\n /**\\n * @dev Reclaims ownership. Update operation for {Record.mut.owner}.\\n *\\n * Requirements:\\n * - The method caller should have controller role.\\n * - The method caller should be (parent) owner or approved spender. See struct {MutableRecord}.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function reclaim(uint256 id, address owner) external;\\n\\n /**\\n * @dev Renews token. Update operation for {Record.mut.expiry}.\\n *\\n * Requirements:\\n * - The method caller should have controller role.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function renew(uint256 id, uint64 duration) external returns (uint64 expiry);\\n\\n /**\\n * @dev Sets expiry time for a token. Update operation for {Record.mut.expiry}.\\n *\\n * Requirements:\\n * - The method caller must have controller role.\\n *\\n * Emits an event {RecordUpdated}.\\n */\\n function setExpiry(uint256 id, uint64 expiry) external;\\n\\n /**\\n * @dev Sets the protected status of a list of ids. Update operation for {Record.mut.protected}.\\n *\\n * Requirements:\\n * - The method caller must have protected setter role.\\n *\\n * Emits events {RecordUpdated}.\\n */\\n function bulkSetProtected(uint256[] calldata ids, bool protected) external;\\n}\\n\",\"keccak256\":\"0x98e2e77490d7fd6d87a8e9800223bb2f60a33e7338e2f65f64a3aed4737c035c\",\"license\":\"MIT\"},\"src/libraries/LibEventRange.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nstruct EventRange {\\n uint256 startedAt;\\n uint256 endedAt;\\n}\\n\\nlibrary LibEventRange {\\n /**\\n * @dev Checks whether the event range is valid.\\n */\\n function valid(EventRange calldata range) internal pure returns (bool) {\\n return range.startedAt <= range.endedAt;\\n }\\n\\n /**\\n * @dev Returns whether the current range is not yet started.\\n */\\n function isNotYetStarted(EventRange memory range) internal view returns (bool) {\\n return block.timestamp < range.startedAt;\\n }\\n\\n /**\\n * @dev Returns whether the current range is ended or not.\\n */\\n function isEnded(EventRange memory range) internal view returns (bool) {\\n return range.endedAt <= block.timestamp;\\n }\\n\\n /**\\n * @dev Returns whether the current block is in period.\\n */\\n function isInPeriod(EventRange memory range) internal view returns (bool) {\\n return range.startedAt <= block.timestamp && block.timestamp < range.endedAt;\\n }\\n}\\n\",\"keccak256\":\"0x95bf015c4245919cbcbcd810dd597fdb23eb4e58b62df8ef74b1c8c60a969bea\",\"license\":\"MIT\"},\"src/libraries/LibRNSDomain.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\nlibrary LibRNSDomain {\\n /// @dev Value equals to namehash('ron')\\n uint256 internal constant RON_ID = 0xba69923fa107dbf5a25a073a10b7c9216ae39fbadc95dc891d460d9ae315d688;\\n /// @dev Value equals to namehash('addr.reverse')\\n uint256 internal constant ADDR_REVERSE_ID = 0x91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2;\\n\\n /**\\n * @dev Calculate the corresponding id given parentId and label.\\n */\\n function toId(uint256 parentId, string memory label) internal pure returns (uint256 id) {\\n assembly (\\\"memory-safe\\\") {\\n mstore(0x0, parentId)\\n mstore(0x20, keccak256(add(label, 32), mload(label)))\\n id := keccak256(0x0, 64)\\n }\\n }\\n\\n /**\\n * @dev Calculates the hash of the label.\\n */\\n function hashLabel(string memory label) internal pure returns (bytes32 hashed) {\\n assembly (\\\"memory-safe\\\") {\\n hashed := keccak256(add(label, 32), mload(label))\\n }\\n }\\n\\n /**\\n * @dev Calculate the RNS namehash of a str.\\n */\\n function namehash(string memory str) internal pure returns (bytes32 hashed) {\\n // notice: this method is case-sensitive, ensure the string is lowercased before calling this method\\n assembly (\\\"memory-safe\\\") {\\n // load str length\\n let len := mload(str)\\n // returns bytes32(0x0) if length is zero\\n if iszero(iszero(len)) {\\n let hashedLen\\n // compute pointer to str[0]\\n let head := add(str, 32)\\n // compute pointer to str[length - 1]\\n let tail := add(head, sub(len, 1))\\n // cleanup dirty bytes if contains any\\n mstore(0x0, 0)\\n // loop backwards from `tail` to `head`\\n for { let i := tail } iszero(lt(i, head)) { i := sub(i, 1) } {\\n // check if `i` is `head`\\n let isHead := eq(i, head)\\n // check if `str[i-1]` is \\\".\\\"\\n // `0x2e` == bytes1(\\\".\\\")\\n let isDotNext := eq(shr(248, mload(sub(i, 1))), 0x2e)\\n if or(isHead, isDotNext) {\\n // size = distance(length, i) - hashedLength + 1\\n let size := add(sub(sub(tail, i), hashedLen), 1)\\n mstore(0x20, keccak256(i, size))\\n mstore(0x0, keccak256(0x0, 64))\\n // skip \\\".\\\" thereby + 1\\n hashedLen := add(hashedLen, add(size, 1))\\n }\\n }\\n }\\n hashed := mload(0x0)\\n }\\n }\\n}\\n\",\"keccak256\":\"0x715029b2b420c6ec00bc1f939b837acf45d247fde8426089575b0e7b5e84518b\",\"license\":\"MIT\"},\"src/libraries/LibString.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nlibrary LibString {\\n error InvalidStringLength();\\n error InvalidCharacter(bytes1 char);\\n\\n /// @dev Lookup constant for method. See more detail at https://eips.ethereum.org/EIPS/eip-181\\n bytes32 private constant LOOKUP = 0x3031323334353637383961626364656600000000000000000000000000000000;\\n\\n /**\\n * @dev Returns the length of a given string\\n *\\n * @param s The string to measure the length of\\n * @return The length of the input string\\n */\\n function strlen(string memory s) internal pure returns (uint256) {\\n unchecked {\\n uint256 i;\\n uint256 len;\\n uint256 bytelength = bytes(s).length;\\n for (len; i < bytelength; len++) {\\n bytes1 b = bytes(s)[i];\\n if (b < 0x80) {\\n i += 1;\\n } else if (b < 0xE0) {\\n i += 2;\\n } else if (b < 0xF0) {\\n i += 3;\\n } else if (b < 0xF8) {\\n i += 4;\\n } else if (b < 0xFC) {\\n i += 5;\\n } else {\\n i += 6;\\n }\\n }\\n return len;\\n }\\n }\\n\\n /**\\n * @dev Converts an address to string.\\n */\\n function toString(address addr) internal pure returns (string memory stringifiedAddr) {\\n assembly (\\\"memory-safe\\\") {\\n mstore(stringifiedAddr, 40)\\n let ptr := add(stringifiedAddr, 0x20)\\n for { let i := 40 } gt(i, 0) { } {\\n i := sub(i, 1)\\n mstore8(add(i, ptr), byte(and(addr, 0xf), LOOKUP))\\n addr := div(addr, 0x10)\\n\\n i := sub(i, 1)\\n mstore8(add(i, ptr), byte(and(addr, 0xf), LOOKUP))\\n addr := div(addr, 0x10)\\n }\\n }\\n }\\n\\n /**\\n * @dev Converts string to address.\\n * Reverts if the string length is not equal to 40.\\n */\\n function parseAddr(string memory stringifiedAddr) internal pure returns (address) {\\n unchecked {\\n if (bytes(stringifiedAddr).length != 40) revert InvalidStringLength();\\n uint160 addr;\\n for (uint256 i = 0; i < 40; i += 2) {\\n addr *= 0x100;\\n addr += uint160(hexCharToDec(bytes(stringifiedAddr)[i])) * 0x10;\\n addr += hexCharToDec(bytes(stringifiedAddr)[i + 1]);\\n }\\n return address(addr);\\n }\\n }\\n\\n /**\\n * @dev Converts a hex char (0-9, a-f, A-F) to decimal number.\\n * Reverts if the char is invalid.\\n */\\n function hexCharToDec(bytes1 c) private pure returns (uint8 r) {\\n unchecked {\\n if ((bytes1(\\\"a\\\") <= c) && (c <= bytes1(\\\"f\\\"))) r = uint8(c) - 87;\\n else if ((bytes1(\\\"A\\\") <= c) && (c <= bytes1(\\\"F\\\"))) r = uint8(c) - 55;\\n else if ((bytes1(\\\"0\\\") <= c) && (c <= bytes1(\\\"9\\\"))) r = uint8(c) - 48;\\n else revert InvalidCharacter(c);\\n }\\n }\\n}\\n\",\"keccak256\":\"0x9d456b294f0e44ccaabded43a3d96db6270761a167535155a762fe41e968b905\",\"license\":\"MIT\"},\"src/libraries/TimestampWrapperUtils.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nstruct TimestampWrapper {\\n uint256 value;\\n uint256 timestamp;\\n}\\n\",\"keccak256\":\"0x18488d153ebc8579907a85cb7e0be828d0de7c571c9f3368a6d200574b012018\",\"license\":\"MIT\"},\"src/libraries/math/LibSafeRange.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nlibrary LibSafeRange {\\n function add(uint256 a, uint256 b) internal pure returns (uint256 c) {\\n unchecked {\\n c = a + b;\\n if (c < a) return type(uint256).max;\\n }\\n }\\n\\n /**\\n * @dev Returns value of a + b; in case result is larger than upperbound, upperbound is returned.\\n */\\n function addWithUpperbound(uint256 a, uint256 b, uint256 ceil) internal pure returns (uint256 c) {\\n if (a > ceil || b > ceil) return ceil;\\n c = add(a, b);\\n if (c > ceil) return ceil;\\n }\\n}\\n\",\"keccak256\":\"0x12cf5f592a2d80b9c1b0ea11b8fe2b3ed42fc6d62303ba667edc56464baa8810\",\"license\":\"MIT\"},\"src/libraries/math/PeriodScalingUtils.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { PowMath } from \\\"./PowMath.sol\\\";\\n\\nstruct PeriodScaler {\\n uint192 ratio;\\n uint64 period;\\n}\\n\\nlibrary LibPeriodScaler {\\n using PowMath for uint256;\\n\\n error PeriodNumOverflowedUint16(uint256 n);\\n\\n /// @dev The precision number of calculation is 2\\n uint256 public constant MAX_PERCENTAGE = 100_00;\\n\\n /**\\n * @dev Scales down the input value `v` for a percentage of `self.ratio` each period `self.period`.\\n * Reverts if the passed period is larger than 2^16 - 1.\\n *\\n * @param self The period scaler with specific period and ratio\\n * @param v The original value to scale based on the rule `self`\\n * @param maxR The maximum value of 100%. Eg, if the `self.ratio` in range of [0;100_00] reflexes 0-100%, this param\\n * must be 100_00\\n * @param dur The passed duration in the same uint with `self.period`\\n */\\n function scaleDown(PeriodScaler memory self, uint256 v, uint64 maxR, uint256 dur) internal pure returns (uint256 rs) {\\n uint256 n = dur / uint256(self.period);\\n if (n == 0 || self.ratio == 0) return v;\\n if (maxR == self.ratio) return 0;\\n if (n > type(uint16).max) revert PeriodNumOverflowedUint16(n);\\n\\n unchecked {\\n // Normalizes the input ratios to be in range of [0;MAX_PERCENTAGE]\\n uint256 p = Math.mulDiv(maxR - self.ratio, MAX_PERCENTAGE, maxR);\\n return v.mulDiv({ y: p, d: MAX_PERCENTAGE, n: uint16(n) });\\n }\\n }\\n}\\n\",\"keccak256\":\"0x502d004fbd130a99f3f1e6685aebff9f47300565fbc5a65b4912824ea5eb5b78\",\"license\":\"MIT\"},\"src/libraries/math/PowMath.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { SafeMath } from \\\"@openzeppelin/contracts/utils/math/SafeMath.sol\\\";\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\n\\nlibrary PowMath {\\n using Math for uint256;\\n using SafeMath for uint256;\\n\\n /**\\n * @dev Negative exponent n for x*10^n.\\n */\\n function exp10(uint256 x, int32 n) internal pure returns (uint256) {\\n if (n < 0) {\\n return x / 10 ** uint32(-n);\\n } else if (n > 0) {\\n return x * 10 ** uint32(n);\\n } else {\\n return x;\\n }\\n }\\n\\n /**\\n * @dev Calculates floor(x * (y / d)**n) with full precision.\\n */\\n function mulDiv(uint256 x, uint256 y, uint256 d, uint16 n) internal pure returns (uint256 r) {\\n unchecked {\\n if (y == d || n == 0) return x;\\n r = x;\\n\\n bool ok;\\n uint256 r_;\\n uint16 nd_;\\n\\n {\\n uint16 ye = uint16(Math.min(n, findMaxExponent(y)));\\n while (ye > 0) {\\n (ok, r_) = r.tryMul(y ** ye);\\n if (ok) {\\n r = r_;\\n n -= ye;\\n nd_ += ye;\\n }\\n ye = uint16(Math.min(ye / 2, n));\\n }\\n }\\n\\n while (n > 0) {\\n (ok, r_) = r.tryMul(y);\\n if (ok) {\\n r = r_;\\n n--;\\n nd_++;\\n } else if (nd_ > 0) {\\n r /= d;\\n nd_--;\\n } else {\\n r = r.mulDiv(y, d);\\n n--;\\n }\\n }\\n\\n uint16 de = findMaxExponent(d);\\n while (nd_ > 0) {\\n uint16 e = uint16(Math.min(de, nd_));\\n r /= d ** e;\\n nd_ -= e;\\n }\\n }\\n }\\n\\n /**\\n * @dev Calculates floor(x * (y / d)**n) with low precision.\\n */\\n function mulDivLowPrecision(uint256 x, uint256 y, uint256 d, uint16 n) internal pure returns (uint256) {\\n return uncheckedMulDiv(x, y, d, n, findMaxExponent(Math.max(y, d)));\\n }\\n\\n /**\\n * @dev Aggregated calculate multiplications.\\n * ```\\n * r = x*(y/d)^k\\n * = \\\\prod(x*(y/d)^{k_i}) \\\\ where \\\\ sum(k_i) = k\\n * ```\\n */\\n function uncheckedMulDiv(uint256 x, uint256 y, uint256 d, uint16 n, uint16 maxE) internal pure returns (uint256 r) {\\n unchecked {\\n r = x;\\n uint16 e;\\n while (n > 0) {\\n e = uint16(Math.min(n, maxE));\\n r = r.mulDiv(y ** e, d ** e);\\n n -= e;\\n }\\n }\\n }\\n\\n /**\\n * @dev Returns the largest exponent `k` where, x^k <= 2^256-1\\n * Note: n = Surd[2^256-1,k]\\n * = 10^( log2(2^256-1) / k * log10(2) )\\n */\\n function findMaxExponent(uint256 x) internal pure returns (uint16 k) {\\n if (x < 3) k = 255;\\n else if (x < 4) k = 128;\\n else if (x < 16) k = 64;\\n else if (x < 256) k = 32;\\n else if (x < 7132) k = 20;\\n else if (x < 11376) k = 19;\\n else if (x < 19113) k = 18;\\n else if (x < 34132) k = 17;\\n else if (x < 65536) k = 16;\\n else if (x < 137271) k = 15;\\n else if (x < 319558) k = 14;\\n else if (x < 847180) k = 13;\\n else if (x < 2642246) k = 12;\\n else if (x < 10134189) k = 11;\\n else if (x < 50859009) k = 10;\\n else if (x < 365284285) k = 9;\\n else if (x < 4294967296) k = 8;\\n else if (x < 102116749983) k = 7;\\n else if (x < 6981463658332) k = 6;\\n else if (x < 2586638741762875) k = 5;\\n else if (x < 18446744073709551616) k = 4;\\n else if (x < 48740834812604276470692695) k = 3;\\n else if (x < 340282366920938463463374607431768211456) k = 2;\\n else k = 1;\\n }\\n}\\n\",\"keccak256\":\"0x29f943cf7c61149bc9a624244901720fc3a349adb418555db1db2a045fcdfb70\",\"license\":\"MIT\"},\"src/libraries/pyth/PythConverter.sol\":{\"content\":\"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport { Math } from \\\"@openzeppelin/contracts/utils/math/Math.sol\\\";\\nimport { PythStructs } from \\\"@pythnetwork/PythStructs.sol\\\";\\nimport { PowMath } from \\\"../math/PowMath.sol\\\";\\n\\nlibrary PythConverter {\\n error ErrExponentTooLarge(int32 expo);\\n error ErrComputedPriceTooLarge(int32 expo1, int32 expo2, int64 price1);\\n\\n /**\\n * @dev Multiples and converts the price into token wei with decimals `outDecimals`.\\n */\\n function mul(PythStructs.Price memory self, uint256 inpWei, int32 inpDecimals, int32 outDecimals)\\n internal\\n pure\\n returns (uint256 outWei)\\n {\\n return Math.mulDiv(\\n inpWei, PowMath.exp10(uint256(int256(self.price)), outDecimals + self.expo), PowMath.exp10(1, inpDecimals)\\n );\\n }\\n\\n /**\\n * @dev Inverses token price of tokenA/tokenB to tokenB/tokenA.\\n */\\n function inverse(PythStructs.Price memory self, int32 expo) internal pure returns (PythStructs.Price memory outPrice) {\\n uint256 exp10p1 = PowMath.exp10(1, -self.expo);\\n if (exp10p1 > uint256(type(int256).max)) revert ErrExponentTooLarge(self.expo);\\n uint256 exp10p2 = PowMath.exp10(1, -expo);\\n if (exp10p2 > uint256(type(int256).max)) revert ErrExponentTooLarge(expo);\\n int256 price = (int256(exp10p1) * int256(exp10p2)) / self.price;\\n if (price > type(int64).max) revert ErrComputedPriceTooLarge(self.expo, expo, self.price);\\n\\n return PythStructs.Price({ price: int64(price), conf: self.conf, expo: expo, publishTime: self.publishTime });\\n }\\n}\\n\",\"keccak256\":\"0x87ade16f6e931f6a3ead7706b0e550ee2c2cdee0be2f218488df93588e787f06\",\"license\":\"MIT\"},\"src/types/ModifyingIndicator.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity ^0.8.19;\\n\\ntype ModifyingIndicator is uint256;\\n\\nusing { hasAny } for ModifyingIndicator global;\\nusing { or as | } for ModifyingIndicator global;\\nusing { and as & } for ModifyingIndicator global;\\nusing { eq as == } for ModifyingIndicator global;\\nusing { not as ~ } for ModifyingIndicator global;\\nusing { xor as ^ } for ModifyingIndicator global;\\nusing { neq as != } for ModifyingIndicator global;\\n\\n/// @dev Indicator for modifying immutable fields: Depth, ParentId, Label. See struct {INSUnified.ImmutableRecord}.\\nModifyingIndicator constant IMMUTABLE_FIELDS_INDICATOR = ModifyingIndicator.wrap(0x7);\\n\\n/// @dev Indicator for modifying user fields: Resolver, Owner. See struct {INSUnified.MutableRecord}.\\nModifyingIndicator constant USER_FIELDS_INDICATOR = ModifyingIndicator.wrap(0x18);\\n\\n/// @dev Indicator when modifying all of the fields in {ModifyingField}.\\nModifyingIndicator constant ALL_FIELDS_INDICATOR = ModifyingIndicator.wrap(type(uint256).max);\\n\\nfunction eq(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return ModifyingIndicator.unwrap(self) == ModifyingIndicator.unwrap(other);\\n}\\n\\nfunction neq(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return !eq(self, other);\\n}\\n\\nfunction xor(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) ^ ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction not(ModifyingIndicator self) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(~ModifyingIndicator.unwrap(self));\\n}\\n\\nfunction or(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) | ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction and(ModifyingIndicator self, ModifyingIndicator other) pure returns (ModifyingIndicator) {\\n return ModifyingIndicator.wrap(ModifyingIndicator.unwrap(self) & ModifyingIndicator.unwrap(other));\\n}\\n\\nfunction hasAny(ModifyingIndicator self, ModifyingIndicator other) pure returns (bool) {\\n return self & other != ModifyingIndicator.wrap(0);\\n}\\n\",\"keccak256\":\"0x2e42fbba358c470ff6b57268367d248f0e2fcf8d7142d762688f7aef5efae7ee\",\"license\":\"MIT\"}},\"version\":1}", + "nonce": 192559, +>>>>>>> Stashed changes "numDeployments": 4, "storageLayout": { "storage": [ { +<<<<<<< Updated upstream "astId": 70444, +======= + "astId": 101362, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_initialized", "offset": 0, @@ -18560,7 +32183,11 @@ "type": "t_uint8" }, { +<<<<<<< Updated upstream "astId": 70447, +======= + "astId": 101365, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_initializing", "offset": 1, @@ -18568,23 +32195,41 @@ "type": "t_bool" }, { +<<<<<<< Updated upstream "astId": 68917, +======= + "astId": 99835, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_roles", "offset": 0, "slot": "1", +<<<<<<< Updated upstream "type": "t_mapping(t_bytes32,t_struct(RoleData)68912_storage)" }, { "astId": 69227, +======= + "type": "t_mapping(t_bytes32,t_struct(RoleData)99830_storage)" + }, + { + "astId": 100145, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_roleMembers", "offset": 0, "slot": "2", +<<<<<<< Updated upstream "type": "t_mapping(t_bytes32,t_struct(AddressSet)74796_storage)" }, { "astId": 86385, +======= + "type": "t_mapping(t_bytes32,t_struct(AddressSet)105714_storage)" + }, + { + "astId": 118300, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "____gap", "offset": 0, @@ -18592,23 +32237,41 @@ "type": "t_array(t_uint256)50_storage" }, { +<<<<<<< Updated upstream "astId": 86389, +======= + "astId": 118304, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_pyth", "offset": 0, "slot": "53", +<<<<<<< Updated upstream "type": "t_contract(IPyth)75202" }, { "astId": 86393, +======= + "type": "t_contract(IPyth)106120" + }, + { + "astId": 118308, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_auction", "offset": 0, "slot": "54", +<<<<<<< Updated upstream "type": "t_contract(INSAuction)91351" }, { "astId": 86396, +======= + "type": "t_contract(INSAuction)123292" + }, + { + "astId": 118311, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_taxRatio", "offset": 0, @@ -18616,7 +32279,11 @@ "type": "t_uint256" }, { +<<<<<<< Updated upstream "astId": 86399, +======= + "astId": 118314, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_rnfMaxLength", "offset": 0, @@ -18624,7 +32291,11 @@ "type": "t_uint256" }, { +<<<<<<< Updated upstream "astId": 86402, +======= + "astId": 118317, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_maxAcceptableAge", "offset": 0, @@ -18632,7 +32303,11 @@ "type": "t_uint256" }, { +<<<<<<< Updated upstream "astId": 86405, +======= + "astId": 118320, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_pythIdForRONUSD", "offset": 0, @@ -18640,15 +32315,26 @@ "type": "t_bytes32" }, { +<<<<<<< Updated upstream "astId": 86409, +======= + "astId": 118324, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_dpDownScaler", "offset": 0, "slot": "59", +<<<<<<< Updated upstream "type": "t_struct(PeriodScaler)93662_storage" }, { "astId": 86414, +======= + "type": "t_struct(PeriodScaler)125607_storage" + }, + { + "astId": 118329, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_rnFee", "offset": 0, @@ -18656,15 +32342,26 @@ "type": "t_mapping(t_uint256,t_uint256)" }, { +<<<<<<< Updated upstream "astId": 86420, +======= + "astId": 118335, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_dp", "offset": 0, "slot": "61", +<<<<<<< Updated upstream "type": "t_mapping(t_bytes32,t_struct(TimestampWrapper)93585_storage)" }, { "astId": 86425, +======= + "type": "t_mapping(t_bytes32,t_struct(TimestampWrapper)125530_storage)" + }, + { + "astId": 118340, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_rnFeeOverriding", "offset": 0, @@ -18672,12 +32369,20 @@ "type": "t_mapping(t_bytes32,t_uint256)" }, { +<<<<<<< Updated upstream "astId": 86430, +======= + "astId": 118345, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_tierOverriding", "offset": 0, "slot": "63", +<<<<<<< Updated upstream "type": "t_mapping(t_bytes32,t_uint256)" +======= + "type": "t_mapping(t_bytes32,t_uint8)" +>>>>>>> Stashed changes } ], "types": { @@ -18708,12 +32413,20 @@ "label": "bytes32", "numberOfBytes": "32" }, +<<<<<<< Updated upstream "t_contract(INSAuction)91351": { +======= + "t_contract(INSAuction)123292": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "contract INSAuction", "numberOfBytes": "20" }, +<<<<<<< Updated upstream "t_contract(IPyth)75202": { +======= + "t_contract(IPyth)106120": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "contract IPyth", "numberOfBytes": "20" @@ -18725,26 +32438,46 @@ "numberOfBytes": "32", "value": "t_bool" }, +<<<<<<< Updated upstream "t_mapping(t_bytes32,t_struct(AddressSet)74796_storage)": { +======= + "t_mapping(t_bytes32,t_struct(AddressSet)105714_storage)": { +>>>>>>> Stashed changes "encoding": "mapping", "key": "t_bytes32", "label": "mapping(bytes32 => struct EnumerableSet.AddressSet)", "numberOfBytes": "32", +<<<<<<< Updated upstream "value": "t_struct(AddressSet)74796_storage" }, "t_mapping(t_bytes32,t_struct(RoleData)68912_storage)": { +======= + "value": "t_struct(AddressSet)105714_storage" + }, + "t_mapping(t_bytes32,t_struct(RoleData)99830_storage)": { +>>>>>>> Stashed changes "encoding": "mapping", "key": "t_bytes32", "label": "mapping(bytes32 => struct AccessControl.RoleData)", "numberOfBytes": "32", +<<<<<<< Updated upstream "value": "t_struct(RoleData)68912_storage" }, "t_mapping(t_bytes32,t_struct(TimestampWrapper)93585_storage)": { +======= + "value": "t_struct(RoleData)99830_storage" + }, + "t_mapping(t_bytes32,t_struct(TimestampWrapper)125530_storage)": { +>>>>>>> Stashed changes "encoding": "mapping", "key": "t_bytes32", "label": "mapping(bytes32 => struct TimestampWrapper)", "numberOfBytes": "32", +<<<<<<< Updated upstream "value": "t_struct(TimestampWrapper)93585_storage" +======= + "value": "t_struct(TimestampWrapper)125530_storage" +>>>>>>> Stashed changes }, "t_mapping(t_bytes32,t_uint256)": { "encoding": "mapping", @@ -18753,6 +32486,13 @@ "numberOfBytes": "32", "value": "t_uint256" }, + "t_mapping(t_bytes32,t_uint8)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => uint8)", + "numberOfBytes": "32", + "value": "t_uint8" + }, "t_mapping(t_uint256,t_uint256)": { "encoding": "mapping", "key": "t_uint256", @@ -18760,28 +32500,48 @@ "numberOfBytes": "32", "value": "t_uint256" }, +<<<<<<< Updated upstream "t_struct(AddressSet)74796_storage": { +======= + "t_struct(AddressSet)105714_storage": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "struct EnumerableSet.AddressSet", "numberOfBytes": "64", "members": [ { +<<<<<<< Updated upstream "astId": 74795, +======= + "astId": 105713, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_inner", "offset": 0, "slot": "0", +<<<<<<< Updated upstream "type": "t_struct(Set)74481_storage" } ] }, "t_struct(PeriodScaler)93662_storage": { +======= + "type": "t_struct(Set)105399_storage" + } + ] + }, + "t_struct(PeriodScaler)125607_storage": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "struct PeriodScaler", "numberOfBytes": "32", "members": [ { +<<<<<<< Updated upstream "astId": 93659, +======= + "astId": 125604, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "ratio", "offset": 0, @@ -18789,7 +32549,11 @@ "type": "t_uint192" }, { +<<<<<<< Updated upstream "astId": 93661, +======= + "astId": 125606, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "period", "offset": 24, @@ -18798,13 +32562,21 @@ } ] }, +<<<<<<< Updated upstream "t_struct(RoleData)68912_storage": { +======= + "t_struct(RoleData)99830_storage": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "struct AccessControl.RoleData", "numberOfBytes": "64", "members": [ { +<<<<<<< Updated upstream "astId": 68909, +======= + "astId": 99827, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "members", "offset": 0, @@ -18812,7 +32584,11 @@ "type": "t_mapping(t_address,t_bool)" }, { +<<<<<<< Updated upstream "astId": 68911, +======= + "astId": 99829, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "adminRole", "offset": 0, @@ -18821,13 +32597,21 @@ } ] }, +<<<<<<< Updated upstream "t_struct(Set)74481_storage": { +======= + "t_struct(Set)105399_storage": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "struct EnumerableSet.Set", "numberOfBytes": "64", "members": [ { +<<<<<<< Updated upstream "astId": 74476, +======= + "astId": 105394, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_values", "offset": 0, @@ -18835,7 +32619,11 @@ "type": "t_array(t_bytes32)dyn_storage" }, { +<<<<<<< Updated upstream "astId": 74480, +======= + "astId": 105398, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "_indexes", "offset": 0, @@ -18844,13 +32632,21 @@ } ] }, +<<<<<<< Updated upstream "t_struct(TimestampWrapper)93585_storage": { +======= + "t_struct(TimestampWrapper)125530_storage": { +>>>>>>> Stashed changes "encoding": "inplace", "label": "struct TimestampWrapper", "numberOfBytes": "64", "members": [ { +<<<<<<< Updated upstream "astId": 93582, +======= + "astId": 125527, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "value", "offset": 0, @@ -18858,7 +32654,11 @@ "type": "t_uint256" }, { +<<<<<<< Updated upstream "astId": 93584, +======= + "astId": 125529, +>>>>>>> Stashed changes "contract": "src/RNSDomainPrice.sol:RNSDomainPrice", "label": "timestamp", "offset": 0, @@ -18889,7 +32689,11 @@ } } }, +<<<<<<< Updated upstream "timestamp": 1708497365, +======= + "timestamp": 1710234885, +>>>>>>> Stashed changes "userdoc": { "version": 1, "kind": "user",