[{"type":"constructor","inputs":[{"name":"usdg_","type":"address","internalType":"contract IERC20"},{"name":"owner_","type":"address","internalType":"address"},{"name":"feeRecipient_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"CHARTER_AGENT_SLOTS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FEE_BPS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FEE_CAP","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FREE_AGENT_SLOTS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"KIND_AGENT","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_APPROVED","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_DIRECT","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"KIND_REQUEST","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"SHORT_HANDLE_MAX","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"agent","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"a","type":"tuple","internalType":"struct BlackveilBank.Agent","components":[{"name":"owner","type":"address","internalType":"address"},{"name":"signer","type":"address","internalType":"address"},{"name":"perPayment","type":"uint256","internalType":"uint256"},{"name":"perDay","type":"uint256","internalType":"uint256"},{"name":"reviewAbove","type":"uint256","internalType":"uint256"},{"name":"vault","type":"uint256","internalType":"uint256"},{"name":"spent","type":"uint256","internalType":"uint256"},{"name":"windowStart","type":"uint256","internalType":"uint256"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"allowlistOnly","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"agentCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"agentPay","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"ref","type":"bytes32","internalType":"bytes32"},{"name":"toWallet","type":"bool","internalType":"bool"}],"outputs":[{"name":"route","type":"uint8","internalType":"enum BlackveilBank.Route"},{"name":"pendingId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"agentSlots","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"agentsOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"allowed","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"pendingId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cancelRequest","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"charterMin","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"charterToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"createAgent","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"perPayment","type":"uint256","internalType":"uint256"},{"name":"perDay","type":"uint256","internalType":"uint256"},{"name":"reviewAbove","type":"uint256","internalType":"uint256"},{"name":"allowlistOnly","type":"bool","internalType":"bool"}],"outputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createRequest","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint64","internalType":"uint64"},{"name":"memo","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"defundAgent","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feeFor","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"feeRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"feesAccrued","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fundAgent","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"handleOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"hasCharter","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"liveAgents","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pauseAgent","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"paused","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pay","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"ref","type":"bytes32","internalType":"bytes32"},{"name":"fromWallet","type":"bool","internalType":"bool"},{"name":"toWallet","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payHandle","inputs":[{"name":"handle","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"ref","type":"bytes32","internalType":"bytes32"},{"name":"fromWallet","type":"bool","internalType":"bool"},{"name":"toWallet","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payRequest","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"fromWallet","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pending","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct BlackveilBank.Pending","components":[{"name":"agentId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"fee","type":"uint256","internalType":"uint256"},{"name":"ref","type":"bytes32","internalType":"bytes32"},{"name":"toWallet","type":"bool","internalType":"bool"},{"name":"state","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"pendingCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"reject","inputs":[{"name":"pendingId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"releaseHandle","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"request","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct BlackveilBank.Request","components":[{"name":"payee","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint64","internalType":"uint64"},{"name":"state","type":"uint8","internalType":"uint8"},{"name":"memo","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"requestCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"resolve","inputs":[{"name":"handle","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"revokeAgent","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rotateSigner","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"routeFor","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum BlackveilBank.Route"},{"name":"","type":"uint8","internalType":"enum BlackveilBank.Reason"}],"stateMutability":"view"},{"type":"function","name":"setAllowed","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"},{"name":"ok","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCharterMin","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCharterToken","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFeeRecipient","inputs":[{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setHandle","inputs":[{"name":"handle","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMandate","inputs":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"perPayment","type":"uint256","internalType":"uint256"},{"name":"perDay","type":"uint256","internalType":"uint256"},{"name":"reviewAbove","type":"uint256","internalType":"uint256"},{"name":"allowlistOnly","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sweepFees","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"next","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"usdg","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AgentCreated","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"signer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AgentDefunded","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AgentFunded","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AgentRefused","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"uint8","indexed":false,"internalType":"enum BlackveilBank.Reason"},{"name":"ref","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"AgentStatus","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"status","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"AllowSet","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"allowed","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Approved","inputs":[{"name":"pendingId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CharterMinSet","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CharterTokenSet","inputs":[{"name":"token","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"FeeRecipientSet","inputs":[{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FeesSwept","inputs":[{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"HandleSet","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"handle","type":"string","indexed":false,"internalType":"string"},{"name":"previous","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"MandateSet","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"perPayment","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"perDay","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reviewAbove","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"allowlistOnly","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previous","type":"address","indexed":true,"internalType":"address"},{"name":"next","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Payment","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ref","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"kind","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"refId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"toWallet","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Queued","inputs":[{"name":"pendingId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"agentId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"ref","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Rejected","inputs":[{"name":"pendingId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RequestCancelled","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RequestCreated","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"payee","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"expiry","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"memo","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"SignerRotated","inputs":[{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"signer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AgentNotLive","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"BadHandle","inputs":[]},{"type":"error","name":"CharterRequired","inputs":[]},{"type":"error","name":"Expired","inputs":[]},{"type":"error","name":"HandleTaken","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InsufficientVault","inputs":[]},{"type":"error","name":"NoHandle","inputs":[]},{"type":"error","name":"NoSlot","inputs":[]},{"type":"error","name":"NotAgentOwner","inputs":[]},{"type":"error","name":"NotOpen","inputs":[]},{"type":"error","name":"NotOwner","inputs":[]},{"type":"error","name":"NotSigner","inputs":[]},{"type":"error","name":"Reentrant","inputs":[]},{"type":"error","name":"TransferFailed","inputs":[]},{"type":"error","name":"UnknownAgent","inputs":[]},{"type":"error","name":"UnknownPending","inputs":[]},{"type":"error","name":"UnknownRequest","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]},{"type":"error","name":"ZeroAmount","inputs":[]}]