[{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"uint8[]","name":"privLevels","type":"uint8[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint8","name":"privLevel","type":"uint8"}],"name":"LogPrivilegeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"LogRoutineAuth","type":"event"},{"inputs":[{"internalType":"address","name":"coreAddr","type":"address"},{"components":[{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"tokenAddr","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint256","name":"validUntil","type":"uint256"},{"internalType":"address[]","name":"validators","type":"address[]"},{"internalType":"bytes32","name":"spec","type":"bytes32"}],"internalType":"struct ChannelLibrary.Channel","name":"channel","type":"tuple"}],"name":"channelOpen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"identityContract","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"feeTokenAddr","type":"address"},{"internalType":"uint256","name":"feeAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct Identity.Transaction[]","name":"txns","type":"tuple[]"},{"internalType":"bytes32[3][]","name":"signatures","type":"bytes32[3][]"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"identityContract","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"feeTokenAddr","type":"address"},{"internalType":"uint256","name":"feeAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct Identity.Transaction[]","name":"txns","type":"tuple[]"}],"name":"executeBySender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"relayer","type":"address"},{"internalType":"address","name":"outpace","type":"address"},{"internalType":"uint256","name":"validUntil","type":"uint256"},{"internalType":"address","name":"feeTokenAddr","type":"address"},{"internalType":"uint256","name":"weeklyFeeAmount","type":"uint256"}],"internalType":"struct Identity.RoutineAuthorization","name":"auth","type":"tuple"},{"components":[{"internalType":"enum Identity.RoutineOp","name":"mode","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct Identity.RoutineOperation[]","name":"operations","type":"tuple[]"}],"name":"executeRoutines","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"privileges","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"routineAuthorizations","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"routinePaidFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"privLevel","type":"uint8"}],"name":"setAddrPrivilege","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bool","name":"authorized","type":"bool"}],"name":"setRoutineAuth","outputs":[],"stateMutability":"nonpayable","type":"function"}]