{"abi":[{"type":"constructor","inputs":[{"name":"admin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"CONFIG_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ESTIMATED_SOURCE_BLOCK_TIME","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"MAX_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"MIN_RECLAIM_DELAY","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"activeSaleForPaymentTuple","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approvedAssets","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"configureAsset","inputs":[{"name":"asset","type":"address","internalType":"address"},{"name":"allowed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configurePaymentSource","inputs":[{"name":"chainKey","type":"uint64","internalType":"uint64"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"token","type":"address","internalType":"address"},{"name":"allowed","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createSale","inputs":[{"name":"buyer","type":"address","internalType":"address"},{"name":"assetContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"assetAmount","type":"uint256","internalType":"uint256"},{"name":"paymentChainKey","type":"uint64","internalType":"uint64"},{"name":"paymentChainId","type":"uint64","internalType":"uint64"},{"name":"paymentToken","type":"address","internalType":"address"},{"name":"paymentRecipient","type":"address","internalType":"address"},{"name":"paymentAmount","type":"uint256","internalType":"uint256"},{"name":"sourceStartBlock","type":"uint64","internalType":"uint64"},{"name":"sourceEndBlock","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"saleId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getSale","inputs":[{"name":"saleId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct SettleRWA.Sale","components":[{"name":"seller","type":"address","internalType":"address"},{"name":"buyer","type":"address","internalType":"address"},{"name":"assetContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"assetAmount","type":"uint256","internalType":"uint256"},{"name":"paymentChainKey","type":"uint64","internalType":"uint64"},{"name":"paymentChainId","type":"uint64","internalType":"uint64"},{"name":"paymentToken","type":"address","internalType":"address"},{"name":"paymentRecipient","type":"address","internalType":"address"},{"name":"paymentAmount","type":"uint256","internalType":"uint256"},{"name":"sourceStartBlock","type":"uint64","internalType":"uint64"},{"name":"sourceEndBlock","type":"uint64","internalType":"uint64"},{"name":"reclaimAfter","type":"uint64","internalType":"uint64"},{"name":"status","type":"uint8","internalType":"enum SettleRWA.SaleStatus"}]}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"pauseSaleCreation","inputs":[{"name":"paused","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paymentTuple","inputs":[{"name":"chainKey","type":"uint64","internalType":"uint64"},{"name":"token","type":"address","internalType":"address"},{"name":"buyer","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"reclaim","inputs":[{"name":"saleId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"saleCreationPaused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sellerNonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setVerifier","inputs":[{"name":"paymentVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"settleFromVerifiedPayment","inputs":[{"name":"saleId","type":"bytes32","internalType":"bytes32"},{"name":"queryId","type":"bytes32","internalType":"bytes32"},{"name":"sourceBlock","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportedPaymentChains","inputs":[{"name":"","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"supportedPaymentTokens","inputs":[{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"verifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"AssetEscrowed","inputs":[{"name":"saleId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"asset","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AssetReclaimed","inputs":[{"name":"saleId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"asset","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SaleCreated","inputs":[{"name":"saleId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"paymentTuple","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"SaleCreationPaused","inputs":[{"name":"paused","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SaleSettled","inputs":[{"name":"saleId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"buyer","type":"address","indexed":true,"internalType":"address"},{"name":"seller","type":"address","indexed":true,"internalType":"address"},{"name":"queryId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"sourceBlock","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"VerifierConfigured","inputs":[{"name":"verifier","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"CreationPaused","inputs":[]},{"type":"error","name":"DuplicatePaymentTuple","inputs":[]},{"type":"error","name":"InvalidAsset","inputs":[]},{"type":"error","name":"InvalidBuyer","inputs":[]},{"type":"error","name":"InvalidPaymentAmount","inputs":[]},{"type":"error","name":"InvalidPaymentWindow","inputs":[]},{"type":"error","name":"PaymentOutsideWindow","inputs":[]},{"type":"error","name":"ReclaimNotAvailable","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SaleNotOpen","inputs":[]},{"type":"error","name":"UnauthorizedVerifier","inputs":[]},{"type":"error","name":"UnsupportedPaymentChain","inputs":[]},{"type":"error","name":"UnsupportedPaymentToken","inputs":[]},{"type":"error","name":"VerifierAlreadySet","inputs":[]}],"bytecode":{"object":"0x608060405234801561000f575f5ffd5b50604051611d9c380380611d9c83398101604081905261002e91610117565b6001805561003c5f8261006e565b506100677f82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f58261006e565b5050610144565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661010e575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556100c63390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610111565b505f5b92915050565b5f60208284031215610127575f5ffd5b81516001600160a01b038116811461013d575f5ffd5b9392505050565b611c4b806101515f395ff3fe608060405234801561000f575f5ffd5b50600436106101c6575f3560e01c806391d14854116100fe578063bc197c811161009e578063deb966341161006e578063deb9663414610473578063e204c86c1461047c578063f23a6e611461048f578063f7ed7ed9146104ae575f5ffd5b8063bc197c81146103ed578063d244a09114610425578063d547741f14610438578063d5cac04f1461044b575f5ffd5b8063a217fddf116100d9578063a217fddf1461039f578063a4d19feb146103a6578063aa838987146103ba578063b4be820d146103d9575f5ffd5b806391d148541461035757806396afb3651461036a57806397eb00881461037d575f5ffd5b806336568abe116101695780635437988d116101445780635437988d14610309578063641cc7d91461031c57806380ffef921461033c5780638ddb9c7e14610344575f5ffd5b806336568abe146102c1578063427d28c6146102d45780634a7f785f146102f6575f5ffd5b8063248a9ca3116101a4578063248a9ca31461024c5780632b7ac3f31461026e5780632de7c78f146102995780632f2ff15d146102ae575f5ffd5b806301ffc9a7146101ca5780630d50cac7146101f257806310ae74051461021f575b5f5ffd5b6101dd6101d83660046114b4565b6104c1565b60405190151581526020015b60405180910390f35b6101dd610200366004611513565b600760209081525f928352604080842090915290825290205460ff1681565b61023e61022d366004611544565b60046020525f908152604090205481565b6040519081526020016101e9565b61023e61025a366004611544565b5f9081526020819052604090206001015490565b600854610281906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b6102ac6102a736600461155b565b6104eb565b005b6102ac6102bc36600461158d565b6106d8565b6102ac6102cf36600461158d565b610702565b6102de6201518081565b6040516001600160401b0390911681526020016101e9565b6102ac6103043660046115bd565b610735565b6102ac61031736600461160e565b6107ab565b61032f61032a366004611544565b610850565b6040516101e9919061165b565b6102de600c81565b61023e6103523660046117a3565b6109cd565b6101dd61036536600461158d565b610a29565b6102ac610378366004611544565b610a51565b6101dd61038b36600461160e565b60056020525f908152604090205460ff1681565b61023e5f81565b61023e5f516020611bf65f395f51905f5281565b61023e6103c836600461160e565b60036020525f908152604090205481565b6008546101dd90600160a01b900460ff1681565b61040c6103fb366004611929565b63bc197c8160e01b95945050505050565b6040516001600160e01b031990911681526020016101e9565b6102ac6104333660046119d5565b610c03565b6102ac61044636600461158d565b610c45565b6102de6104593660046119fd565b60066020525f90815260409020546001600160401b031681565b6102de61c35081565b61023e61048a366004611a16565b610c69565b61040c61049d366004611ac6565b63f23a6e6160e01b95945050505050565b6102ac6104bc366004611b19565b61123c565b5f6001600160e01b03198216630271189760e51b14806104e557506104e5826112ac565b92915050565b6104f36112d0565b6008546001600160a01b0316331461051e5760405163b9857aa160e01b815260040160405180910390fd5b5f83815260026020526040902060016009820154600160c01b900460ff16600381111561054d5761054d611627565b1461056b57604051631117739360e21b815260040160405180910390fd5b60098101546001600160401b0390811690831610806105a1575060098101546001600160401b03600160401b9091048116908316115b806105aa575082155b156105c857604051636f0555cd60e01b815260040160405180910390fd5b60098101805460ff60c01b1916600160c11b17905560045f6105e9836112fa565b8152602081019190915260409081015f908120556002820154600183015460038401546004808601549451637921219560e11b81526001600160a01b039485169563f242432a95610641953095911693909201611b32565b5f604051808303815f87803b158015610658575f5ffd5b505af115801561066a573d5f5f3e3d5ffd5b505082546001840154604080518881526001600160401b03881660208201526001600160a01b03938416955092909116925087917fae4ef1cb8f478db0fe125c7e8e7216ffebee04af8556f7012a65d4984e966cbd910160405180910390a4506106d360018055565b505050565b5f828152602081905260409020600101546106f28161133d565b6106fc8383611347565b50505050565b6001600160a01b038116331461072b5760405163334bd91960e11b815260040160405180910390fd5b6106d382826113d6565b5f516020611bf65f395f51905f5261074c8161133d565b506001600160401b039384165f908152600660209081526040808320805467ffffffffffffffff19169690971695909517909555600785528381206001600160a01b039390931681529190935220805460ff1916911515919091179055565b5f6107b58161133d565b6008546001600160a01b0316156107df57604051638952a34360e01b815260040160405180910390fd5b6001600160a01b0382166108065760405163b9857aa160e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517fdc93b4a231bff70939565d6b7e78c0315376cb11a81f453119ec96ed25a03a2f905f90a25050565b6108c4604080516101c0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081018290526101808101829052906101a082015290565b5f8281526002602081815260409283902083516101c08101855281546001600160a01b03908116825260018301548116938201939093529281015482169383019390935260038084015460608401526004840154608084015260058401546001600160401b0380821660a0860152600160401b91829004811660c08601526006860154841660e08601526007860154909316610100850152600885015461012085015260098501548084166101408601529081048316610160850152600160801b81049092166101808401529192916101a0840191600160c01b900460ff16908111156109b3576109b3611627565b60038111156109c4576109c4611627565b90525092915050565b604080516001600160401b03969096166020808801919091526001600160a01b0395861687830152938516606087015291909316608085015260a0808501939093528051808503909301835260c0909301909252805191012090565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610a596112d0565b5f81815260026020526040902060016009820154600160c01b900460ff166003811115610a8857610a88611627565b14610aa657604051631117739360e21b815260040160405180910390fd5b80546001600160a01b031633141580610ad257506009810154600160801b90046001600160401b031642105b15610af0576040516361ffa29b60e01b815260040160405180910390fd5b60098101805460ff60c01b1916600360c01b17905560045f610b11836112fa565b8152602081019190915260409081015f908120556002820154825460038401546004808601549451637921219560e11b81526001600160a01b039485169563f242432a95610b66953095911693909201611b32565b5f604051808303815f87803b158015610b7d575f5ffd5b505af1158015610b8f573d5f5f3e3d5ffd5b50505060028201548254600384015460048501546040516001600160a01b039485169550929093169286927f3de816cde0c8fa547cc3160fb8378c3c73566082a9488a973f8bdcfb2049a28992610bee92908252602082015260400190565b60405180910390a450610c0060018055565b50565b5f516020611bf65f395f51905f52610c1a8161133d565b506001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f82815260208190526040902060010154610c5f8161133d565b6106fc83836113d6565b5f610c726112d0565b600854600160a01b900460ff1615610c9d57604051631259deb960e21b815260040160405180910390fd5b6001600160a01b038c16610cc4576040516358ef870360e11b815260040160405180910390fd5b6001600160a01b038b165f9081526005602052604090205460ff161580610ce9575088155b15610d0757604051636448d6e960e11b815260040160405180910390fd5b6001600160401b038881165f90815260066020526040902054811690881614610d43576040516330dfb27960e21b815260040160405180910390fd5b6001600160401b0388165f9081526007602090815260408083206001600160a01b038a16845290915290205460ff16610d8f5760405163a29cc06960e01b815260040160405180910390fd5b6001600160a01b0385161580610da3575083155b15610dc157604051637e2897ef60e11b815260040160405180910390fd5b6001600160401b0383161580610de95750826001600160401b0316826001600160401b031611155b80610e07575061c350610dfc8484611b7d565b6001600160401b0316115b15610e2557604051633bbbb26760e11b815260040160405180910390fd5b5f610e3389888f89896109cd565b5f8181526004602052604090205490915015610e6257604051636431711d60e01b815260040160405180910390fd5b335f90815260036020526040812080549082610e7d83611b9c565b909155506040805146602082015230918101919091523360608201526080810182905290915060a001604051602081830303815290604052805190602001209250604051806101c00160405280336001600160a01b031681526020018f6001600160a01b031681526020018e6001600160a01b031681526020018d81526020018c81526020018b6001600160401b031681526020018a6001600160401b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001878152602001866001600160401b03168152602001856001600160401b03168152602001600c8787610f719190611b7d565b610f7b9190611bb4565b610f886201518042611bd6565b610f929190611bd6565b6001600160401b03168152602001600190525f84815260026020818152604092839020845181546001600160a01b03199081166001600160a01b0392831617835592860151600183018054851691831691909117905593850151928101805483169385169390931790925560608401516003808401919091556080850151600484015560a085015160058401805460c08801516001600160401b039384166fffffffffffffffffffffffffffffffff1992831617600160401b91851682021790925560e0880151600687018054871691891691909117905561010088015160078701805490961697169690961790935561012086015160088501556101408601516009850180546101608901516101808a015193851691909816179683169094029590951767ffffffffffffffff60801b198116600160801b969092169590950290811783556101a0860151939468ffffffffffffffffff60801b191660ff60c01b199091161790600160c01b90849081111561111157611111611627565b02179055509050508260045f8481526020019081526020015f20819055508c6001600160a01b031663f242432a33308f8f6040518563ffffffff1660e01b81526004016111619493929190611b32565b5f604051808303815f87803b158015611178575f5ffd5b505af115801561118a573d5f5f3e3d5ffd5b505050508d6001600160a01b0316336001600160a01b0316847f43690c42ec40d5c870be22abe097810d53e85606d74ee37c1e88597e786822b0856040516111d491815260200190565b60405180910390a4604080518d8152602081018d90526001600160a01b038f169185917fe93c5e260ee17572a3b240d4b600cc7aa76ef846972cb66c21779dd132b07ee8910160405180910390a3505061122d60018055565b9b9a5050505050505050505050565b5f516020611bf65f395f51905f526112538161133d565b60088054831515600160a01b0260ff60a01b199091161790556040517f15ef406923b58d7355593565d8ec9fa1a3dbca440cefeef25893ff24e275e7e9906112a090841515815260200190565b60405180910390a15050565b5f6001600160e01b03198216637965db0b60e01b14806104e557506104e58261143f565b6002600154036112f357604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b600581015460068201546001830154600784015460088501545f946104e5946001600160401b03909116936001600160a01b0391821693908216929116906109cd565b610c008133611473565b5f6113528383610a29565b6113cf575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556113873390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016104e5565b505f6104e5565b5f6113e18383610a29565b156113cf575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016104e5565b5f6001600160e01b03198216630271189760e51b14806104e557506301ffc9a760e01b6001600160e01b03198316146104e5565b61147d8282610a29565b6114b05760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440160405180910390fd5b5050565b5f602082840312156114c4575f5ffd5b81356001600160e01b0319811681146114db575f5ffd5b9392505050565b80356001600160401b03811681146114f8575f5ffd5b919050565b80356001600160a01b03811681146114f8575f5ffd5b5f5f60408385031215611524575f5ffd5b61152d836114e2565b915061153b602084016114fd565b90509250929050565b5f60208284031215611554575f5ffd5b5035919050565b5f5f5f6060848603121561156d575f5ffd5b8335925060208401359150611584604085016114e2565b90509250925092565b5f5f6040838503121561159e575f5ffd5b8235915061153b602084016114fd565b803580151581146114f8575f5ffd5b5f5f5f5f608085870312156115d0575f5ffd5b6115d9856114e2565b93506115e7602086016114e2565b92506115f5604086016114fd565b9150611603606086016115ae565b905092959194509250565b5f6020828403121561161e575f5ffd5b6114db826114fd565b634e487b7160e01b5f52602160045260245ffd5b6004811061165757634e487b7160e01b5f52602160045260245ffd5b9052565b81516001600160a01b031681526101c08101602083015161168760208401826001600160a01b03169052565b5060408301516116a260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a08301516116d160a08401826001600160401b03169052565b5060c08301516116ec60c08401826001600160401b03169052565b5060e083015161170760e08401826001600160a01b03169052565b506101008301516117246101008401826001600160a01b03169052565b5061012083015161012083015261014083015161174d6101408401826001600160401b03169052565b5061016083015161176a6101608401826001600160401b03169052565b506101808301516117876101808401826001600160401b03169052565b506101a083015161179c6101a084018261163b565b5092915050565b5f5f5f5f5f60a086880312156117b7575f5ffd5b6117c0866114e2565b94506117ce602087016114fd565b93506117dc604087016114fd565b92506117ea606087016114fd565b949793965091946080013592915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611837576118376117fb565b604052919050565b5f82601f83011261184e575f5ffd5b81356001600160401b03811115611867576118676117fb565b8060051b6118776020820161180f565b91825260208185018101929081019086841115611892575f5ffd5b6020860192505b838310156118b4578235825260209283019290910190611899565b9695505050505050565b5f82601f8301126118cd575f5ffd5b81356001600160401b038111156118e6576118e66117fb565b6118f9601f8201601f191660200161180f565b81815284602083860101111561190d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a0868803121561193d575f5ffd5b611946866114fd565b9450611954602087016114fd565b935060408601356001600160401b0381111561196e575f5ffd5b61197a8882890161183f565b93505060608601356001600160401b03811115611995575f5ffd5b6119a18882890161183f565b92505060808601356001600160401b038111156119bc575f5ffd5b6119c8888289016118be565b9150509295509295909350565b5f5f604083850312156119e6575f5ffd5b6119ef836114fd565b915061153b602084016115ae565b5f60208284031215611a0d575f5ffd5b6114db826114e2565b5f5f5f5f5f5f5f5f5f5f5f6101608c8e031215611a31575f5ffd5b611a3a8c6114fd565b9a50611a4860208d016114fd565b995060408c0135985060608c01359750611a6460808d016114e2565b9650611a7260a08d016114e2565b9550611a8060c08d016114fd565b9450611a8e60e08d016114fd565b93506101008c01359250611aa56101208d016114e2565b9150611ab46101408d016114e2565b90509295989b509295989b9093969950565b5f5f5f5f5f60a08688031215611ada575f5ffd5b611ae3866114fd565b9450611af1602087016114fd565b9350604086013592506060860135915060808601356001600160401b038111156119bc575f5ffd5b5f60208284031215611b29575f5ffd5b6114db826115ae565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a0608082018190525f9082015260c00190565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0382811682821603908111156104e5576104e5611b69565b5f60018201611bad57611bad611b69565b5060010190565b6001600160401b03818116838216029081169081811461179c5761179c611b69565b6001600160401b0381811683821601908111156104e5576104e5611b6956fe82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f5a2646970667358221220e0781ed93150588847c1d2aaf829d554577f27fefdefa4f4a3486c88b83d750c64736f6c634300081e0033","sourceMap":"485:7779:1:-:0;;;2776:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1857:1:18;2061:21;;2813:37:1;2241:4:5;2844:5:1;2813:10;:37::i;:::-;-1:-1:-1;2860:30:1;597:24;2884:5;2860:10;:30::i;:::-;;2776:121;485:7779;;6155:316:5;6232:4;2930:12;;;;;;;;;;;-1:-1:-1;;;;;2930:29:5;;;;;;;;;;;;6248:217;;6291:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6291:29:5;;;;;;;;;:36;;-1:-1:-1;;6291:36:5;6323:4;6291:36;;;6373:12;735:10:16;;656:96;6373:12:5;-1:-1:-1;;;;;6346:40:5;6364:7;-1:-1:-1;;;;;6346:40:5;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:5;6400:11;;6248:217;-1:-1:-1;6449:5:5;6248:217;6155:316;;;;:::o;14:290:25:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:25;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:25:o;:::-;485:7779:1;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106101c6575f3560e01c806391d14854116100fe578063bc197c811161009e578063deb966341161006e578063deb9663414610473578063e204c86c1461047c578063f23a6e611461048f578063f7ed7ed9146104ae575f5ffd5b8063bc197c81146103ed578063d244a09114610425578063d547741f14610438578063d5cac04f1461044b575f5ffd5b8063a217fddf116100d9578063a217fddf1461039f578063a4d19feb146103a6578063aa838987146103ba578063b4be820d146103d9575f5ffd5b806391d148541461035757806396afb3651461036a57806397eb00881461037d575f5ffd5b806336568abe116101695780635437988d116101445780635437988d14610309578063641cc7d91461031c57806380ffef921461033c5780638ddb9c7e14610344575f5ffd5b806336568abe146102c1578063427d28c6146102d45780634a7f785f146102f6575f5ffd5b8063248a9ca3116101a4578063248a9ca31461024c5780632b7ac3f31461026e5780632de7c78f146102995780632f2ff15d146102ae575f5ffd5b806301ffc9a7146101ca5780630d50cac7146101f257806310ae74051461021f575b5f5ffd5b6101dd6101d83660046114b4565b6104c1565b60405190151581526020015b60405180910390f35b6101dd610200366004611513565b600760209081525f928352604080842090915290825290205460ff1681565b61023e61022d366004611544565b60046020525f908152604090205481565b6040519081526020016101e9565b61023e61025a366004611544565b5f9081526020819052604090206001015490565b600854610281906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b6102ac6102a736600461155b565b6104eb565b005b6102ac6102bc36600461158d565b6106d8565b6102ac6102cf36600461158d565b610702565b6102de6201518081565b6040516001600160401b0390911681526020016101e9565b6102ac6103043660046115bd565b610735565b6102ac61031736600461160e565b6107ab565b61032f61032a366004611544565b610850565b6040516101e9919061165b565b6102de600c81565b61023e6103523660046117a3565b6109cd565b6101dd61036536600461158d565b610a29565b6102ac610378366004611544565b610a51565b6101dd61038b36600461160e565b60056020525f908152604090205460ff1681565b61023e5f81565b61023e5f516020611bf65f395f51905f5281565b61023e6103c836600461160e565b60036020525f908152604090205481565b6008546101dd90600160a01b900460ff1681565b61040c6103fb366004611929565b63bc197c8160e01b95945050505050565b6040516001600160e01b031990911681526020016101e9565b6102ac6104333660046119d5565b610c03565b6102ac61044636600461158d565b610c45565b6102de6104593660046119fd565b60066020525f90815260409020546001600160401b031681565b6102de61c35081565b61023e61048a366004611a16565b610c69565b61040c61049d366004611ac6565b63f23a6e6160e01b95945050505050565b6102ac6104bc366004611b19565b61123c565b5f6001600160e01b03198216630271189760e51b14806104e557506104e5826112ac565b92915050565b6104f36112d0565b6008546001600160a01b0316331461051e5760405163b9857aa160e01b815260040160405180910390fd5b5f83815260026020526040902060016009820154600160c01b900460ff16600381111561054d5761054d611627565b1461056b57604051631117739360e21b815260040160405180910390fd5b60098101546001600160401b0390811690831610806105a1575060098101546001600160401b03600160401b9091048116908316115b806105aa575082155b156105c857604051636f0555cd60e01b815260040160405180910390fd5b60098101805460ff60c01b1916600160c11b17905560045f6105e9836112fa565b8152602081019190915260409081015f908120556002820154600183015460038401546004808601549451637921219560e11b81526001600160a01b039485169563f242432a95610641953095911693909201611b32565b5f604051808303815f87803b158015610658575f5ffd5b505af115801561066a573d5f5f3e3d5ffd5b505082546001840154604080518881526001600160401b03881660208201526001600160a01b03938416955092909116925087917fae4ef1cb8f478db0fe125c7e8e7216ffebee04af8556f7012a65d4984e966cbd910160405180910390a4506106d360018055565b505050565b5f828152602081905260409020600101546106f28161133d565b6106fc8383611347565b50505050565b6001600160a01b038116331461072b5760405163334bd91960e11b815260040160405180910390fd5b6106d382826113d6565b5f516020611bf65f395f51905f5261074c8161133d565b506001600160401b039384165f908152600660209081526040808320805467ffffffffffffffff19169690971695909517909555600785528381206001600160a01b039390931681529190935220805460ff1916911515919091179055565b5f6107b58161133d565b6008546001600160a01b0316156107df57604051638952a34360e01b815260040160405180910390fd5b6001600160a01b0382166108065760405163b9857aa160e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517fdc93b4a231bff70939565d6b7e78c0315376cb11a81f453119ec96ed25a03a2f905f90a25050565b6108c4604080516101c0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810182905261016081018290526101808101829052906101a082015290565b5f8281526002602081815260409283902083516101c08101855281546001600160a01b03908116825260018301548116938201939093529281015482169383019390935260038084015460608401526004840154608084015260058401546001600160401b0380821660a0860152600160401b91829004811660c08601526006860154841660e08601526007860154909316610100850152600885015461012085015260098501548084166101408601529081048316610160850152600160801b81049092166101808401529192916101a0840191600160c01b900460ff16908111156109b3576109b3611627565b60038111156109c4576109c4611627565b90525092915050565b604080516001600160401b03969096166020808801919091526001600160a01b0395861687830152938516606087015291909316608085015260a0808501939093528051808503909301835260c0909301909252805191012090565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610a596112d0565b5f81815260026020526040902060016009820154600160c01b900460ff166003811115610a8857610a88611627565b14610aa657604051631117739360e21b815260040160405180910390fd5b80546001600160a01b031633141580610ad257506009810154600160801b90046001600160401b031642105b15610af0576040516361ffa29b60e01b815260040160405180910390fd5b60098101805460ff60c01b1916600360c01b17905560045f610b11836112fa565b8152602081019190915260409081015f908120556002820154825460038401546004808601549451637921219560e11b81526001600160a01b039485169563f242432a95610b66953095911693909201611b32565b5f604051808303815f87803b158015610b7d575f5ffd5b505af1158015610b8f573d5f5f3e3d5ffd5b50505060028201548254600384015460048501546040516001600160a01b039485169550929093169286927f3de816cde0c8fa547cc3160fb8378c3c73566082a9488a973f8bdcfb2049a28992610bee92908252602082015260400190565b60405180910390a450610c0060018055565b50565b5f516020611bf65f395f51905f52610c1a8161133d565b506001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f82815260208190526040902060010154610c5f8161133d565b6106fc83836113d6565b5f610c726112d0565b600854600160a01b900460ff1615610c9d57604051631259deb960e21b815260040160405180910390fd5b6001600160a01b038c16610cc4576040516358ef870360e11b815260040160405180910390fd5b6001600160a01b038b165f9081526005602052604090205460ff161580610ce9575088155b15610d0757604051636448d6e960e11b815260040160405180910390fd5b6001600160401b038881165f90815260066020526040902054811690881614610d43576040516330dfb27960e21b815260040160405180910390fd5b6001600160401b0388165f9081526007602090815260408083206001600160a01b038a16845290915290205460ff16610d8f5760405163a29cc06960e01b815260040160405180910390fd5b6001600160a01b0385161580610da3575083155b15610dc157604051637e2897ef60e11b815260040160405180910390fd5b6001600160401b0383161580610de95750826001600160401b0316826001600160401b031611155b80610e07575061c350610dfc8484611b7d565b6001600160401b0316115b15610e2557604051633bbbb26760e11b815260040160405180910390fd5b5f610e3389888f89896109cd565b5f8181526004602052604090205490915015610e6257604051636431711d60e01b815260040160405180910390fd5b335f90815260036020526040812080549082610e7d83611b9c565b909155506040805146602082015230918101919091523360608201526080810182905290915060a001604051602081830303815290604052805190602001209250604051806101c00160405280336001600160a01b031681526020018f6001600160a01b031681526020018e6001600160a01b031681526020018d81526020018c81526020018b6001600160401b031681526020018a6001600160401b03168152602001896001600160a01b03168152602001886001600160a01b03168152602001878152602001866001600160401b03168152602001856001600160401b03168152602001600c8787610f719190611b7d565b610f7b9190611bb4565b610f886201518042611bd6565b610f929190611bd6565b6001600160401b03168152602001600190525f84815260026020818152604092839020845181546001600160a01b03199081166001600160a01b0392831617835592860151600183018054851691831691909117905593850151928101805483169385169390931790925560608401516003808401919091556080850151600484015560a085015160058401805460c08801516001600160401b039384166fffffffffffffffffffffffffffffffff1992831617600160401b91851682021790925560e0880151600687018054871691891691909117905561010088015160078701805490961697169690961790935561012086015160088501556101408601516009850180546101608901516101808a015193851691909816179683169094029590951767ffffffffffffffff60801b198116600160801b969092169590950290811783556101a0860151939468ffffffffffffffffff60801b191660ff60c01b199091161790600160c01b90849081111561111157611111611627565b02179055509050508260045f8481526020019081526020015f20819055508c6001600160a01b031663f242432a33308f8f6040518563ffffffff1660e01b81526004016111619493929190611b32565b5f604051808303815f87803b158015611178575f5ffd5b505af115801561118a573d5f5f3e3d5ffd5b505050508d6001600160a01b0316336001600160a01b0316847f43690c42ec40d5c870be22abe097810d53e85606d74ee37c1e88597e786822b0856040516111d491815260200190565b60405180910390a4604080518d8152602081018d90526001600160a01b038f169185917fe93c5e260ee17572a3b240d4b600cc7aa76ef846972cb66c21779dd132b07ee8910160405180910390a3505061122d60018055565b9b9a5050505050505050505050565b5f516020611bf65f395f51905f526112538161133d565b60088054831515600160a01b0260ff60a01b199091161790556040517f15ef406923b58d7355593565d8ec9fa1a3dbca440cefeef25893ff24e275e7e9906112a090841515815260200190565b60405180910390a15050565b5f6001600160e01b03198216637965db0b60e01b14806104e557506104e58261143f565b6002600154036112f357604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b600581015460068201546001830154600784015460088501545f946104e5946001600160401b03909116936001600160a01b0391821693908216929116906109cd565b610c008133611473565b5f6113528383610a29565b6113cf575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556113873390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016104e5565b505f6104e5565b5f6113e18383610a29565b156113cf575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016104e5565b5f6001600160e01b03198216630271189760e51b14806104e557506301ffc9a760e01b6001600160e01b03198316146104e5565b61147d8282610a29565b6114b05760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440160405180910390fd5b5050565b5f602082840312156114c4575f5ffd5b81356001600160e01b0319811681146114db575f5ffd5b9392505050565b80356001600160401b03811681146114f8575f5ffd5b919050565b80356001600160a01b03811681146114f8575f5ffd5b5f5f60408385031215611524575f5ffd5b61152d836114e2565b915061153b602084016114fd565b90509250929050565b5f60208284031215611554575f5ffd5b5035919050565b5f5f5f6060848603121561156d575f5ffd5b8335925060208401359150611584604085016114e2565b90509250925092565b5f5f6040838503121561159e575f5ffd5b8235915061153b602084016114fd565b803580151581146114f8575f5ffd5b5f5f5f5f608085870312156115d0575f5ffd5b6115d9856114e2565b93506115e7602086016114e2565b92506115f5604086016114fd565b9150611603606086016115ae565b905092959194509250565b5f6020828403121561161e575f5ffd5b6114db826114fd565b634e487b7160e01b5f52602160045260245ffd5b6004811061165757634e487b7160e01b5f52602160045260245ffd5b9052565b81516001600160a01b031681526101c08101602083015161168760208401826001600160a01b03169052565b5060408301516116a260408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a08301516116d160a08401826001600160401b03169052565b5060c08301516116ec60c08401826001600160401b03169052565b5060e083015161170760e08401826001600160a01b03169052565b506101008301516117246101008401826001600160a01b03169052565b5061012083015161012083015261014083015161174d6101408401826001600160401b03169052565b5061016083015161176a6101608401826001600160401b03169052565b506101808301516117876101808401826001600160401b03169052565b506101a083015161179c6101a084018261163b565b5092915050565b5f5f5f5f5f60a086880312156117b7575f5ffd5b6117c0866114e2565b94506117ce602087016114fd565b93506117dc604087016114fd565b92506117ea606087016114fd565b949793965091946080013592915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611837576118376117fb565b604052919050565b5f82601f83011261184e575f5ffd5b81356001600160401b03811115611867576118676117fb565b8060051b6118776020820161180f565b91825260208185018101929081019086841115611892575f5ffd5b6020860192505b838310156118b4578235825260209283019290910190611899565b9695505050505050565b5f82601f8301126118cd575f5ffd5b81356001600160401b038111156118e6576118e66117fb565b6118f9601f8201601f191660200161180f565b81815284602083860101111561190d575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a0868803121561193d575f5ffd5b611946866114fd565b9450611954602087016114fd565b935060408601356001600160401b0381111561196e575f5ffd5b61197a8882890161183f565b93505060608601356001600160401b03811115611995575f5ffd5b6119a18882890161183f565b92505060808601356001600160401b038111156119bc575f5ffd5b6119c8888289016118be565b9150509295509295909350565b5f5f604083850312156119e6575f5ffd5b6119ef836114fd565b915061153b602084016115ae565b5f60208284031215611a0d575f5ffd5b6114db826114e2565b5f5f5f5f5f5f5f5f5f5f5f6101608c8e031215611a31575f5ffd5b611a3a8c6114fd565b9a50611a4860208d016114fd565b995060408c0135985060608c01359750611a6460808d016114e2565b9650611a7260a08d016114e2565b9550611a8060c08d016114fd565b9450611a8e60e08d016114fd565b93506101008c01359250611aa56101208d016114e2565b9150611ab46101408d016114e2565b90509295989b509295989b9093969950565b5f5f5f5f5f60a08688031215611ada575f5ffd5b611ae3866114fd565b9450611af1602087016114fd565b9350604086013592506060860135915060808601356001600160401b038111156119bc575f5ffd5b5f60208284031215611b29575f5ffd5b6114db826115ae565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a0608082018190525f9082015260c00190565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0382811682821603908111156104e5576104e5611b69565b5f60018201611bad57611bad611b69565b5060010190565b6001600160401b03818116838216029081169081811461179c5761179c611b69565b6001600160401b0381811683821601908111156104e5576104e5611b6956fe82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f5a2646970667358221220e0781ed93150588847c1d2aaf829d554577f27fefdefa4f4a3486c88b83d750c64736f6c634300081e0033","sourceMap":"485:7779:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8036:226;;;;;;:::i;:::-;;:::i;:::-;;;470:14:25;;463:22;445:41;;433:2;418:18;8036:226:1;;;;;;;;1605:73;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1426:60;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1491:25:25;;;1479:2;1464:18;1426:60:1;1345:177:25;3786:120:5;;;;;;:::i;:::-;3851:7;3877:12;;;;;;;;;;:22;;;;3786:120;1684:23:1;;;;;-1:-1:-1;;;;;1684:23:1;;;;;;-1:-1:-1;;;;;1800:32:25;;;1782:51;;1770:2;1755:18;1684:23:1;1636:203:25;6060:764:1;;;;;;:::i;:::-;;:::i;:::-;;4202:136:5;;;;;;:::i;:::-;;:::i;5304:245::-;;;;;;:::i;:::-;;:::i;675:51:1:-;;718:8;675:51;;;;;-1:-1:-1;;;;;2841:31:25;;;2823:50;;2811:2;2796:18;675:51:1;2679:200:25;3363:263:1;;;;;;:::i;:::-;;:::i;2903:316::-;;;;;;:::i;:::-;;:::i;7444:107::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;732:63::-;;785:10;732:63;;7557:250;;;;;;:::i;:::-;;:::i;2830:136:5:-;;;;;;:::i;:::-;;:::i;6830:608:1:-;;;;;;:::i;:::-;;:::i;1492:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2196:49:5;;2241:4;2196:49;;559:62:1;;-1:-1:-1;;;;;;;;;;;559:62:1;;1373:47;;;;;;:::i;:::-;;;;;;;;;;;;;;1713:30;;;;;-1:-1:-1;;;1713:30:1;;;;;;1069:247:12;;;;;;:::i;:::-;-1:-1:-1;;;1069:247:12;;;;;;;;;;;-1:-1:-1;;;;;;9260:33:25;;;9242:52;;9230:2;9215:18;1069:247:12;9098:202:25;3225:132:1;;;;;;:::i;:::-;;:::i;4618:138:5:-;;;;;;:::i;:::-;;:::i;1544:55:1:-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1544:55:1;;;627:42;;663:6;627:42;;3794:2260;;;;;;:::i;:::-;;:::i;844:219:12:-;;;;;;:::i;:::-;-1:-1:-1;;;844:219:12;;;;;;;;3632:156:1;;;;;;:::i;:::-;;:::i;8036:226::-;8143:4;-1:-1:-1;;;;;;8166:49:1;;-1:-1:-1;;;8166:49:1;;:89;;;8219:36;8243:11;8219:23;:36::i;:::-;8159:96;8036:226;-1:-1:-1;;8036:226:1:o;6060:764::-;2500:21:18;:19;:21::i;:::-;6198:8:1::1;::::0;-1:-1:-1;;;;;6198:8:1::1;6184:10;:22;6180:57;;6215:22;;-1:-1:-1::0;;;6215:22:1::1;;;;;;;;;;;6180:57;6247:17;6267:14:::0;;;:6:::1;:14;::::0;;;;6310:15:::1;6295:11;::::0;::::1;::::0;-1:-1:-1;;;6295:11:1;::::1;;;:30;::::0;::::1;;;;;;:::i;:::-;;6291:56;;6334:13;;-1:-1:-1::0;;;6334:13:1::1;;;;;;;;;;;6291:56;6375:21;::::0;::::1;::::0;-1:-1:-1;;;;;6375:21:1;;::::1;6361:35:::0;;::::1;;::::0;:72:::1;;-1:-1:-1::0;6414:19:1::1;::::0;::::1;::::0;-1:-1:-1;;;;;;;;6414:19:1;;::::1;::::0;::::1;6400:33:::0;;::::1;;6361:72;:97;;;-1:-1:-1::0;6437:21:1;;6361:97:::1;6357:157;;;6481:22;;-1:-1:-1::0;;;6481:22:1::1;;;;;;;;;;;6357:157;6523:11;::::0;::::1;:32:::0;;-1:-1:-1;;;;6523:32:1::1;-1:-1:-1::0;;;6523:32:1::1;::::0;;6572:25:::1;-1:-1:-1::0;6598:19:1::1;6523:11:::0;6598:13:::1;:19::i;:::-;6572:46:::0;;::::1;::::0;::::1;::::0;;;;;;;;-1:-1:-1;6572:46:1;;;6565:53;6637:18:::1;::::0;::::1;::::0;;6689:10;::::1;::::0;6701:12:::1;::::0;::::1;::::0;6715:16:::1;::::0;;::::1;::::0;6628:108;;-1:-1:-1;;;6628:108:1;;-1:-1:-1;;;;;6637:18:1;;::::1;::::0;6628:45:::1;::::0;:108:::1;::::0;6682:4:::1;::::0;6689:10;::::1;::::0;6701:12;;6628:108:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;6783:11:1;;;6771:10;::::1;::::0;6751:66:::1;::::0;;12512:25:25;;;-1:-1:-1;;;;;12573:31:25;;12568:2;12553:18;;12546:59;-1:-1:-1;;;;;6783:11:1;;::::1;::::0;-1:-1:-1;6771:10:1;;;::::1;::::0;-1:-1:-1;6763:6:1;;6751:66:::1;::::0;12485:18:25;6751:66:1::1;;;;;;;6170:654;2542:20:18::0;1857:1;3068:21;;2888:208;2542:20;6060:764:1;;;:::o;4202:136:5:-;3851:7;3877:12;;;;;;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4306:25:::1;4317:4;4323:7;4306:10;:25::i;:::-;;4202:136:::0;;;:::o;5304:245::-;-1:-1:-1;;;;;5397:34:5;;735:10:16;5397:34:5;5393:102;;5454:30;;-1:-1:-1;;;5454:30:5;;;;;;;;;;;5393:102;5505:37;5517:4;5523:18;5505:11;:37::i;3363:263:1:-;-1:-1:-1;;;;;;;;;;;2473:16:5;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;;3518:32:1;;::::1;;::::0;;;:22:::1;:32;::::0;;;;;;;:42;;-1:-1:-1;;3518:42:1::1;::::0;;;::::1;::::0;;;::::1;::::0;;;3570:22:::1;:32:::0;;;;;-1:-1:-1;;;;;3570:39:1;;;::::1;::::0;;;;;;;:49;;-1:-1:-1;;3570:49:1::1;::::0;::::1;;::::0;;;::::1;::::0;;3363:263::o;2903:316::-;2241:4:5;2473:16;2241:4;2473:10;:16::i;:::-;3001:8:1::1;::::0;-1:-1:-1;;;;;3001:8:1::1;:22:::0;2997:55:::1;;3032:20;;-1:-1:-1::0;;;3032:20:1::1;;;;;;;;;;;2997:55;-1:-1:-1::0;;;;;3066:29:1;::::1;3062:64;;3104:22;;-1:-1:-1::0;;;3104:22:1::1;;;;;;;;;;;3062:64;3136:8;:26:::0;;-1:-1:-1;;;;;;3136:26:1::1;-1:-1:-1::0;;;;;3136:26:1;::::1;::::0;;::::1;::::0;;;3177:35:::1;::::0;::::1;::::0;-1:-1:-1;;3177:35:1::1;2903:316:::0;;:::o;7444:107::-;7500:11;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7500:11:1;7530:14;;;;:6;:14;;;;;;;;;7523:21;;;;;;;;;-1:-1:-1;;;;;7523:21:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7523:21:1;;;;;;;-1:-1:-1;;;7523:21:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7523:21:1;;;;;;;;;;;7530:14;7523:21;;;;-1:-1:-1;;;7523:21:1;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7523:21:1;7444:107;-1:-1:-1;;7444:107:1:o;7557:250::-;7746:53;;;-1:-1:-1;;;;;12891:31:25;;;;7746:53:1;;;;12873:50:25;;;;-1:-1:-1;;;;;12959:32:25;;;12939:18;;;12932:60;13028:32;;;13008:18;;;13001:60;13097:32;;;;13077:18;;;13070:60;13146:19;;;;13139:35;;;;7746:53:1;;;;;;;;;;12845:19:25;;;;7746:53:1;;;7736:64;;;;;;7557:250::o;2830:136:5:-;2907:4;2930:12;;;;;;;;;;;-1:-1:-1;;;;;2930:29:5;;;;;;;;;;;;;;;2830:136::o;6830:608:1:-;2500:21:18;:19;:21::i;:::-;6895:17:1::1;6915:14:::0;;;:6:::1;:14;::::0;;;;6958:15:::1;6943:11;::::0;::::1;::::0;-1:-1:-1;;;6943:11:1;::::1;;;:30;::::0;::::1;;;;;;:::i;:::-;;6939:56;;6982:13;;-1:-1:-1::0;;;6982:13:1::1;;;;;;;;;;;6939:56;7023:11:::0;;-1:-1:-1;;;;;7023:11:1::1;7009:10;:25;;::::0;:64:::1;;-1:-1:-1::0;7056:17:1::1;::::0;::::1;::::0;-1:-1:-1;;;7056:17:1;::::1;-1:-1:-1::0;;;;;7056:17:1::1;7038:15;:35;7009:64;7005:98;;;7082:21;;-1:-1:-1::0;;;7082:21:1::1;;;;;;;;;;;7005:98;7113:11;::::0;::::1;:34:::0;;-1:-1:-1;;;;7113:34:1::1;-1:-1:-1::0;;;7113:34:1::1;::::0;;7164:25:::1;-1:-1:-1::0;7190:19:1::1;7113:11:::0;7190:13:::1;:19::i;:::-;7164:46:::0;;::::1;::::0;::::1;::::0;;;;;;;;-1:-1:-1;7164:46:1;;;7157:53;7229:18:::1;::::0;::::1;::::0;7281:11;;7294:12:::1;::::0;::::1;::::0;7308:16:::1;::::0;;::::1;::::0;7220:109;;-1:-1:-1;;;7220:109:1;;-1:-1:-1;;;;;7229:18:1;;::::1;::::0;7220:45:::1;::::0;:109:::1;::::0;7274:4:::1;::::0;7281:11;::::1;::::0;7294:12;;7220:109:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;7380:18:1::1;::::0;::::1;::::0;7367:11;;7400:12:::1;::::0;::::1;::::0;7414:16:::1;::::0;::::1;::::0;7344:87:::1;::::0;-1:-1:-1;;;;;7380:18:1;;::::1;::::0;-1:-1:-1;7367:11:1;;;::::1;::::0;7359:6;;7344:87:::1;::::0;::::1;::::0;7400:12;13359:25:25;;13415:2;13400:18;;13393:34;13347:2;13332:18;;13185:248;7344:87:1::1;;;;;;;;6885:553;2542:20:18::0;1857:1;3068:21;;2888:208;2542:20;6830:608:1;:::o;3225:132::-;-1:-1:-1;;;;;;;;;;;2473:16:5;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;;3319:21:1;;;::::1;;::::0;;;:14:::1;:21;::::0;;;;:31;;-1:-1:-1;;3319:31:1::1;::::0;::::1;;::::0;;;::::1;::::0;;3225:132::o;4618:138:5:-;3851:7;3877:12;;;;;;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4723:26:::1;4735:4;4741:7;4723:11;:26::i;3794:2260:1:-:0;4181:14;2500:21:18;:19;:21::i;:::-;4211:18:1::1;::::0;-1:-1:-1;;;4211:18:1;::::1;;;4207:47;;;4238:16;;-1:-1:-1::0;;;4238:16:1::1;;;;;;;;;;;4207:47;-1:-1:-1::0;;;;;4268:19:1;::::1;4264:46;;4296:14;;-1:-1:-1::0;;;4296:14:1::1;;;;;;;;;;;4264:46;-1:-1:-1::0;;;;;4325:29:1;::::1;;::::0;;;:14:::1;:29;::::0;;;;;::::1;;4324:30;::::0;:50:::1;;-1:-1:-1::0;4358:16:1;;4324:50:::1;4320:77;;;4383:14;;-1:-1:-1::0;;;4383:14:1::1;;;;;;;;;;;4320:77;-1:-1:-1::0;;;;;4411:39:1;;::::1;;::::0;;;:22:::1;:39;::::0;;;;;;::::1;:57:::0;;::::1;;4407:95;;4477:25;;-1:-1:-1::0;;;4477:25:1::1;;;;;;;;;;;4407:95;-1:-1:-1::0;;;;;4517:39:1;::::1;;::::0;;;:22:::1;:39;::::0;;;;;;;-1:-1:-1;;;;;4517:53:1;::::1;::::0;;;;;;;;::::1;;4512:92;;4579:25;;-1:-1:-1::0;;;4579:25:1::1;;;;;;;;;;;4512:92;-1:-1:-1::0;;;;;4618:30:1;::::1;::::0;;:52:::1;;-1:-1:-1::0;4652:18:1;;4618:52:::1;4614:87;;;4679:22;;-1:-1:-1::0;;;4679:22:1::1;;;;;;;;;;;4614:87;-1:-1:-1::0;;;;;4728:21:1;::::1;::::0;;:59:::1;;;4771:16;-1:-1:-1::0;;;;;4753:34:1::1;:14;-1:-1:-1::0;;;;;4753:34:1::1;;;4728:59;:125;;;-1:-1:-1::0;663:6:1::1;4807:33;4824:16:::0;4807:14;:33:::1;:::i;:::-;-1:-1:-1::0;;;;;4807:46:1::1;;4728:125;4711:182;;;4871:22;;-1:-1:-1::0;;;4871:22:1::1;;;;;;;;;;;4711:182;4903:13;4919:83;4932:15;4949:12;4963:5;4970:16;4988:13;4919:12;:83::i;:::-;5060:1;5016:32:::0;;;:25:::1;:32;::::0;;;;;4903:99;;-1:-1:-1;5016:46:1;5012:82:::1;;5071:23;;-1:-1:-1::0;;;5071:23:1::1;;;;;;;;;;;5012:82;5133:10;5104:13;5120:24:::0;;;:12:::1;:24;::::0;;;;:26;;;5104:13;5120:26:::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;5175:59:1::1;::::0;;5186:13:::1;5175:59;::::0;::::1;14140:25:25::0;5209:4:1::1;14181:18:25::0;;;14174:60;;;;5216:10:1::1;14250:18:25::0;;;14243:60;14319:18;;;14312:34;;;5104:42:1;;-1:-1:-1;14112:19:25;;5175:59:1::1;;;;;;;;;;;;5165:70;;;;;;5156:79;;5262:498;;;;;;;;5280:10;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5304:5;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5323:13;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5350:7;5262:498;;;;5371:11;5262:498;;;;5396:15;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5425:14;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5453:12;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5479:16;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5509:13;5262:498;;;;5536:16;-1:-1:-1::0;;;;;5262:498:1::1;;;;;5566:14;-1:-1:-1::0;;;;;5262:498:1::1;;;;;785:10;5658:16;5641:14;:33;;;;:::i;:::-;5640:81;;;;:::i;:::-;5594:43;718:8;5601:15;5594:43;:::i;:::-;:127;;;;:::i;:::-;-1:-1:-1::0;;;;;5262:498:1::1;::::0;;::::1;;5735:15;5262:498:::0;;5245:14:::1;::::0;;;:6:::1;:14;::::0;;;;;;;;:515;;;;-1:-1:-1;;;;;;5245:515:1;;::::1;-1:-1:-1::0;;;;;5245:515:1;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;5245:515:1;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;5245:515:1;;::::1;-1:-1:-1::0;;5245:515:1;;;;-1:-1:-1;;;5245:515:1;;::::1;::::0;::::1;;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;;;;::::1;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;5245:515:1;::::1;-1:-1:-1::0;;;5245:515:1;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;:14;;-1:-1:-1;;;;5245:515:1;-1:-1:-1;;;;5245:515:1;;;;;-1:-1:-1;;;5245:515:1;;;;::::1;;;;;;:::i;:::-;;;;;;;;;5805:6;5770:25;:32;5796:5;5770:32;;;;;;;;;;;:41;;;;5830:13;-1:-1:-1::0;;;;;5821:40:1::1;;5862:10;5882:4;5889:7;5898:11;5821:93;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5961:5;-1:-1:-1::0;;;;;5929:45:1::1;5949:10;-1:-1:-1::0;;;;;5929:45:1::1;5941:6;5929:45;5968:5;5929:45;;;;1491:25:25::0;;1479:2;1464:18;;1345:177;5929:45:1::1;;;;;;;;5989:58;::::0;;13359:25:25;;;13415:2;13400:18;;13393:34;;;-1:-1:-1;;;;;5989:58:1;::::1;::::0;6003:6;;5989:58:::1;::::0;13332:18:25;5989:58:1::1;;;;;;;4197:1857;;2542:20:18::0;1857:1;3068:21;;2888:208;2542:20;3794:2260:1;;;;;;;;;;;;;:::o;3632:156::-;-1:-1:-1;;;;;;;;;;;2473:16:5;2484:4;2473:10;:16::i;:::-;3713:18:1::1;:27:::0;;;::::1;;-1:-1:-1::0;;;3713:27:1::1;-1:-1:-1::0;;;;3713:27:1;;::::1;;::::0;;3755:26:::1;::::0;::::1;::::0;::::1;::::0;3734:6;470:14:25;463:22;445:41;;433:2;418:18;;305:187;3755:26:1::1;;;;;;;;3632:156:::0;;:::o;2541:202:5:-;2626:4;-1:-1:-1;;;;;;2649:47:5;;-1:-1:-1;;;2649:47:5;;:87;;;2700:36;2724:11;2700:23;:36::i;2575:307:18:-;1899:1;2702:7;;:18;2698:86;;2743:30;;-1:-1:-1;;;2743:30:18;;;;;;;;;;;2698:86;1899:1;2858:7;:17;2575:307::o;7813:217:1:-;7928:20;;;;7950:17;;;;7928:20;7969:10;;;7981:21;;;;8004:18;;;;7877:7;;7915:108;;-1:-1:-1;;;;;7928:20:1;;;;-1:-1:-1;;;;;7950:17:1;;;;7969:10;;;;7981:21;;;7915:12;:108::i;3175:103:5:-;3241:30;3252:4;735:10:16;3241::5;:30::i;6155:316::-;6232:4;6253:22;6261:4;6267:7;6253;:22::i;:::-;6248:217;;6291:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6291:29:5;;;;;;;;;:36;;-1:-1:-1;;6291:36:5;6323:4;6291:36;;;6373:12;735:10:16;;656:96;6373:12:5;-1:-1:-1;;;;;6346:40:5;6364:7;-1:-1:-1;;;;;6346:40:5;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:5;6400:11;;6248:217;-1:-1:-1;6449:5:5;6442:12;;6708:317;6786:4;6806:22;6814:4;6820:7;6806;:22::i;:::-;6802:217;;;6876:5;6844:12;;;;;;;;;;;-1:-1:-1;;;;;6844:29:5;;;;;;;;;;:37;;-1:-1:-1;;6844:37:5;;;6900:40;735:10:16;;6844:12:5;;6900:40;;6876:5;6900:40;-1:-1:-1;6961:4:5;6954:11;;617:221:12;719:4;-1:-1:-1;;;;;;742:49:12;;-1:-1:-1;;;742:49:12;;:89;;-1:-1:-1;;;;;;;;;;829:40:21;;;795:36:12;730:146:21;3408:197:5;3496:22;3504:4;3510:7;3496;:22::i;:::-;3491:108;;3541:47;;-1:-1:-1;;;3541:47:5;;-1:-1:-1;;;;;15018:32:25;;3541:47:5;;;15000:51:25;15067:18;;;15060:34;;;14973:18;;3541:47:5;;;;;;;3491:108;3408:197;;:::o;14:286:25:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:25;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:25:o;497:171::-;564:20;;-1:-1:-1;;;;;613:30:25;;603:41;;593:69;;658:1;655;648:12;593:69;497:171;;;:::o;673:173::-;741:20;;-1:-1:-1;;;;;790:31:25;;780:42;;770:70;;836:1;833;826:12;851:258;918:6;926;979:2;967:9;958:7;954:23;950:32;947:52;;;995:1;992;985:12;947:52;1018:28;1036:9;1018:28;:::i;:::-;1008:38;;1065;1099:2;1088:9;1084:18;1065:38;:::i;:::-;1055:48;;851:258;;;;;:::o;1114:226::-;1173:6;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;-1:-1:-1;1287:23:25;;1114:226;-1:-1:-1;1114:226:25:o;1844:418::-;1920:6;1928;1936;1989:2;1977:9;1968:7;1964:23;1960:32;1957:52;;;2005:1;2002;1995:12;1957:52;2050:23;;;-1:-1:-1;2170:2:25;2155:18;;2142:32;;-1:-1:-1;2219:37:25;2252:2;2237:18;;2219:37;:::i;:::-;2209:47;;1844:418;;;;;:::o;2267:300::-;2335:6;2343;2396:2;2384:9;2375:7;2371:23;2367:32;2364:52;;;2412:1;2409;2402:12;2364:52;2457:23;;;-1:-1:-1;2523:38:25;2557:2;2542:18;;2523:38;:::i;2884:160::-;2949:20;;3005:13;;2998:21;2988:32;;2978:60;;3034:1;3031;3024:12;3049:399;3130:6;3138;3146;3154;3207:3;3195:9;3186:7;3182:23;3178:33;3175:53;;;3224:1;3221;3214:12;3175:53;3247:28;3265:9;3247:28;:::i;:::-;3237:38;;3294:37;3327:2;3316:9;3312:18;3294:37;:::i;:::-;3284:47;;3350:38;3384:2;3373:9;3369:18;3350:38;:::i;:::-;3340:48;;3407:35;3438:2;3427:9;3423:18;3407:35;:::i;:::-;3397:45;;3049:399;;;;;;;:::o;3453:186::-;3512:6;3565:2;3553:9;3544:7;3540:23;3536:32;3533:52;;;3581:1;3578;3571:12;3533:52;3604:29;3623:9;3604:29;:::i;3644:127::-;3705:10;3700:3;3696:20;3693:1;3686:31;3736:4;3733:1;3726:15;3760:4;3757:1;3750:15;3776:238;3858:1;3851:5;3848:12;3838:143;;3903:10;3898:3;3894:20;3891:1;3884:31;3938:4;3935:1;3928:15;3966:4;3963:1;3956:15;3838:143;3990:18;;3776:238::o;4019:1651::-;4227:13;;-1:-1:-1;;;;;1593:31:25;1581:44;;4195:3;4180:19;;4299:4;4291:6;4287:17;4281:24;4314:54;4362:4;4351:9;4347:20;4333:12;-1:-1:-1;;;;;1593:31:25;1581:44;;1527:104;4314:54;;4417:4;4409:6;4405:17;4399:24;4432:56;4482:4;4471:9;4467:20;4451:14;-1:-1:-1;;;;;1593:31:25;1581:44;;1527:104;4432:56;;4544:4;4536:6;4532:17;4526:24;4519:4;4508:9;4504:20;4497:54;4607:4;4599:6;4595:17;4589:24;4582:4;4571:9;4567:20;4560:54;4663:4;4655:6;4651:17;4645:24;4678:55;4727:4;4716:9;4712:20;4696:14;-1:-1:-1;;;;;2637:30:25;2625:43;;2572:102;4678:55;;4782:4;4774:6;4770:17;4764:24;4797:55;4846:4;4835:9;4831:20;4815:14;-1:-1:-1;;;;;2637:30:25;2625:43;;2572:102;4797:55;;4901:4;4893:6;4889:17;4883:24;4916:56;4966:4;4955:9;4951:20;4935:14;-1:-1:-1;;;;;1593:31:25;1581:44;;1527:104;4916:56;;5021:6;5013;5009:19;5003:26;5038:58;5088:6;5077:9;5073:22;5057:14;-1:-1:-1;;;;;1593:31:25;1581:44;;1527:104;5038:58;;5154:6;5146;5142:19;5136:26;5127:6;5116:9;5112:22;5105:58;5212:6;5204;5200:19;5194:26;5229:57;5278:6;5267:9;5263:22;5247:14;-1:-1:-1;;;;;2637:30:25;2625:43;;2572:102;5229:57;;5335:6;5327;5323:19;5317:26;5352:57;5401:6;5390:9;5386:22;5370:14;-1:-1:-1;;;;;2637:30:25;2625:43;;2572:102;5352:57;;5458:6;5450;5446:19;5440:26;5475:57;5524:6;5513:9;5509:22;5493:14;-1:-1:-1;;;;;2637:30:25;2625:43;;2572:102;5475:57;;5581:6;5573;5569:19;5563:26;5598:66;5656:6;5645:9;5641:22;5625:14;5598:66;:::i;:::-;;4019:1651;;;;:::o;5675:522::-;5769:6;5777;5785;5793;5801;5854:3;5842:9;5833:7;5829:23;5825:33;5822:53;;;5871:1;5868;5861:12;5822:53;5894:28;5912:9;5894:28;:::i;:::-;5884:38;;5941;5975:2;5964:9;5960:18;5941:38;:::i;:::-;5931:48;;5998:38;6032:2;6021:9;6017:18;5998:38;:::i;:::-;5988:48;;6055:38;6089:2;6078:9;6074:18;6055:38;:::i;:::-;5675:522;;;;-1:-1:-1;5675:522:25;;6162:3;6147:19;6134:33;;5675:522;-1:-1:-1;;5675:522:25:o;6384:127::-;6445:10;6440:3;6436:20;6433:1;6426:31;6476:4;6473:1;6466:15;6500:4;6497:1;6490:15;6516:275;6587:2;6581:9;6652:2;6633:13;;-1:-1:-1;;6629:27:25;6617:40;;-1:-1:-1;;;;;6672:34:25;;6708:22;;;6669:62;6666:88;;;6734:18;;:::i;:::-;6770:2;6763:22;6516:275;;-1:-1:-1;6516:275:25:o;6796:775::-;6850:5;6903:3;6896:4;6888:6;6884:17;6880:27;6870:55;;6921:1;6918;6911:12;6870:55;6961:6;6948:20;-1:-1:-1;;;;;6983:6:25;6980:30;6977:56;;;7013:18;;:::i;:::-;7059:6;7056:1;7052:14;7086:30;7110:4;7106:2;7102:13;7086:30;:::i;:::-;7152:19;;;7196:4;7228:15;;;7224:26;;;7187:14;;;;7262:15;;;7259:35;;;7290:1;7287;7280:12;7259:35;7326:4;7318:6;7314:17;7303:28;;7340:200;7356:6;7351:3;7348:15;7340:200;;;7448:17;;7478:18;;7525:4;7373:14;;;;7516;;;;7340:200;;;7558:7;6796:775;-1:-1:-1;;;;;;6796:775:25:o;7576:558::-;7618:5;7671:3;7664:4;7656:6;7652:17;7648:27;7638:55;;7689:1;7686;7679:12;7638:55;7729:6;7716:20;-1:-1:-1;;;;;7751:6:25;7748:30;7745:56;;;7781:18;;:::i;:::-;7825:59;7872:2;7849:17;;-1:-1:-1;;7845:31:25;7878:4;7841:42;7825:59;:::i;:::-;7909:6;7900:7;7893:23;7963:3;7956:4;7947:6;7939;7935:19;7931:30;7928:39;7925:59;;;7980:1;7977;7970:12;7925:59;8045:6;8038:4;8030:6;8026:17;8019:4;8010:7;8006:18;7993:59;8101:1;8072:20;;;8094:4;8068:31;8061:42;;;;8076:7;7576:558;-1:-1:-1;;;7576:558:25:o;8139:954::-;8293:6;8301;8309;8317;8325;8378:3;8366:9;8357:7;8353:23;8349:33;8346:53;;;8395:1;8392;8385:12;8346:53;8418:29;8437:9;8418:29;:::i;:::-;8408:39;;8466:38;8500:2;8489:9;8485:18;8466:38;:::i;:::-;8456:48;;8555:2;8544:9;8540:18;8527:32;-1:-1:-1;;;;;8574:6:25;8571:30;8568:50;;;8614:1;8611;8604:12;8568:50;8637:61;8690:7;8681:6;8670:9;8666:22;8637:61;:::i;:::-;8627:71;;;8751:2;8740:9;8736:18;8723:32;-1:-1:-1;;;;;8770:8:25;8767:32;8764:52;;;8812:1;8809;8802:12;8764:52;8835:63;8890:7;8879:8;8868:9;8864:24;8835:63;:::i;:::-;8825:73;;;8951:3;8940:9;8936:19;8923:33;-1:-1:-1;;;;;8971:8:25;8968:32;8965:52;;;9013:1;9010;9003:12;8965:52;9036:51;9079:7;9068:8;9057:9;9053:24;9036:51;:::i;:::-;9026:61;;;8139:954;;;;;;;;:::o;9305:254::-;9370:6;9378;9431:2;9419:9;9410:7;9406:23;9402:32;9399:52;;;9447:1;9444;9437:12;9399:52;9470:29;9489:9;9470:29;:::i;:::-;9460:39;;9518:35;9549:2;9538:9;9534:18;9518:35;:::i;9564:184::-;9622:6;9675:2;9663:9;9654:7;9650:23;9646:32;9643:52;;;9691:1;9688;9681:12;9643:52;9714:28;9732:9;9714:28;:::i;9753:1060::-;9898:6;9906;9914;9922;9930;9938;9946;9954;9962;9970;9978:7;10032:3;10020:9;10011:7;10007:23;10003:33;10000:53;;;10049:1;10046;10039:12;10000:53;10072:29;10091:9;10072:29;:::i;:::-;10062:39;;10120:38;10154:2;10143:9;10139:18;10120:38;:::i;:::-;10110:48;-1:-1:-1;10227:2:25;10212:18;;10199:32;;-1:-1:-1;10328:2:25;10313:18;;10300:32;;-1:-1:-1;10377:38:25;10410:3;10395:19;;10377:38;:::i;:::-;10367:48;;10434:38;10467:3;10456:9;10452:19;10434:38;:::i;:::-;10424:48;;10491:39;10525:3;10514:9;10510:19;10491:39;:::i;:::-;10481:49;;10549:39;10583:3;10572:9;10568:19;10549:39;:::i;:::-;10539:49;-1:-1:-1;10661:3:25;10646:19;;10633:33;;-1:-1:-1;10711:38:25;10744:3;10729:19;;10711:38;:::i;:::-;10701:48;;10769:38;10802:3;10791:9;10787:19;10769:38;:::i;:::-;10758:49;;9753:1060;;;;;;;;;;;;;;:::o;10818:704::-;10922:6;10930;10938;10946;10954;11007:3;10995:9;10986:7;10982:23;10978:33;10975:53;;;11024:1;11021;11014:12;10975:53;11047:29;11066:9;11047:29;:::i;:::-;11037:39;;11095:38;11129:2;11118:9;11114:18;11095:38;:::i;:::-;11085:48;-1:-1:-1;11202:2:25;11187:18;;11174:32;;-1:-1:-1;11303:2:25;11288:18;;11275:32;;-1:-1:-1;11384:3:25;11369:19;;11356:33;-1:-1:-1;;;;;11401:30:25;;11398:50;;;11444:1;11441;11434:12;11527:180;11583:6;11636:2;11624:9;11615:7;11611:23;11607:32;11604:52;;;11652:1;11649;11642:12;11604:52;11675:26;11691:9;11675:26;:::i;11712:623::-;-1:-1:-1;;;;;12025:32:25;;;12007:51;;12094:32;;;;12089:2;12074:18;;12067:60;12158:2;12143:18;;12136:34;12201:2;12186:18;;12179:34;;;;12045:3;12244;12229:19;;12222:32;;;-1:-1:-1;12270:19:25;;;12263:30;12325:3;12310:19;;11712:623::o;13438:127::-;13499:10;13494:3;13490:20;13487:1;13480:31;13530:4;13527:1;13520:15;13554:4;13551:1;13544:15;13570:194;-1:-1:-1;;;;;13668:26:25;;;13640;;;13636:59;;13707:28;;13704:54;;;13738:18;;:::i;13769:135::-;13808:3;13829:17;;;13826:43;;13849:18;;:::i;:::-;-1:-1:-1;13896:1:25;13885:13;;13769:135::o;14357:268::-;-1:-1:-1;;;;;14441:26:25;;;14469;;;14437:59;14516:36;;;;14571:24;;;14561:58;;14599:18;;:::i;14630:191::-;-1:-1:-1;;;;;14698:26:25;;;14726;;;14694:59;;14765:27;;14762:53;;;14795:18;;:::i","linkReferences":{}},"methodIdentifiers":{"CONFIG_ROLE()":"a4d19feb","DEFAULT_ADMIN_ROLE()":"a217fddf","ESTIMATED_SOURCE_BLOCK_TIME()":"80ffef92","MAX_WINDOW()":"deb96634","MIN_RECLAIM_DELAY()":"427d28c6","activeSaleForPaymentTuple(bytes32)":"10ae7405","approvedAssets(address)":"97eb0088","configureAsset(address,bool)":"d244a091","configurePaymentSource(uint64,uint64,address,bool)":"4a7f785f","createSale(address,address,uint256,uint256,uint64,uint64,address,address,uint256,uint64,uint64)":"e204c86c","getRoleAdmin(bytes32)":"248a9ca3","getSale(bytes32)":"641cc7d9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","pauseSaleCreation(bool)":"f7ed7ed9","paymentTuple(uint64,address,address,address,uint256)":"8ddb9c7e","reclaim(bytes32)":"96afb365","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","saleCreationPaused()":"b4be820d","sellerNonces(address)":"aa838987","setVerifier(address)":"5437988d","settleFromVerifiedPayment(bytes32,bytes32,uint64)":"2de7c78f","supportedPaymentChains(uint64)":"d5cac04f","supportedPaymentTokens(uint64,address)":"0d50cac7","supportsInterface(bytes4)":"01ffc9a7","verifier()":"2b7ac3f3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CreationPaused\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DuplicatePaymentTuple\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAsset\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidBuyer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPaymentAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPaymentWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PaymentOutsideWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReclaimNotAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SaleNotOpen\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedVerifier\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedPaymentChain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedPaymentToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VerifierAlreadySet\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetEscrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetReclaimed\",\"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\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"paymentTuple\",\"type\":\"bytes32\"}],\"name\":\"SaleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"SaleCreationPaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"sourceBlock\",\"type\":\"uint64\"}],\"name\":\"SaleSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"VerifierConfigured\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CONFIG_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ESTIMATED_SOURCE_BLOCK_TIME\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_WINDOW\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_RECLAIM_DELAY\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"activeSaleForPaymentTuple\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"approvedAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"configureAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainKey\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"name\":\"configurePaymentSource\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"assetContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"paymentChainKey\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"paymentChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"paymentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"sourceStartBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"sourceEndBlock\",\"type\":\"uint64\"}],\"name\":\"createSale\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"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\":\"saleId\",\"type\":\"bytes32\"}],\"name\":\"getSale\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"assetContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"paymentChainKey\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"paymentChainId\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"paymentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"sourceStartBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"sourceEndBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"reclaimAfter\",\"type\":\"uint64\"},{\"internalType\":\"enum SettleRWA.SaleStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct SettleRWA.Sale\",\"name\":\"\",\"type\":\"tuple\"}],\"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\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"pauseSaleCreation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainKey\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"paymentTuple\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"}],\"name\":\"reclaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"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\":[],\"name\":\"saleCreationPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"sellerNonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"paymentVerifier\",\"type\":\"address\"}],\"name\":\"setVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"saleId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"queryId\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"sourceBlock\",\"type\":\"uint64\"}],\"name\":\"settleFromVerifiedPayment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"supportedPaymentChains\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"supportedPaymentTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"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 to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"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`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"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 `callerConfirmation`. 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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/SettleRWA.sol\":\"SettleRWA\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@gluwa/=node_modules/@gluwa/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=contracts/lib/forge-std/src/\"]},\"sources\":{\"contracts/src/SettleRWA.sol\":{\"keccak256\":\"0xd8a3ec8768bc4037ede3279223491bdd7f4fbfc44dcd38af7468b57489caeea4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86bf1d4714d4f7ab01763f5c386858aeca9a53292e1bb059a1c931a42d6914cb\",\"dweb:/ipfs/QmdUxq3M7wChdK6Mmz4TCdkz7X8g8nrNzaMgKu3jgq2d49\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c\",\"dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xf189f9b417fe1931e1ab706838aff1128528694a9fcdb5ff7665197f2ca57d09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0143c836c8c9f85d13708733c09e21251395847fccfb518bf3b556726a840\",\"dweb:/ipfs/QmP69sjjrQrhYAsvCSSB69Bx66SiUPdQUqdzMYnf4wANHm\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x6ec6d7fce29668ede560c7d2e10f9d10de3473f5298e431e70a5767db42fa620\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac0139e51874aeec0730d040e57993187541777eb01d5939c06d5d2b986a54e8\",\"dweb:/ipfs/QmZbMbdPzusXuX9FGkyArV8hgzKLBZaL5RzMtCdCawtwPF\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x845cd93ae5216fb91ab3085c632006cdff95460134dd83f3519c1b08cc3e1b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1ce223213ad3f92b14a3a36e18bc9ca5de815f43121db298a4ca6faecb8498f\",\"dweb:/ipfs/QmR5o4LeKx1UNgoM5pXpm6Cxjgf9H8DXHcx4SYaUM1K7je\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"CreationPaused"},{"inputs":[],"type":"error","name":"DuplicatePaymentTuple"},{"inputs":[],"type":"error","name":"InvalidAsset"},{"inputs":[],"type":"error","name":"InvalidBuyer"},{"inputs":[],"type":"error","name":"InvalidPaymentAmount"},{"inputs":[],"type":"error","name":"InvalidPaymentWindow"},{"inputs":[],"type":"error","name":"PaymentOutsideWindow"},{"inputs":[],"type":"error","name":"ReclaimNotAvailable"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[],"type":"error","name":"SaleNotOpen"},{"inputs":[],"type":"error","name":"UnauthorizedVerifier"},{"inputs":[],"type":"error","name":"UnsupportedPaymentChain"},{"inputs":[],"type":"error","name":"UnsupportedPaymentToken"},{"inputs":[],"type":"error","name":"VerifierAlreadySet"},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32","indexed":true},{"internalType":"address","name":"asset","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"AssetEscrowed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"asset","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"AssetReclaimed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"bytes32","name":"paymentTuple","type":"bytes32","indexed":false}],"type":"event","name":"SaleCreated","anonymous":false},{"inputs":[{"internalType":"bool","name":"paused","type":"bool","indexed":false}],"type":"event","name":"SaleCreationPaused","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32","indexed":true},{"internalType":"address","name":"buyer","type":"address","indexed":true},{"internalType":"address","name":"seller","type":"address","indexed":true},{"internalType":"bytes32","name":"queryId","type":"bytes32","indexed":false},{"internalType":"uint64","name":"sourceBlock","type":"uint64","indexed":false}],"type":"event","name":"SaleSettled","anonymous":false},{"inputs":[{"internalType":"address","name":"verifier","type":"address","indexed":true}],"type":"event","name":"VerifierConfigured","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CONFIG_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ESTIMATED_SOURCE_BLOCK_TIME","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_WINDOW","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_RECLAIM_DELAY","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"activeSaleForPaymentTuple","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"approvedAssets","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"configureAsset"},{"inputs":[{"internalType":"uint64","name":"chainKey","type":"uint64"},{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"address","name":"token","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"configurePaymentSource"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"assetContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"uint64","name":"paymentChainKey","type":"uint64"},{"internalType":"uint64","name":"paymentChainId","type":"uint64"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"address","name":"paymentRecipient","type":"address"},{"internalType":"uint256","name":"paymentAmount","type":"uint256"},{"internalType":"uint64","name":"sourceStartBlock","type":"uint64"},{"internalType":"uint64","name":"sourceEndBlock","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"createSale","outputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getSale","outputs":[{"internalType":"struct SettleRWA.Sale","name":"","type":"tuple","components":[{"internalType":"address","name":"seller","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"assetContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"uint64","name":"paymentChainKey","type":"uint64"},{"internalType":"uint64","name":"paymentChainId","type":"uint64"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"address","name":"paymentRecipient","type":"address"},{"internalType":"uint256","name":"paymentAmount","type":"uint256"},{"internalType":"uint64","name":"sourceStartBlock","type":"uint64"},{"internalType":"uint64","name":"sourceEndBlock","type":"uint64"},{"internalType":"uint64","name":"reclaimAfter","type":"uint64"},{"internalType":"enum SettleRWA.SaleStatus","name":"status","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"bool","name":"paused","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"pauseSaleCreation"},{"inputs":[{"internalType":"uint64","name":"chainKey","type":"uint64"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"pure","type":"function","name":"paymentTuple","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"reclaim"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"saleCreationPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"sellerNonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"paymentVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setVerifier"},{"inputs":[{"internalType":"bytes32","name":"saleId","type":"bytes32"},{"internalType":"bytes32","name":"queryId","type":"bytes32"},{"internalType":"uint64","name":"sourceBlock","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"settleFromVerifiedPayment"},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function","name":"supportedPaymentChains","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint64","name":"","type":"uint64"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"supportedPaymentTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"verifier","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"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 `callerConfirmation`. 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."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@gluwa/=node_modules/@gluwa/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=contracts/lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/src/SettleRWA.sol":"SettleRWA"},"evmVersion":"shanghai","libraries":{}},"sources":{"contracts/src/SettleRWA.sol":{"keccak256":"0xd8a3ec8768bc4037ede3279223491bdd7f4fbfc44dcd38af7468b57489caeea4","urls":["bzz-raw://86bf1d4714d4f7ab01763f5c386858aeca9a53292e1bb059a1c931a42d6914cb","dweb:/ipfs/QmdUxq3M7wChdK6Mmz4TCdkz7X8g8nrNzaMgKu3jgq2d49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/AccessControl.sol":{"keccak256":"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af","urls":["bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c","dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":{"keccak256":"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c","urls":["bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d","dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol":{"keccak256":"0xf189f9b417fe1931e1ab706838aff1128528694a9fcdb5ff7665197f2ca57d09","urls":["bzz-raw://2ff0143c836c8c9f85d13708733c09e21251395847fccfb518bf3b556726a840","dweb:/ipfs/QmP69sjjrQrhYAsvCSSB69Bx66SiUPdQUqdzMYnf4wANHm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0x6ec6d7fce29668ede560c7d2e10f9d10de3473f5298e431e70a5767db42fa620","urls":["bzz-raw://ac0139e51874aeec0730d040e57993187541777eb01d5939c06d5d2b986a54e8","dweb:/ipfs/QmZbMbdPzusXuX9FGkyArV8hgzKLBZaL5RzMtCdCawtwPF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x845cd93ae5216fb91ab3085c632006cdff95460134dd83f3519c1b08cc3e1b4a","urls":["bzz-raw://f1ce223213ad3f92b14a3a36e18bc9ca5de815f43121db298a4ca6faecb8498f","dweb:/ipfs/QmR5o4LeKx1UNgoM5pXpm6Cxjgf9H8DXHcx4SYaUM1K7je"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3","urls":["bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a","dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e","urls":["bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377","dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/src/SettleRWA.sol","id":1227,"exportedSymbols":{"AccessControl":[4008],"ERC1155Holder":[5407],"IERC1155":[5268],"IERC1155Receiver":[5310],"ReentrancyGuard":[6722],"SettleRWA":[1226]},"nodeType":"SourceUnit","src":"32:8233:1","nodes":[{"id":442,"nodeType":"PragmaDirective","src":"32:24:1","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":444,"nodeType":"ImportDirective","src":"58:76:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol","file":"@openzeppelin/contracts/token/ERC1155/IERC1155.sol","nameLocation":"-1:-1:-1","scope":1227,"sourceUnit":5269,"symbolAliases":[{"foreign":{"id":443,"name":"IERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"66:8:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":446,"nodeType":"ImportDirective","src":"135:92:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","file":"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol","nameLocation":"-1:-1:-1","scope":1227,"sourceUnit":5311,"symbolAliases":[{"foreign":{"id":445,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5310,"src":"143:16:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":448,"nodeType":"ImportDirective","src":"228:92:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol","file":"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol","nameLocation":"-1:-1:-1","scope":1227,"sourceUnit":5408,"symbolAliases":[{"foreign":{"id":447,"name":"ERC1155Holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5407,"src":"236:13:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":450,"nodeType":"ImportDirective","src":"321:79:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/AccessControl.sol","file":"@openzeppelin/contracts/access/AccessControl.sol","nameLocation":"-1:-1:-1","scope":1227,"sourceUnit":4009,"symbolAliases":[{"foreign":{"id":449,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4008,"src":"329:13:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":452,"nodeType":"ImportDirective","src":"401:82:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol","file":"@openzeppelin/contracts/utils/ReentrancyGuard.sol","nameLocation":"-1:-1:-1","scope":1227,"sourceUnit":6723,"symbolAliases":[{"foreign":{"id":451,"name":"ReentrancyGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6722,"src":"409:15:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1226,"nodeType":"ContractDefinition","src":"485:7779:1","nodes":[{"id":463,"nodeType":"VariableDeclaration","src":"559:62:1","nodes":[],"constant":true,"functionSelector":"a4d19feb","mutability":"constant","name":"CONFIG_ROLE","nameLocation":"583:11:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":459,"name":"bytes32","nodeType":"ElementaryTypeName","src":"559:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f4e4649475f524f4c45","id":461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"607:13:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f5","typeString":"literal_string \"CONFIG_ROLE\""},"value":"CONFIG_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82db594318110a04b6349ce48645aa69f0892751bc893d15e61d9e2b9c4630f5","typeString":"literal_string \"CONFIG_ROLE\""}],"id":460,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"597:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"597:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":466,"nodeType":"VariableDeclaration","src":"627:42:1","nodes":[],"constant":true,"functionSelector":"deb96634","mutability":"constant","name":"MAX_WINDOW","nameLocation":"650:10:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":464,"name":"uint64","nodeType":"ElementaryTypeName","src":"627:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"35305f303030","id":465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"663:6:1","typeDescriptions":{"typeIdentifier":"t_rational_50000_by_1","typeString":"int_const 50000"},"value":"50_000"},"visibility":"public"},{"id":469,"nodeType":"VariableDeclaration","src":"675:51:1","nodes":[],"constant":true,"functionSelector":"427d28c6","mutability":"constant","name":"MIN_RECLAIM_DELAY","nameLocation":"698:17:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":467,"name":"uint64","nodeType":"ElementaryTypeName","src":"675:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"3234","id":468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"718:8:1","subdenomination":"hours","typeDescriptions":{"typeIdentifier":"t_rational_86400_by_1","typeString":"int_const 86400"},"value":"24"},"visibility":"public"},{"id":472,"nodeType":"VariableDeclaration","src":"732:63:1","nodes":[],"constant":true,"functionSelector":"80ffef92","mutability":"constant","name":"ESTIMATED_SOURCE_BLOCK_TIME","nameLocation":"755:27:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":470,"name":"uint64","nodeType":"ElementaryTypeName","src":"732:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"3132","id":471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"785:10:1","subdenomination":"seconds","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"visibility":"public"},{"id":477,"nodeType":"EnumDefinition","src":"801:86:1","nodes":[],"canonicalName":"SettleRWA.SaleStatus","members":[{"id":473,"name":"NONE","nameLocation":"827:4:1","nodeType":"EnumValue","src":"827:4:1"},{"id":474,"name":"OPEN","nameLocation":"841:4:1","nodeType":"EnumValue","src":"841:4:1"},{"id":475,"name":"SETTLED","nameLocation":"855:7:1","nodeType":"EnumValue","src":"855:7:1"},{"id":476,"name":"RECLAIMED","nameLocation":"872:9:1","nodeType":"EnumValue","src":"872:9:1"}],"name":"SaleStatus","nameLocation":"806:10:1"},{"id":507,"nodeType":"StructDefinition","src":"893:429:1","nodes":[],"canonicalName":"SettleRWA.Sale","members":[{"constant":false,"id":479,"mutability":"mutable","name":"seller","nameLocation":"923:6:1","nodeType":"VariableDeclaration","scope":507,"src":"915:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":478,"name":"address","nodeType":"ElementaryTypeName","src":"915:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"buyer","nameLocation":"947:5:1","nodeType":"VariableDeclaration","scope":507,"src":"939:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":480,"name":"address","nodeType":"ElementaryTypeName","src":"939:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":483,"mutability":"mutable","name":"assetContract","nameLocation":"970:13:1","nodeType":"VariableDeclaration","scope":507,"src":"962:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":482,"name":"address","nodeType":"ElementaryTypeName","src":"962:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":485,"mutability":"mutable","name":"tokenId","nameLocation":"1001:7:1","nodeType":"VariableDeclaration","scope":507,"src":"993:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":484,"name":"uint256","nodeType":"ElementaryTypeName","src":"993:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":487,"mutability":"mutable","name":"assetAmount","nameLocation":"1026:11:1","nodeType":"VariableDeclaration","scope":507,"src":"1018:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":486,"name":"uint256","nodeType":"ElementaryTypeName","src":"1018:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":489,"mutability":"mutable","name":"paymentChainKey","nameLocation":"1054:15:1","nodeType":"VariableDeclaration","scope":507,"src":"1047:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":488,"name":"uint64","nodeType":"ElementaryTypeName","src":"1047:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":491,"mutability":"mutable","name":"paymentChainId","nameLocation":"1086:14:1","nodeType":"VariableDeclaration","scope":507,"src":"1079:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":490,"name":"uint64","nodeType":"ElementaryTypeName","src":"1079:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":493,"mutability":"mutable","name":"paymentToken","nameLocation":"1118:12:1","nodeType":"VariableDeclaration","scope":507,"src":"1110:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":492,"name":"address","nodeType":"ElementaryTypeName","src":"1110:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":495,"mutability":"mutable","name":"paymentRecipient","nameLocation":"1148:16:1","nodeType":"VariableDeclaration","scope":507,"src":"1140:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":494,"name":"address","nodeType":"ElementaryTypeName","src":"1140:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":497,"mutability":"mutable","name":"paymentAmount","nameLocation":"1182:13:1","nodeType":"VariableDeclaration","scope":507,"src":"1174:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":496,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":499,"mutability":"mutable","name":"sourceStartBlock","nameLocation":"1212:16:1","nodeType":"VariableDeclaration","scope":507,"src":"1205:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":498,"name":"uint64","nodeType":"ElementaryTypeName","src":"1205:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":501,"mutability":"mutable","name":"sourceEndBlock","nameLocation":"1245:14:1","nodeType":"VariableDeclaration","scope":507,"src":"1238:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":500,"name":"uint64","nodeType":"ElementaryTypeName","src":"1238:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":503,"mutability":"mutable","name":"reclaimAfter","nameLocation":"1276:12:1","nodeType":"VariableDeclaration","scope":507,"src":"1269:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":502,"name":"uint64","nodeType":"ElementaryTypeName","src":"1269:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":506,"mutability":"mutable","name":"status","nameLocation":"1309:6:1","nodeType":"VariableDeclaration","scope":507,"src":"1298:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"},"typeName":{"id":505,"nodeType":"UserDefinedTypeName","pathNode":{"id":504,"name":"SaleStatus","nameLocations":["1298:10:1"],"nodeType":"IdentifierPath","referencedDeclaration":477,"src":"1298:10:1"},"referencedDeclaration":477,"src":"1298:10:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"visibility":"internal"}],"name":"Sale","nameLocation":"900:4:1","scope":1226,"visibility":"public"},{"id":512,"nodeType":"VariableDeclaration","src":"1328:39:1","nodes":[],"constant":false,"mutability":"mutable","name":"_sales","nameLocation":"1361:6:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale)"},"typeName":{"id":511,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1336:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1328:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":510,"nodeType":"UserDefinedTypeName","pathNode":{"id":509,"name":"Sale","nameLocations":["1347:4:1"],"nodeType":"IdentifierPath","referencedDeclaration":507,"src":"1347:4:1"},"referencedDeclaration":507,"src":"1347:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"}}},"visibility":"private"},{"id":516,"nodeType":"VariableDeclaration","src":"1373:47:1","nodes":[],"constant":false,"functionSelector":"aa838987","mutability":"mutable","name":"sellerNonces","nameLocation":"1408:12:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":515,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":513,"name":"address","nodeType":"ElementaryTypeName","src":"1381:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1373:27:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1392:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":520,"nodeType":"VariableDeclaration","src":"1426:60:1","nodes":[],"constant":false,"functionSelector":"10ae7405","mutability":"mutable","name":"activeSaleForPaymentTuple","nameLocation":"1461:25:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"},"typeName":{"id":519,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1434:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1426:27:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":518,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1445:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":524,"nodeType":"VariableDeclaration","src":"1492:46:1","nodes":[],"constant":false,"functionSelector":"97eb0088","mutability":"mutable","name":"approvedAssets","nameLocation":"1524:14:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":523,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":521,"name":"address","nodeType":"ElementaryTypeName","src":"1500:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1492:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":522,"name":"bool","nodeType":"ElementaryTypeName","src":"1511:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":528,"nodeType":"VariableDeclaration","src":"1544:55:1","nodes":[],"constant":false,"functionSelector":"d5cac04f","mutability":"mutable","name":"supportedPaymentChains","nameLocation":"1577:22:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_uint64_$","typeString":"mapping(uint64 => uint64)"},"typeName":{"id":527,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":525,"name":"uint64","nodeType":"ElementaryTypeName","src":"1552:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Mapping","src":"1544:25:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_uint64_$","typeString":"mapping(uint64 => uint64)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":526,"name":"uint64","nodeType":"ElementaryTypeName","src":"1562:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}},"visibility":"public"},{"id":534,"nodeType":"VariableDeclaration","src":"1605:73:1","nodes":[],"constant":false,"functionSelector":"0d50cac7","mutability":"mutable","name":"supportedPaymentTokens","nameLocation":"1656:22:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint64 => mapping(address => bool))"},"typeName":{"id":533,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":529,"name":"uint64","nodeType":"ElementaryTypeName","src":"1613:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Mapping","src":"1605:43:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint64 => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":532,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":530,"name":"address","nodeType":"ElementaryTypeName","src":"1631:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1623:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":531,"name":"bool","nodeType":"ElementaryTypeName","src":"1642:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":536,"nodeType":"VariableDeclaration","src":"1684:23:1","nodes":[],"constant":false,"functionSelector":"2b7ac3f3","mutability":"mutable","name":"verifier","nameLocation":"1699:8:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":535,"name":"address","nodeType":"ElementaryTypeName","src":"1684:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":538,"nodeType":"VariableDeclaration","src":"1713:30:1","nodes":[],"constant":false,"functionSelector":"b4be820d","mutability":"mutable","name":"saleCreationPaused","nameLocation":"1725:18:1","scope":1226,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":537,"name":"bool","nodeType":"ElementaryTypeName","src":"1713:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":540,"nodeType":"ErrorDefinition","src":"1750:21:1","nodes":[],"errorSelector":"b1df0e06","name":"InvalidBuyer","nameLocation":"1756:12:1","parameters":{"id":539,"nodeType":"ParameterList","parameters":[],"src":"1768:2:1"}},{"id":542,"nodeType":"ErrorDefinition","src":"1776:21:1","nodes":[],"errorSelector":"c891add2","name":"InvalidAsset","nameLocation":"1782:12:1","parameters":{"id":541,"nodeType":"ParameterList","parameters":[],"src":"1794:2:1"}},{"id":544,"nodeType":"ErrorDefinition","src":"1802:29:1","nodes":[],"errorSelector":"fc512fde","name":"InvalidPaymentAmount","nameLocation":"1808:20:1","parameters":{"id":543,"nodeType":"ParameterList","parameters":[],"src":"1828:2:1"}},{"id":546,"nodeType":"ErrorDefinition","src":"1836:29:1","nodes":[],"errorSelector":"777764ce","name":"InvalidPaymentWindow","nameLocation":"1842:20:1","parameters":{"id":545,"nodeType":"ParameterList","parameters":[],"src":"1862:2:1"}},{"id":548,"nodeType":"ErrorDefinition","src":"1870:32:1","nodes":[],"errorSelector":"c37ec9e4","name":"UnsupportedPaymentChain","nameLocation":"1876:23:1","parameters":{"id":547,"nodeType":"ParameterList","parameters":[],"src":"1899:2:1"}},{"id":550,"nodeType":"ErrorDefinition","src":"1907:32:1","nodes":[],"errorSelector":"a29cc069","name":"UnsupportedPaymentToken","nameLocation":"1913:23:1","parameters":{"id":549,"nodeType":"ParameterList","parameters":[],"src":"1936:2:1"}},{"id":552,"nodeType":"ErrorDefinition","src":"1944:30:1","nodes":[],"errorSelector":"6431711d","name":"DuplicatePaymentTuple","nameLocation":"1950:21:1","parameters":{"id":551,"nodeType":"ParameterList","parameters":[],"src":"1971:2:1"}},{"id":554,"nodeType":"ErrorDefinition","src":"1979:20:1","nodes":[],"errorSelector":"445dce4c","name":"SaleNotOpen","nameLocation":"1985:11:1","parameters":{"id":553,"nodeType":"ParameterList","parameters":[],"src":"1996:2:1"}},{"id":556,"nodeType":"ErrorDefinition","src":"2004:29:1","nodes":[],"errorSelector":"6f0555cd","name":"PaymentOutsideWindow","nameLocation":"2010:20:1","parameters":{"id":555,"nodeType":"ParameterList","parameters":[],"src":"2030:2:1"}},{"id":558,"nodeType":"ErrorDefinition","src":"2038:29:1","nodes":[],"errorSelector":"b9857aa1","name":"UnauthorizedVerifier","nameLocation":"2044:20:1","parameters":{"id":557,"nodeType":"ParameterList","parameters":[],"src":"2064:2:1"}},{"id":560,"nodeType":"ErrorDefinition","src":"2072:28:1","nodes":[],"errorSelector":"61ffa29b","name":"ReclaimNotAvailable","nameLocation":"2078:19:1","parameters":{"id":559,"nodeType":"ParameterList","parameters":[],"src":"2097:2:1"}},{"id":562,"nodeType":"ErrorDefinition","src":"2105:23:1","nodes":[],"errorSelector":"49677ae4","name":"CreationPaused","nameLocation":"2111:14:1","parameters":{"id":561,"nodeType":"ParameterList","parameters":[],"src":"2125:2:1"}},{"id":564,"nodeType":"ErrorDefinition","src":"2133:27:1","nodes":[],"errorSelector":"8952a343","name":"VerifierAlreadySet","nameLocation":"2139:18:1","parameters":{"id":563,"nodeType":"ParameterList","parameters":[],"src":"2157:2:1"}},{"id":574,"nodeType":"EventDefinition","src":"2166:111:1","nodes":[],"anonymous":false,"eventSelector":"43690c42ec40d5c870be22abe097810d53e85606d74ee37c1e88597e786822b0","name":"SaleCreated","nameLocation":"2172:11:1","parameters":{"id":573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":566,"indexed":true,"mutability":"mutable","name":"saleId","nameLocation":"2200:6:1","nodeType":"VariableDeclaration","scope":574,"src":"2184:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2184:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":568,"indexed":true,"mutability":"mutable","name":"seller","nameLocation":"2224:6:1","nodeType":"VariableDeclaration","scope":574,"src":"2208:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":567,"name":"address","nodeType":"ElementaryTypeName","src":"2208:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":570,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"2248:5:1","nodeType":"VariableDeclaration","scope":574,"src":"2232:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":569,"name":"address","nodeType":"ElementaryTypeName","src":"2232:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":572,"indexed":false,"mutability":"mutable","name":"paymentTuple","nameLocation":"2263:12:1","nodeType":"VariableDeclaration","scope":574,"src":"2255:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":571,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2255:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2183:93:1"}},{"id":584,"nodeType":"EventDefinition","src":"2282:100:1","nodes":[],"anonymous":false,"eventSelector":"e93c5e260ee17572a3b240d4b600cc7aa76ef846972cb66c21779dd132b07ee8","name":"AssetEscrowed","nameLocation":"2288:13:1","parameters":{"id":583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":576,"indexed":true,"mutability":"mutable","name":"saleId","nameLocation":"2318:6:1","nodeType":"VariableDeclaration","scope":584,"src":"2302:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2302:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":578,"indexed":true,"mutability":"mutable","name":"asset","nameLocation":"2342:5:1","nodeType":"VariableDeclaration","scope":584,"src":"2326:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":577,"name":"address","nodeType":"ElementaryTypeName","src":"2326:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":580,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2357:7:1","nodeType":"VariableDeclaration","scope":584,"src":"2349:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":579,"name":"uint256","nodeType":"ElementaryTypeName","src":"2349:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":582,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2374:6:1","nodeType":"VariableDeclaration","scope":584,"src":"2366:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":581,"name":"uint256","nodeType":"ElementaryTypeName","src":"2366:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:80:1"}},{"id":596,"nodeType":"EventDefinition","src":"2387:140:1","nodes":[],"anonymous":false,"eventSelector":"ae4ef1cb8f478db0fe125c7e8e7216ffebee04af8556f7012a65d4984e966cbd","name":"SaleSettled","nameLocation":"2393:11:1","parameters":{"id":595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":586,"indexed":true,"mutability":"mutable","name":"saleId","nameLocation":"2430:6:1","nodeType":"VariableDeclaration","scope":596,"src":"2414:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2414:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":588,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"2454:5:1","nodeType":"VariableDeclaration","scope":596,"src":"2438:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":587,"name":"address","nodeType":"ElementaryTypeName","src":"2438:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":590,"indexed":true,"mutability":"mutable","name":"seller","nameLocation":"2477:6:1","nodeType":"VariableDeclaration","scope":596,"src":"2461:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":589,"name":"address","nodeType":"ElementaryTypeName","src":"2461:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":592,"indexed":false,"mutability":"mutable","name":"queryId","nameLocation":"2493:7:1","nodeType":"VariableDeclaration","scope":596,"src":"2485:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2485:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":594,"indexed":false,"mutability":"mutable","name":"sourceBlock","nameLocation":"2509:11:1","nodeType":"VariableDeclaration","scope":596,"src":"2502:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":593,"name":"uint64","nodeType":"ElementaryTypeName","src":"2502:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"2404:122:1"}},{"id":608,"nodeType":"EventDefinition","src":"2532:139:1","nodes":[],"anonymous":false,"eventSelector":"3de816cde0c8fa547cc3160fb8378c3c73566082a9488a973f8bdcfb2049a289","name":"AssetReclaimed","nameLocation":"2538:14:1","parameters":{"id":607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":598,"indexed":true,"mutability":"mutable","name":"saleId","nameLocation":"2578:6:1","nodeType":"VariableDeclaration","scope":608,"src":"2562:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":597,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2562:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":600,"indexed":true,"mutability":"mutable","name":"seller","nameLocation":"2602:6:1","nodeType":"VariableDeclaration","scope":608,"src":"2586:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":599,"name":"address","nodeType":"ElementaryTypeName","src":"2586:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":602,"indexed":true,"mutability":"mutable","name":"asset","nameLocation":"2626:5:1","nodeType":"VariableDeclaration","scope":608,"src":"2610:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":601,"name":"address","nodeType":"ElementaryTypeName","src":"2610:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":604,"indexed":false,"mutability":"mutable","name":"tokenId","nameLocation":"2641:7:1","nodeType":"VariableDeclaration","scope":608,"src":"2633:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":603,"name":"uint256","nodeType":"ElementaryTypeName","src":"2633:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":606,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2658:6:1","nodeType":"VariableDeclaration","scope":608,"src":"2650:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":605,"name":"uint256","nodeType":"ElementaryTypeName","src":"2650:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2552:118:1"}},{"id":612,"nodeType":"EventDefinition","src":"2676:51:1","nodes":[],"anonymous":false,"eventSelector":"dc93b4a231bff70939565d6b7e78c0315376cb11a81f453119ec96ed25a03a2f","name":"VerifierConfigured","nameLocation":"2682:18:1","parameters":{"id":611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":610,"indexed":true,"mutability":"mutable","name":"verifier","nameLocation":"2717:8:1","nodeType":"VariableDeclaration","scope":612,"src":"2701:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":609,"name":"address","nodeType":"ElementaryTypeName","src":"2701:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2700:26:1"}},{"id":616,"nodeType":"EventDefinition","src":"2732:38:1","nodes":[],"anonymous":false,"eventSelector":"15ef406923b58d7355593565d8ec9fa1a3dbca440cefeef25893ff24e275e7e9","name":"SaleCreationPaused","nameLocation":"2738:18:1","parameters":{"id":615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":614,"indexed":false,"mutability":"mutable","name":"paused","nameLocation":"2762:6:1","nodeType":"VariableDeclaration","scope":616,"src":"2757:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":613,"name":"bool","nodeType":"ElementaryTypeName","src":"2757:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2756:13:1"}},{"id":632,"nodeType":"FunctionDefinition","src":"2776:121:1","nodes":[],"body":{"id":631,"nodeType":"Block","src":"2803:94:1","nodes":[],"statements":[{"expression":{"arguments":[{"id":622,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3742,"src":"2824:18:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":623,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"2844:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":621,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"2813:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2813:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":625,"nodeType":"ExpressionStatement","src":"2813:37:1"},{"expression":{"arguments":[{"id":627,"name":"CONFIG_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"2871:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":628,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"2884:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":626,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"2860:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2860:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":630,"nodeType":"ExpressionStatement","src":"2860:30:1"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":618,"mutability":"mutable","name":"admin","nameLocation":"2796:5:1","nodeType":"VariableDeclaration","scope":632,"src":"2788:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":617,"name":"address","nodeType":"ElementaryTypeName","src":"2788:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2787:15:1"},"returnParameters":{"id":620,"nodeType":"ParameterList","parameters":[],"src":"2803:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":669,"nodeType":"FunctionDefinition","src":"2903:316:1","nodes":[],"body":{"id":668,"nodeType":"Block","src":"2987:232:1","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":640,"name":"verifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"3001:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3021:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3013:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":641,"name":"address","nodeType":"ElementaryTypeName","src":"3013:7:1","typeDescriptions":{}}},"id":644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3013:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3001:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"nodeType":"IfStatement","src":"2997:55:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":646,"name":"VerifierAlreadySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":564,"src":"3032:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3032:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":648,"nodeType":"RevertStatement","src":"3025:27:1"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":650,"name":"paymentVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":634,"src":"3066:15:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3093:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3085:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":651,"name":"address","nodeType":"ElementaryTypeName","src":"3085:7:1","typeDescriptions":{}}},"id":654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3085:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3066:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":659,"nodeType":"IfStatement","src":"3062:64:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":656,"name":"UnauthorizedVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"3104:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":658,"nodeType":"RevertStatement","src":"3097:29:1"}},{"expression":{"id":662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":660,"name":"verifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"3136:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":661,"name":"paymentVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":634,"src":"3147:15:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3136:26:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":663,"nodeType":"ExpressionStatement","src":"3136:26:1"},{"eventCall":{"arguments":[{"id":665,"name":"paymentVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":634,"src":"3196:15:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":664,"name":"VerifierConfigured","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":612,"src":"3177:18:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3177:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":667,"nodeType":"EmitStatement","src":"3172:40:1"}]},"functionSelector":"5437988d","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":637,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3742,"src":"2967:18:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":638,"kind":"modifierInvocation","modifierName":{"id":636,"name":"onlyRole","nameLocations":["2958:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":3753,"src":"2958:8:1"},"nodeType":"ModifierInvocation","src":"2958:28:1"}],"name":"setVerifier","nameLocation":"2912:11:1","parameters":{"id":635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":634,"mutability":"mutable","name":"paymentVerifier","nameLocation":"2932:15:1","nodeType":"VariableDeclaration","scope":669,"src":"2924:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":633,"name":"address","nodeType":"ElementaryTypeName","src":"2924:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2923:25:1"},"returnParameters":{"id":639,"nodeType":"ParameterList","parameters":[],"src":"2987:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":686,"nodeType":"FunctionDefinition","src":"3225:132:1","nodes":[],"body":{"id":685,"nodeType":"Block","src":"3309:48:1","nodes":[],"statements":[{"expression":{"id":683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":679,"name":"approvedAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"3319:14:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":681,"indexExpression":{"id":680,"name":"asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":671,"src":"3334:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3319:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":682,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":673,"src":"3343:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3319:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":684,"nodeType":"ExpressionStatement","src":"3319:31:1"}]},"functionSelector":"d244a091","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":676,"name":"CONFIG_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"3296:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":677,"kind":"modifierInvocation","modifierName":{"id":675,"name":"onlyRole","nameLocations":["3287:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":3753,"src":"3287:8:1"},"nodeType":"ModifierInvocation","src":"3287:21:1"}],"name":"configureAsset","nameLocation":"3234:14:1","parameters":{"id":674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":671,"mutability":"mutable","name":"asset","nameLocation":"3257:5:1","nodeType":"VariableDeclaration","scope":686,"src":"3249:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":670,"name":"address","nodeType":"ElementaryTypeName","src":"3249:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":673,"mutability":"mutable","name":"allowed","nameLocation":"3269:7:1","nodeType":"VariableDeclaration","scope":686,"src":"3264:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":672,"name":"bool","nodeType":"ElementaryTypeName","src":"3264:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3248:29:1"},"returnParameters":{"id":678,"nodeType":"ParameterList","parameters":[],"src":"3309:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":715,"nodeType":"FunctionDefinition","src":"3363:263:1","nodes":[],"body":{"id":714,"nodeType":"Block","src":"3508:118:1","nodes":[],"statements":[{"expression":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":700,"name":"supportedPaymentChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"3518:22:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_uint64_$","typeString":"mapping(uint64 => uint64)"}},"id":702,"indexExpression":{"id":701,"name":"chainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":688,"src":"3541:8:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3518:32:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":703,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":690,"src":"3553:7:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"3518:42:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":705,"nodeType":"ExpressionStatement","src":"3518:42:1"},{"expression":{"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":706,"name":"supportedPaymentTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"3570:22:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint64 => mapping(address => bool))"}},"id":709,"indexExpression":{"id":707,"name":"chainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":688,"src":"3593:8:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3570:32:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":710,"indexExpression":{"id":708,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":692,"src":"3603:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3570:39:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":711,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":694,"src":"3612:7:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3570:49:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":713,"nodeType":"ExpressionStatement","src":"3570:49:1"}]},"functionSelector":"4a7f785f","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":697,"name":"CONFIG_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"3491:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":698,"kind":"modifierInvocation","modifierName":{"id":696,"name":"onlyRole","nameLocations":["3482:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":3753,"src":"3482:8:1"},"nodeType":"ModifierInvocation","src":"3482:21:1"}],"name":"configurePaymentSource","nameLocation":"3372:22:1","parameters":{"id":695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":688,"mutability":"mutable","name":"chainKey","nameLocation":"3402:8:1","nodeType":"VariableDeclaration","scope":715,"src":"3395:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":687,"name":"uint64","nodeType":"ElementaryTypeName","src":"3395:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":690,"mutability":"mutable","name":"chainId","nameLocation":"3419:7:1","nodeType":"VariableDeclaration","scope":715,"src":"3412:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":689,"name":"uint64","nodeType":"ElementaryTypeName","src":"3412:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":692,"mutability":"mutable","name":"token","nameLocation":"3436:5:1","nodeType":"VariableDeclaration","scope":715,"src":"3428:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":691,"name":"address","nodeType":"ElementaryTypeName","src":"3428:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":694,"mutability":"mutable","name":"allowed","nameLocation":"3448:7:1","nodeType":"VariableDeclaration","scope":715,"src":"3443:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":693,"name":"bool","nodeType":"ElementaryTypeName","src":"3443:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3394:62:1"},"returnParameters":{"id":699,"nodeType":"ParameterList","parameters":[],"src":"3508:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":732,"nodeType":"FunctionDefinition","src":"3632:156:1","nodes":[],"body":{"id":731,"nodeType":"Block","src":"3703:85:1","nodes":[],"statements":[{"expression":{"id":725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":723,"name":"saleCreationPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"3713:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":724,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":717,"src":"3734:6:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3713:27:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":726,"nodeType":"ExpressionStatement","src":"3713:27:1"},{"eventCall":{"arguments":[{"id":728,"name":"paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":717,"src":"3774:6:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":727,"name":"SaleCreationPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":616,"src":"3755:18:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3755:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":730,"nodeType":"EmitStatement","src":"3750:31:1"}]},"functionSelector":"f7ed7ed9","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":720,"name":"CONFIG_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"3690:11:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":721,"kind":"modifierInvocation","modifierName":{"id":719,"name":"onlyRole","nameLocations":["3681:8:1"],"nodeType":"IdentifierPath","referencedDeclaration":3753,"src":"3681:8:1"},"nodeType":"ModifierInvocation","src":"3681:21:1"}],"name":"pauseSaleCreation","nameLocation":"3641:17:1","parameters":{"id":718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":717,"mutability":"mutable","name":"paused","nameLocation":"3664:6:1","nodeType":"VariableDeclaration","scope":732,"src":"3659:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":716,"name":"bool","nodeType":"ElementaryTypeName","src":"3659:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3658:13:1"},"returnParameters":{"id":722,"nodeType":"ParameterList","parameters":[],"src":"3703:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":958,"nodeType":"FunctionDefinition","src":"3794:2260:1","nodes":[],"body":{"id":957,"nodeType":"Block","src":"4197:1857:1","nodes":[],"statements":[{"condition":{"id":761,"name":"saleCreationPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"4211:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":765,"nodeType":"IfStatement","src":"4207:47:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":762,"name":"CreationPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"4238:14:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4238:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":764,"nodeType":"RevertStatement","src":"4231:23:1"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":766,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":734,"src":"4268:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4285:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4277:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":767,"name":"address","nodeType":"ElementaryTypeName","src":"4277:7:1","typeDescriptions":{}}},"id":770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4277:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4268:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":775,"nodeType":"IfStatement","src":"4264:46:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":772,"name":"InvalidBuyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":540,"src":"4296:12:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":774,"nodeType":"RevertStatement","src":"4289:21:1"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4324:30:1","subExpression":{"baseExpression":{"id":776,"name":"approvedAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"4325:14:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":778,"indexExpression":{"id":777,"name":"assetContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"4340:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4325:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":780,"name":"assetAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"4358:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4373:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4358:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4324:50:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":787,"nodeType":"IfStatement","src":"4320:77:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":784,"name":"InvalidAsset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":542,"src":"4383:12:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4383:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":786,"nodeType":"RevertStatement","src":"4376:21:1"}},{"condition":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":788,"name":"supportedPaymentChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"4411:22:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_uint64_$","typeString":"mapping(uint64 => uint64)"}},"id":790,"indexExpression":{"id":789,"name":"paymentChainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":742,"src":"4434:15:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4411:39:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":791,"name":"paymentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":744,"src":"4454:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4411:57:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":796,"nodeType":"IfStatement","src":"4407:95:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":793,"name":"UnsupportedPaymentChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"4477:23:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":795,"nodeType":"RevertStatement","src":"4470:32:1"}},{"condition":{"id":802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4516:54:1","subExpression":{"baseExpression":{"baseExpression":{"id":797,"name":"supportedPaymentTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":534,"src":"4517:22:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint64_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(uint64 => mapping(address => bool))"}},"id":799,"indexExpression":{"id":798,"name":"paymentChainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":742,"src":"4540:15:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4517:39:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":801,"indexExpression":{"id":800,"name":"paymentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"4557:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4517:53:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":806,"nodeType":"IfStatement","src":"4512:92:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":803,"name":"UnsupportedPaymentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":550,"src":"4579:23:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4579:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":805,"nodeType":"RevertStatement","src":"4572:32:1"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":807,"name":"paymentRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"4618:16:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4646:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4638:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":808,"name":"address","nodeType":"ElementaryTypeName","src":"4638:7:1","typeDescriptions":{}}},"id":811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4618:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":813,"name":"paymentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"4652:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4669:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4652:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4618:52:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":820,"nodeType":"IfStatement","src":"4614:87:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":817,"name":"InvalidPaymentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":544,"src":"4679:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":819,"nodeType":"RevertStatement","src":"4672:29:1"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":821,"name":"sourceStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"4728:16:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4748:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4728:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":824,"name":"sourceEndBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"4753:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":825,"name":"sourceStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"4771:16:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4753:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4728:59:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":828,"name":"sourceEndBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"4807:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":829,"name":"sourceStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"4824:16:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4807:33:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":831,"name":"MAX_WINDOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":466,"src":"4843:10:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"4807:46:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4728:125:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":837,"nodeType":"IfStatement","src":"4711:182:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":834,"name":"InvalidPaymentWindow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"4871:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4871:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":836,"nodeType":"RevertStatement","src":"4864:29:1"}},{"assignments":[839],"declarations":[{"constant":false,"id":839,"mutability":"mutable","name":"tuple","nameLocation":"4911:5:1","nodeType":"VariableDeclaration","scope":957,"src":"4903:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4903:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":847,"initialValue":{"arguments":[{"id":841,"name":"paymentChainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":742,"src":"4932:15:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":842,"name":"paymentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"4949:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":843,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":734,"src":"4963:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":844,"name":"paymentRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"4970:16:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":845,"name":"paymentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"4988:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":840,"name":"paymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"4919:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint64,address,address,address,uint256) pure returns (bytes32)"}},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4919:83:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4903:99:1"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":848,"name":"activeSaleForPaymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"5016:25:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":850,"indexExpression":{"id":849,"name":"tuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"5042:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5016:32:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5060:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5052:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":851,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5052:7:1","typeDescriptions":{}}},"id":854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5052:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5016:46:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":859,"nodeType":"IfStatement","src":"5012:82:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":856,"name":"DuplicatePaymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":552,"src":"5071:21:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":858,"nodeType":"RevertStatement","src":"5064:30:1"}},{"assignments":[861],"declarations":[{"constant":false,"id":861,"mutability":"mutable","name":"nonce","nameLocation":"5112:5:1","nodeType":"VariableDeclaration","scope":957,"src":"5104:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":860,"name":"uint256","nodeType":"ElementaryTypeName","src":"5104:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":867,"initialValue":{"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5120:26:1","subExpression":{"baseExpression":{"id":862,"name":"sellerNonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5120:12:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":865,"indexExpression":{"expression":{"id":863,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5133:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5137:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5133:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5120:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5104:42:1"},{"expression":{"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":868,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":759,"src":"5156:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":872,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5186:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5192:7:1","memberName":"chainid","nodeType":"MemberAccess","src":"5186:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":876,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5209:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}],"id":875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5201:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":874,"name":"address","nodeType":"ElementaryTypeName","src":"5201:7:1","typeDescriptions":{}}},"id":877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5201:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":878,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5216:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5220:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5216:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":880,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"5228:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":870,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5175:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5179:6:1","memberName":"encode","nodeType":"MemberAccess","src":"5175:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5175:59:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":869,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5165:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5165:70:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5156:79:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":884,"nodeType":"ExpressionStatement","src":"5156:79:1"},{"expression":{"id":919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":885,"name":"_sales","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"5245:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale storage ref)"}},"id":887,"indexExpression":{"id":886,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":759,"src":"5252:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5245:14:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage","typeString":"struct SettleRWA.Sale storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":889,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5280:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5284:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5280:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":891,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":734,"src":"5304:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":892,"name":"assetContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"5323:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"5350:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":894,"name":"assetAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"5371:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":895,"name":"paymentChainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":742,"src":"5396:15:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":896,"name":"paymentChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":744,"src":"5425:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":897,"name":"paymentToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"5453:12:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":898,"name":"paymentRecipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"5479:16:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":899,"name":"paymentAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"5509:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":900,"name":"sourceStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"5536:16:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":901,"name":"sourceEndBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"5566:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":904,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5601:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5607:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"5601:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5594:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":902,"name":"uint64","nodeType":"ElementaryTypeName","src":"5594:6:1","typeDescriptions":{}}},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5594:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":907,"name":"MIN_RECLAIM_DELAY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":469,"src":"5620:17:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5594:43:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":909,"name":"sourceEndBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"5641:14:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":910,"name":"sourceStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"5658:16:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5641:33:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"id":912,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5640:35:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":913,"name":"ESTIMATED_SOURCE_BLOCK_TIME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":472,"src":"5694:27:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5640:81:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"5594:127:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":916,"name":"SaleStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"5735:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SaleStatus_$477_$","typeString":"type(enum SettleRWA.SaleStatus)"}},"id":917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5746:4:1","memberName":"OPEN","nodeType":"MemberAccess","referencedDeclaration":474,"src":"5735:15:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}],"id":888,"name":"Sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":507,"src":"5262:4:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Sale_$507_storage_ptr_$","typeString":"type(struct SettleRWA.Sale storage pointer)"}},"id":918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5262:498:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_memory_ptr","typeString":"struct SettleRWA.Sale memory"}},"src":"5245:515:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage","typeString":"struct SettleRWA.Sale storage ref"}},"id":920,"nodeType":"ExpressionStatement","src":"5245:515:1"},{"expression":{"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":921,"name":"activeSaleForPaymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"5770:25:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":923,"indexExpression":{"id":922,"name":"tuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"5796:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5770:32:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":924,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":759,"src":"5805:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5770:41:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":926,"nodeType":"ExpressionStatement","src":"5770:41:1"},{"expression":{"arguments":[{"expression":{"id":931,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5862:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5866:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5862:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":935,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5882:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}],"id":934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5874:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":933,"name":"address","nodeType":"ElementaryTypeName","src":"5874:7:1","typeDescriptions":{}}},"id":936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5874:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":937,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"5889:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":938,"name":"assetAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"5898:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5911:2:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":928,"name":"assetContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"5830:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":927,"name":"IERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"5821:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155_$5268_$","typeString":"type(contract IERC1155)"}},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5821:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1155_$5268","typeString":"contract IERC1155"}},"id":930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5845:16:1","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":5251,"src":"5821:40:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,uint256,bytes memory) external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5821:93:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":941,"nodeType":"ExpressionStatement","src":"5821:93:1"},{"eventCall":{"arguments":[{"id":943,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":759,"src":"5941:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":944,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5949:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5953:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5949:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":946,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":734,"src":"5961:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":947,"name":"tuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"5968:5:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":942,"name":"SaleCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":574,"src":"5929:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$returns$__$","typeString":"function (bytes32,address,address,bytes32)"}},"id":948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5929:45:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":949,"nodeType":"EmitStatement","src":"5924:50:1"},{"eventCall":{"arguments":[{"id":951,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":759,"src":"6003:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":952,"name":"assetContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"6011:13:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":953,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"6026:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":954,"name":"assetAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"6035:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":950,"name":"AssetEscrowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":584,"src":"5989:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,uint256,uint256)"}},"id":955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5989:58:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":956,"nodeType":"EmitStatement","src":"5984:63:1"}]},"functionSelector":"e204c86c","implemented":true,"kind":"function","modifiers":[{"id":757,"kind":"modifierInvocation","modifierName":{"id":756,"name":"nonReentrant","nameLocations":["4159:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":6686,"src":"4159:12:1"},"nodeType":"ModifierInvocation","src":"4159:12:1"}],"name":"createSale","nameLocation":"3803:10:1","parameters":{"id":755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":734,"mutability":"mutable","name":"buyer","nameLocation":"3831:5:1","nodeType":"VariableDeclaration","scope":958,"src":"3823:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":733,"name":"address","nodeType":"ElementaryTypeName","src":"3823:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":736,"mutability":"mutable","name":"assetContract","nameLocation":"3854:13:1","nodeType":"VariableDeclaration","scope":958,"src":"3846:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":735,"name":"address","nodeType":"ElementaryTypeName","src":"3846:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":738,"mutability":"mutable","name":"tokenId","nameLocation":"3885:7:1","nodeType":"VariableDeclaration","scope":958,"src":"3877:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":737,"name":"uint256","nodeType":"ElementaryTypeName","src":"3877:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":740,"mutability":"mutable","name":"assetAmount","nameLocation":"3910:11:1","nodeType":"VariableDeclaration","scope":958,"src":"3902:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":739,"name":"uint256","nodeType":"ElementaryTypeName","src":"3902:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":742,"mutability":"mutable","name":"paymentChainKey","nameLocation":"3938:15:1","nodeType":"VariableDeclaration","scope":958,"src":"3931:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":741,"name":"uint64","nodeType":"ElementaryTypeName","src":"3931:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":744,"mutability":"mutable","name":"paymentChainId","nameLocation":"3970:14:1","nodeType":"VariableDeclaration","scope":958,"src":"3963:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":743,"name":"uint64","nodeType":"ElementaryTypeName","src":"3963:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":746,"mutability":"mutable","name":"paymentToken","nameLocation":"4002:12:1","nodeType":"VariableDeclaration","scope":958,"src":"3994:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":745,"name":"address","nodeType":"ElementaryTypeName","src":"3994:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":748,"mutability":"mutable","name":"paymentRecipient","nameLocation":"4032:16:1","nodeType":"VariableDeclaration","scope":958,"src":"4024:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":747,"name":"address","nodeType":"ElementaryTypeName","src":"4024:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":750,"mutability":"mutable","name":"paymentAmount","nameLocation":"4066:13:1","nodeType":"VariableDeclaration","scope":958,"src":"4058:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":749,"name":"uint256","nodeType":"ElementaryTypeName","src":"4058:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":752,"mutability":"mutable","name":"sourceStartBlock","nameLocation":"4096:16:1","nodeType":"VariableDeclaration","scope":958,"src":"4089:23:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":751,"name":"uint64","nodeType":"ElementaryTypeName","src":"4089:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":754,"mutability":"mutable","name":"sourceEndBlock","nameLocation":"4129:14:1","nodeType":"VariableDeclaration","scope":958,"src":"4122:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":753,"name":"uint64","nodeType":"ElementaryTypeName","src":"4122:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"3813:336:1"},"returnParameters":{"id":760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":759,"mutability":"mutable","name":"saleId","nameLocation":"4189:6:1","nodeType":"VariableDeclaration","scope":958,"src":"4181:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4181:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4180:16:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1057,"nodeType":"FunctionDefinition","src":"6060:764:1","nodes":[],"body":{"id":1056,"nodeType":"Block","src":"6170:654:1","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":969,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6184:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6188:6:1","memberName":"sender","nodeType":"MemberAccess","src":"6184:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":971,"name":"verifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":536,"src":"6198:8:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6184:22:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":976,"nodeType":"IfStatement","src":"6180:57:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":973,"name":"UnauthorizedVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"6215:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6215:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":975,"nodeType":"RevertStatement","src":"6208:29:1"}},{"assignments":[979],"declarations":[{"constant":false,"id":979,"mutability":"mutable","name":"sale","nameLocation":"6260:4:1","nodeType":"VariableDeclaration","scope":1056,"src":"6247:17:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"},"typeName":{"id":978,"nodeType":"UserDefinedTypeName","pathNode":{"id":977,"name":"Sale","nameLocations":["6247:4:1"],"nodeType":"IdentifierPath","referencedDeclaration":507,"src":"6247:4:1"},"referencedDeclaration":507,"src":"6247:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"}},"visibility":"internal"}],"id":983,"initialValue":{"baseExpression":{"id":980,"name":"_sales","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"6267:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale storage ref)"}},"id":982,"indexExpression":{"id":981,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"6274:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6267:14:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage","typeString":"struct SettleRWA.Sale storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6247:34:1"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"},"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":984,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6295:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6300:6:1","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":506,"src":"6295:11:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":986,"name":"SaleStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"6310:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SaleStatus_$477_$","typeString":"type(enum SettleRWA.SaleStatus)"}},"id":987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6321:4:1","memberName":"OPEN","nodeType":"MemberAccess","referencedDeclaration":474,"src":"6310:15:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"src":"6295:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":992,"nodeType":"IfStatement","src":"6291:56:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":989,"name":"SaleNotOpen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"6334:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":991,"nodeType":"RevertStatement","src":"6327:20:1"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":993,"name":"sourceBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"6361:11:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":994,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6375:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":995,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6380:16:1","memberName":"sourceStartBlock","nodeType":"MemberAccess","referencedDeclaration":499,"src":"6375:21:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6361:35:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":997,"name":"sourceBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"6400:11:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":998,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6414:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6419:14:1","memberName":"sourceEndBlock","nodeType":"MemberAccess","referencedDeclaration":501,"src":"6414:19:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"6400:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6361:72:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1002,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"6437:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6456:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6448:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6448:7:1","typeDescriptions":{}}},"id":1006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6448:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6437:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6361:97:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1013,"nodeType":"IfStatement","src":"6357:157:1","trueBody":{"id":1012,"nodeType":"Block","src":"6460:54:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1009,"name":"PaymentOutsideWindow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":556,"src":"6481:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6481:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1011,"nodeType":"RevertStatement","src":"6474:29:1"}]}},{"expression":{"id":1019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1014,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6523:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6528:6:1","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":506,"src":"6523:11:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1017,"name":"SaleStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"6537:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SaleStatus_$477_$","typeString":"type(enum SettleRWA.SaleStatus)"}},"id":1018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6548:7:1","memberName":"SETTLED","nodeType":"MemberAccess","referencedDeclaration":475,"src":"6537:18:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"src":"6523:32:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"id":1020,"nodeType":"ExpressionStatement","src":"6523:32:1"},{"expression":{"id":1026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6565:53:1","subExpression":{"baseExpression":{"id":1021,"name":"activeSaleForPaymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"6572:25:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":1025,"indexExpression":{"arguments":[{"id":1023,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6612:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}],"id":1022,"name":"_paymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1202,"src":"6598:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Sale_$507_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct SettleRWA.Sale storage pointer) view returns (bytes32)"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6598:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6572:46:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1027,"nodeType":"ExpressionStatement","src":"6565:53:1"},{"expression":{"arguments":[{"arguments":[{"id":1035,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6682:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}],"id":1034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6674:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1033,"name":"address","nodeType":"ElementaryTypeName","src":"6674:7:1","typeDescriptions":{}}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6674:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1037,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6689:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6694:5:1","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":481,"src":"6689:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1039,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6701:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6706:7:1","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":485,"src":"6701:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1041,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6715:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6720:11:1","memberName":"assetAmount","nodeType":"MemberAccess","referencedDeclaration":487,"src":"6715:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":1043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6733:2:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":1029,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6637:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6642:13:1","memberName":"assetContract","nodeType":"MemberAccess","referencedDeclaration":483,"src":"6637:18:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1028,"name":"IERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"6628:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155_$5268_$","typeString":"type(contract IERC1155)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6628:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1155_$5268","typeString":"contract IERC1155"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6657:16:1","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":5251,"src":"6628:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,uint256,bytes memory) external"}},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6628:108:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1045,"nodeType":"ExpressionStatement","src":"6628:108:1"},{"eventCall":{"arguments":[{"id":1047,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"6763:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1048,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6771:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6776:5:1","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":481,"src":"6771:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1050,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"6783:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6788:6:1","memberName":"seller","nodeType":"MemberAccess","referencedDeclaration":479,"src":"6783:11:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1052,"name":"queryId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"6796:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1053,"name":"sourceBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"6805:11:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":1046,"name":"SaleSettled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":596,"src":"6751:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint64_$returns$__$","typeString":"function (bytes32,address,address,bytes32,uint64)"}},"id":1054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6751:66:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1055,"nodeType":"EmitStatement","src":"6746:71:1"}]},"functionSelector":"2de7c78f","implemented":true,"kind":"function","modifiers":[{"id":967,"kind":"modifierInvocation","modifierName":{"id":966,"name":"nonReentrant","nameLocations":["6157:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":6686,"src":"6157:12:1"},"nodeType":"ModifierInvocation","src":"6157:12:1"}],"name":"settleFromVerifiedPayment","nameLocation":"6069:25:1","parameters":{"id":965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":960,"mutability":"mutable","name":"saleId","nameLocation":"6103:6:1","nodeType":"VariableDeclaration","scope":1057,"src":"6095:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6095:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":962,"mutability":"mutable","name":"queryId","nameLocation":"6119:7:1","nodeType":"VariableDeclaration","scope":1057,"src":"6111:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":961,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6111:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":964,"mutability":"mutable","name":"sourceBlock","nameLocation":"6135:11:1","nodeType":"VariableDeclaration","scope":1057,"src":"6128:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":963,"name":"uint64","nodeType":"ElementaryTypeName","src":"6128:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"6094:53:1"},"returnParameters":{"id":968,"nodeType":"ParameterList","parameters":[],"src":"6170:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1140,"nodeType":"FunctionDefinition","src":"6830:608:1","nodes":[],"body":{"id":1139,"nodeType":"Block","src":"6885:553:1","nodes":[],"statements":[{"assignments":[1066],"declarations":[{"constant":false,"id":1066,"mutability":"mutable","name":"sale","nameLocation":"6908:4:1","nodeType":"VariableDeclaration","scope":1139,"src":"6895:17:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"},"typeName":{"id":1065,"nodeType":"UserDefinedTypeName","pathNode":{"id":1064,"name":"Sale","nameLocations":["6895:4:1"],"nodeType":"IdentifierPath","referencedDeclaration":507,"src":"6895:4:1"},"referencedDeclaration":507,"src":"6895:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"}},"visibility":"internal"}],"id":1070,"initialValue":{"baseExpression":{"id":1067,"name":"_sales","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"6915:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale storage ref)"}},"id":1069,"indexExpression":{"id":1068,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1059,"src":"6922:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6915:14:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage","typeString":"struct SettleRWA.Sale storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6895:34:1"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1071,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"6943:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6948:6:1","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":506,"src":"6943:11:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1073,"name":"SaleStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"6958:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SaleStatus_$477_$","typeString":"type(enum SettleRWA.SaleStatus)"}},"id":1074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6969:4:1","memberName":"OPEN","nodeType":"MemberAccess","referencedDeclaration":474,"src":"6958:15:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"src":"6943:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1079,"nodeType":"IfStatement","src":"6939:56:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1076,"name":"SaleNotOpen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"6982:11:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6982:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1078,"nodeType":"RevertStatement","src":"6975:20:1"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1080,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7009:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7013:6:1","memberName":"sender","nodeType":"MemberAccess","src":"7009:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1082,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7023:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7028:6:1","memberName":"seller","nodeType":"MemberAccess","referencedDeclaration":479,"src":"7023:11:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7009:25:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1085,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7038:5:1","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7044:9:1","memberName":"timestamp","nodeType":"MemberAccess","src":"7038:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1087,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7056:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7061:12:1","memberName":"reclaimAfter","nodeType":"MemberAccess","referencedDeclaration":503,"src":"7056:17:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"7038:35:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7009:64:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1094,"nodeType":"IfStatement","src":"7005:98:1","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1091,"name":"ReclaimNotAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"7082:19:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7082:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1093,"nodeType":"RevertStatement","src":"7075:28:1"}},{"expression":{"id":1100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1095,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7113:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7118:6:1","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":506,"src":"7113:11:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1098,"name":"SaleStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"7127:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SaleStatus_$477_$","typeString":"type(enum SettleRWA.SaleStatus)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7138:9:1","memberName":"RECLAIMED","nodeType":"MemberAccess","referencedDeclaration":476,"src":"7127:20:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"src":"7113:34:1","typeDescriptions":{"typeIdentifier":"t_enum$_SaleStatus_$477","typeString":"enum SettleRWA.SaleStatus"}},"id":1101,"nodeType":"ExpressionStatement","src":"7113:34:1"},{"expression":{"id":1107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"7157:53:1","subExpression":{"baseExpression":{"id":1102,"name":"activeSaleForPaymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"7164:25:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bytes32_$","typeString":"mapping(bytes32 => bytes32)"}},"id":1106,"indexExpression":{"arguments":[{"id":1104,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7204:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}],"id":1103,"name":"_paymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1202,"src":"7190:13:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Sale_$507_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct SettleRWA.Sale storage pointer) view returns (bytes32)"}},"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7190:19:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7164:46:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1108,"nodeType":"ExpressionStatement","src":"7157:53:1"},{"expression":{"arguments":[{"arguments":[{"id":1116,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7274:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SettleRWA_$1226","typeString":"contract SettleRWA"}],"id":1115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7266:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1114,"name":"address","nodeType":"ElementaryTypeName","src":"7266:7:1","typeDescriptions":{}}},"id":1117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7266:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1118,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7281:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7286:6:1","memberName":"seller","nodeType":"MemberAccess","referencedDeclaration":479,"src":"7281:11:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1120,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7294:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7299:7:1","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":485,"src":"7294:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1122,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7308:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7313:11:1","memberName":"assetAmount","nodeType":"MemberAccess","referencedDeclaration":487,"src":"7308:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":1124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7326:2:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":1110,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7229:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7234:13:1","memberName":"assetContract","nodeType":"MemberAccess","referencedDeclaration":483,"src":"7229:18:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1109,"name":"IERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"7220:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155_$5268_$","typeString":"type(contract IERC1155)"}},"id":1112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC1155_$5268","typeString":"contract IERC1155"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7249:16:1","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":5251,"src":"7220:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,uint256,bytes memory) external"}},"id":1125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7220:109:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1126,"nodeType":"ExpressionStatement","src":"7220:109:1"},{"eventCall":{"arguments":[{"id":1128,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1059,"src":"7359:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1129,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7367:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7372:6:1","memberName":"seller","nodeType":"MemberAccess","referencedDeclaration":479,"src":"7367:11:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1131,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7380:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7385:13:1","memberName":"assetContract","nodeType":"MemberAccess","referencedDeclaration":483,"src":"7380:18:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1133,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7400:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7405:7:1","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":485,"src":"7400:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1135,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1066,"src":"7414:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7419:11:1","memberName":"assetAmount","nodeType":"MemberAccess","referencedDeclaration":487,"src":"7414:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1127,"name":"AssetReclaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"7344:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,address,address,uint256,uint256)"}},"id":1137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7344:87:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1138,"nodeType":"EmitStatement","src":"7339:92:1"}]},"functionSelector":"96afb365","implemented":true,"kind":"function","modifiers":[{"id":1062,"kind":"modifierInvocation","modifierName":{"id":1061,"name":"nonReentrant","nameLocations":["6872:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":6686,"src":"6872:12:1"},"nodeType":"ModifierInvocation","src":"6872:12:1"}],"name":"reclaim","nameLocation":"6839:7:1","parameters":{"id":1060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1059,"mutability":"mutable","name":"saleId","nameLocation":"6855:6:1","nodeType":"VariableDeclaration","scope":1140,"src":"6847:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6847:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6846:16:1"},"returnParameters":{"id":1063,"nodeType":"ParameterList","parameters":[],"src":"6885:0:1"},"scope":1226,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1153,"nodeType":"FunctionDefinition","src":"7444:107:1","nodes":[],"body":{"id":1152,"nodeType":"Block","src":"7513:38:1","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1148,"name":"_sales","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":512,"src":"7530:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Sale_$507_storage_$","typeString":"mapping(bytes32 => struct SettleRWA.Sale storage ref)"}},"id":1150,"indexExpression":{"id":1149,"name":"saleId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1142,"src":"7537:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7530:14:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage","typeString":"struct SettleRWA.Sale storage ref"}},"functionReturnParameters":1147,"id":1151,"nodeType":"Return","src":"7523:21:1"}]},"functionSelector":"641cc7d9","implemented":true,"kind":"function","modifiers":[],"name":"getSale","nameLocation":"7453:7:1","parameters":{"id":1143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1142,"mutability":"mutable","name":"saleId","nameLocation":"7469:6:1","nodeType":"VariableDeclaration","scope":1153,"src":"7461:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7461:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7460:16:1"},"returnParameters":{"id":1147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1153,"src":"7500:11:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_memory_ptr","typeString":"struct SettleRWA.Sale"},"typeName":{"id":1145,"nodeType":"UserDefinedTypeName","pathNode":{"id":1144,"name":"Sale","nameLocations":["7500:4:1"],"nodeType":"IdentifierPath","referencedDeclaration":507,"src":"7500:4:1"},"referencedDeclaration":507,"src":"7500:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"}},"visibility":"internal"}],"src":"7499:13:1"},"scope":1226,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1180,"nodeType":"FunctionDefinition","src":"7557:250:1","nodes":[],"body":{"id":1179,"nodeType":"Block","src":"7719:88:1","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":1171,"name":"chainKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1155,"src":"7757:8:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"id":1172,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"7767:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1173,"name":"buyer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"7774:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1174,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1161,"src":"7781:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1175,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"7792:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7746:3:1","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7750:6:1","memberName":"encode","nodeType":"MemberAccess","src":"7746:10:1","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7746:53:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1168,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7736:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7736:64:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1167,"id":1178,"nodeType":"Return","src":"7729:71:1"}]},"functionSelector":"8ddb9c7e","implemented":true,"kind":"function","modifiers":[],"name":"paymentTuple","nameLocation":"7566:12:1","parameters":{"id":1164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1155,"mutability":"mutable","name":"chainKey","nameLocation":"7586:8:1","nodeType":"VariableDeclaration","scope":1180,"src":"7579:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":1154,"name":"uint64","nodeType":"ElementaryTypeName","src":"7579:6:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":1157,"mutability":"mutable","name":"token","nameLocation":"7604:5:1","nodeType":"VariableDeclaration","scope":1180,"src":"7596:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1156,"name":"address","nodeType":"ElementaryTypeName","src":"7596:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"buyer","nameLocation":"7619:5:1","nodeType":"VariableDeclaration","scope":1180,"src":"7611:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"7611:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1161,"mutability":"mutable","name":"recipient","nameLocation":"7634:9:1","nodeType":"VariableDeclaration","scope":1180,"src":"7626:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1160,"name":"address","nodeType":"ElementaryTypeName","src":"7626:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1163,"mutability":"mutable","name":"amount","nameLocation":"7653:6:1","nodeType":"VariableDeclaration","scope":1180,"src":"7645:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint256","nodeType":"ElementaryTypeName","src":"7645:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7578:82:1"},"returnParameters":{"id":1167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1166,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1180,"src":"7706:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7706:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7705:9:1"},"scope":1226,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1202,"nodeType":"FunctionDefinition","src":"7813:217:1","nodes":[],"body":{"id":1201,"nodeType":"Block","src":"7886:144:1","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":1189,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"7928:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1190,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7933:15:1","memberName":"paymentChainKey","nodeType":"MemberAccess","referencedDeclaration":489,"src":"7928:20:1","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},{"expression":{"id":1191,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"7950:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7955:12:1","memberName":"paymentToken","nodeType":"MemberAccess","referencedDeclaration":493,"src":"7950:17:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1193,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"7969:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7974:5:1","memberName":"buyer","nodeType":"MemberAccess","referencedDeclaration":481,"src":"7969:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1195,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"7981:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1196,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7986:16:1","memberName":"paymentRecipient","nodeType":"MemberAccess","referencedDeclaration":495,"src":"7981:21:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1197,"name":"sale","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"8004:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale storage pointer"}},"id":1198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8009:13:1","memberName":"paymentAmount","nodeType":"MemberAccess","referencedDeclaration":497,"src":"8004:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1188,"name":"paymentTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"7915:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint64_$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint64,address,address,address,uint256) pure returns (bytes32)"}},"id":1199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7915:108:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1187,"id":1200,"nodeType":"Return","src":"7896:127:1"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_paymentTuple","nameLocation":"7822:13:1","parameters":{"id":1184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1183,"mutability":"mutable","name":"sale","nameLocation":"7849:4:1","nodeType":"VariableDeclaration","scope":1202,"src":"7836:17:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"},"typeName":{"id":1182,"nodeType":"UserDefinedTypeName","pathNode":{"id":1181,"name":"Sale","nameLocations":["7836:4:1"],"nodeType":"IdentifierPath","referencedDeclaration":507,"src":"7836:4:1"},"referencedDeclaration":507,"src":"7836:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_Sale_$507_storage_ptr","typeString":"struct SettleRWA.Sale"}},"visibility":"internal"}],"src":"7835:19:1"},"returnParameters":{"id":1187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1186,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1202,"src":"7877:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7877:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7876:9:1"},"scope":1226,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":1225,"nodeType":"FunctionDefinition","src":"8036:226:1","nodes":[],"body":{"id":1224,"nodeType":"Block","src":"8149:113:1","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1212,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1204,"src":"8166:11:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":1214,"name":"IERC1155Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5310,"src":"8186:16:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5310_$","typeString":"type(contract IERC1155Receiver)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC1155Receiver_$5310_$","typeString":"type(contract IERC1155Receiver)"}],"id":1213,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8181:4:1","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8181:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC1155Receiver_$5310","typeString":"type(contract IERC1155Receiver)"}},"id":1216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8204:11:1","memberName":"interfaceId","nodeType":"MemberAccess","src":"8181:34:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"8166:49:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1220,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1204,"src":"8243:11:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1218,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8219:5:1","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_SettleRWA_$1226_$","typeString":"type(contract super SettleRWA)"}},"id":1219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8225:17:1","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":3775,"src":"8219:23:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8219:36:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8166:89:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1211,"id":1223,"nodeType":"Return","src":"8159:96:1"}]},"baseFunctions":[3775,5362],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"8045:17:1","overrides":{"id":1208,"nodeType":"OverrideSpecifier","overrides":[{"id":1206,"name":"ERC1155Holder","nameLocations":["8104:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":5407,"src":"8104:13:1"},{"id":1207,"name":"AccessControl","nameLocations":["8119:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":4008,"src":"8119:13:1"}],"src":"8095:38:1"},"parameters":{"id":1205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1204,"mutability":"mutable","name":"interfaceId","nameLocation":"8070:11:1","nodeType":"VariableDeclaration","scope":1225,"src":"8063:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1203,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8063:6:1","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8062:20:1"},"returnParameters":{"id":1211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1225,"src":"8143:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1209,"name":"bool","nodeType":"ElementaryTypeName","src":"8143:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8142:6:1"},"scope":1226,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":453,"name":"ERC1155Holder","nameLocations":["507:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":5407,"src":"507:13:1"},"id":454,"nodeType":"InheritanceSpecifier","src":"507:13:1"},{"baseName":{"id":455,"name":"AccessControl","nameLocations":["522:13:1"],"nodeType":"IdentifierPath","referencedDeclaration":4008,"src":"522:13:1"},"id":456,"nodeType":"InheritanceSpecifier","src":"522:13:1"},{"baseName":{"id":457,"name":"ReentrancyGuard","nameLocations":["537:15:1"],"nodeType":"IdentifierPath","referencedDeclaration":6722,"src":"537:15:1"},"id":458,"nodeType":"InheritanceSpecifier","src":"537:15:1"}],"canonicalName":"SettleRWA","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1226,6722,4008,5407,5310,7000,7012,4091,6601],"name":"SettleRWA","nameLocation":"494:9:1","scope":1227,"usedErrors":[540,542,544,546,548,550,552,554,556,558,560,562,564,4018,4021,6667],"usedEvents":[574,584,596,608,612,616,4030,4039,4048]}],"license":"MIT"},"id":1}