[{"type":"constructor","inputs":[{"name":"tokenAdminRegistry","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"configureAllowedCallers","inputs":[{"name":"configArgs","type":"tuple[]","internalType":"struct ERC20LockBox.AllowedCallerConfigArgs[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"},{"name":"allowed","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"i_tokenAdminRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract TokenAdminRegistry"}],"stateMutability":"view"},{"type":"function","name":"isAllowedCaller","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"typeAndVersion","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AllowedCallerUpdated","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"allowed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawal","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InsufficientBalance","inputs":[{"name":"requested","type":"uint256","internalType":"uint256"},{"name":"available","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RecipientCannotBeZeroAddress","inputs":[]},{"type":"error","name":"TokenAddressCannotBeZero","inputs":[]},{"type":"error","name":"TokenAmountCannotBeZero","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"ZeroAddressNotAllowed","inputs":[]}]