@opensubaccounts/sdk
Preparing search index...
getContractInstance
Function getContractInstance
getContractInstance
<
C
extends
|
"AllowanceManager"
|
"MultiChainSignaturesModule"
|
"OpenSubaccounts"
|
"SubaccountFactory"
,
TClient
extends
Client
,
>
(
client
:
TClient
,
contract
:
C
,
chainId
:
number
,
)
:
{
[
K
in
string
|
number
|
symbol
]
:
(
{
[
K
in
string
|
number
|
symbol
]
:
(
(
(
TClient
extends
{
public
:
Client
}
?
TClient
<
TClient
>
[
"public"
]
:
TClient
)
extends
Client
?
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
read
:
{
[
functionName
in
(...)
]
:
(...)
}
}
)
&
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
estimateGas
:
{
[
functionName
in
(...)
]
:
(...)
}
;
simulate
:
{
[
functionName
in
(...)
]
:
(...)
}
;
}
)
&
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
createEventFilter
:
{
[
EventName
in
(...)
]
:
(...)
}
;
getEvents
:
{
[
EventName
in
(...)
]
:
(...)
}
;
watchEvent
:
{
[
EventName
in
(...)
]
:
(...)
}
;
}
)
:
unknown
)
&
(
(
TClient
extends
{
wallet
:
Client
}
?
TClient
<
TClient
>
[
"wallet"
]
:
TClient
)
extends
Client
?
IsNever
<
(...)
[
(...)
]
extends
Abi
?
(...)
extends
(...)
?
(...)
:
(...)
:
string
,
>
extends
true
?
unknown
:
{
estimateGas
:
{
[
functionName
in
string
]
:
GetEstimateFunction
<
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
>
}
;
write
:
{
[
functionName
in
string
]
:
GetWriteFunction
<
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
>
}
;
}
:
unknown
)
)
[
K
]
}
&
{
abi
:
{
AllowanceManager
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_permit2"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"factoryAddr"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"_HARDCODED_CHAIN_ID"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"allowanceNonces"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestBatchTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"allowances"
;
outputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.Allowance"
;
name
:
""
;
type
:
"tuple"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
]
;
name
:
"bootstrapAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"commitHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"eip712Domain"
;
outputs
:
readonly
[
{
internalType
:
"bytes1"
;
name
:
"fields"
;
type
:
"bytes1"
}
,
{
internalType
:
"string"
;
name
:
"name"
;
type
:
"string"
}
,
{
internalType
:
"string"
;
name
:
"version"
;
type
:
"string"
}
,
{
internalType
:
"uint256"
;
name
:
"chainId"
;
type
:
"uint256"
}
,
{
internalType
:
"address"
;
name
:
"verifyingContract"
;
type
:
"address"
;
}
,
{
internalType
:
"bytes32"
;
name
:
"salt"
;
type
:
"bytes32"
}
,
{
internalType
:
"uint256[]"
;
name
:
"extensions"
;
type
:
"uint256[]"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"factory"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"factoryAddress"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"batch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"hashAllowanceRequestBatch"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"structHash"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"holderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"permit2"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"registerHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"requests"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signature"
;
type
:
"bytes"
}
,
]
;
name
:
"setAllowances"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
]
;
name
:
"spendAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSet"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSpent"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"HolderPullFailed"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceExceeded"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"AlreadyInitialised"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAlreadyCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderCommitMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderManagerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderNotCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderOwnerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderTokenMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidContractSignature"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidNonce"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignature"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignatureLength"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSigner"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"SafeERC20FailedOperation"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"UnauthorizedCaller"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"ZeroAmount"
;
type
:
"error"
}
,
]
;
MultiChainSignaturesModule
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_siglessTransactionExecutor"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SIGLESS_TRANSACTION_EXECUTOR"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"VERSION"
;
outputs
:
readonly
[
{
internalType
:
"string"
;
name
:
""
;
type
:
"string"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"domainSeparator"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"separator"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"encodeTransactionBatchData"
;
outputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
""
;
type
:
"bytes"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"account"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signatures"
;
type
:
"bytes"
}
,
]
;
name
:
"execTransactionBatch"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
"success"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"safe"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"index"
;
type
:
"uint256"
;
}
,
]
;
name
:
"SafeTxFailed"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"MismatchedSubaccount"
;
type
:
"error"
}
,
]
;
OpenSubaccounts
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_siglessTransactionExecutor"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeSingleton"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"_safeProxyFactory"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeModuleSetup"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_permit2"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"ALLOWANCE_MANAGER"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"MULTICHAIN_SIGNATURES_MODULE"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_MODULE_SETUP"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_PROXY_FACTORY"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_SINGLETON"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SIGLESS_TRANSACTION_EXECUTOR"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"VERSION"
;
outputs
:
readonly
[
{
internalType
:
"string"
;
name
:
""
;
type
:
"string"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"_HARDCODED_CHAIN_ID"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"allowanceNonces"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestBatchTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"allowances"
;
outputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.Allowance"
;
name
:
""
;
type
:
"tuple"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
]
;
name
:
"bootstrapAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"commitHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaTimeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
{
internalType
:
"uint256"
;
name
:
"permitDeadline"
;
type
:
"uint256"
}
,
{
internalType
:
"uint8"
;
name
:
"v"
;
type
:
"uint8"
}
,
{
internalType
:
"bytes32"
;
name
:
"r"
;
type
:
"bytes32"
}
,
{
internalType
:
"bytes32"
;
name
:
"s"
;
type
:
"bytes32"
}
,
]
;
name
:
"createAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"createSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"domainSeparator"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"separator"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"eip712Domain"
;
outputs
:
readonly
[
{
internalType
:
"bytes1"
;
name
:
"fields"
;
type
:
"bytes1"
}
,
{
internalType
:
"string"
;
name
:
"name"
;
type
:
"string"
}
,
{
internalType
:
"string"
;
name
:
"version"
;
type
:
"string"
}
,
{
internalType
:
"uint256"
;
name
:
"chainId"
;
type
:
"uint256"
}
,
{
internalType
:
"address"
;
name
:
"verifyingContract"
;
type
:
"address"
;
}
,
{
internalType
:
"bytes32"
;
name
:
"salt"
;
type
:
"bytes32"
}
,
{
internalType
:
"uint256[]"
;
name
:
"extensions"
;
type
:
"uint256[]"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"encodeTransactionBatchData"
;
outputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
""
;
type
:
"bytes"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"account"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signatures"
;
type
:
"bytes"
}
,
]
;
name
:
"execTransactionBatch"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
"success"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"factory"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"factoryAddress"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
]
;
name
:
"generateAllowanceHolderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"generateSubaccountAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"batch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"hashAllowanceRequestBatch"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"structHash"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"holderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"permit2"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"registerHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"requests"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signature"
;
type
:
"bytes"
}
,
]
;
name
:
"setAllowances"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
]
;
name
:
"spendAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
]
;
name
:
"AllowanceHolderCreated"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSet"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSpent"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"HolderPullFailed"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"safe"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"index"
;
type
:
"uint256"
;
}
,
]
;
name
:
"SafeTxFailed"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
;
}
,
{
indexed
:
false
;
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
;
}
,
]
;
name
:
"SubaccountCreated"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceExceeded"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceManagerRegistrationFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AlreadyInitialised"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Create2EmptyBytecode"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
"dns"
;
type
:
"bytes"
}
,
]
;
name
:
"DNSDecodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"string"
;
name
:
"ens"
;
type
:
"string"
}
,
]
;
name
:
"DNSEncodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"FailedDeployment"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAddressMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAlreadyCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderCommitMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderManagerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderNotCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderOwnerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderTokenMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
"balance"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"needed"
;
type
:
"uint256"
}
,
]
;
name
:
"InsufficientBalance"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidContractSignature"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidNonce"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignature"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignatureLength"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSigner"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"MismatchedSubaccount"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"SafeERC20FailedOperation"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SubaccountAddressMismatch"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"UnauthorizedCaller"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"ZeroAmount"
;
type
:
"error"
}
,
]
;
SubaccountFactory
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_safeSingleton"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeProxyFactory"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeModuleSetup"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_multichainSignaturesModule"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_allowanceManager"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"ALLOWANCE_MANAGER"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"MULTICHAIN_SIGNATURES_MODULE"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_MODULE_SETUP"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_PROXY_FACTORY"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_SINGLETON"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaTimeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
{
internalType
:
"uint256"
;
name
:
"permitDeadline"
;
type
:
"uint256"
}
,
{
internalType
:
"uint8"
;
name
:
"v"
;
type
:
"uint8"
}
,
{
internalType
:
"bytes32"
;
name
:
"r"
;
type
:
"bytes32"
}
,
{
internalType
:
"bytes32"
;
name
:
"s"
;
type
:
"bytes32"
}
,
]
;
name
:
"createAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"createSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
]
;
name
:
"generateAllowanceHolderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"generateSubaccountAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
]
;
name
:
"AllowanceHolderCreated"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
;
}
,
{
indexed
:
false
;
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
;
}
,
]
;
name
:
"SubaccountCreated"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceManagerRegistrationFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"Create2EmptyBytecode"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
"dns"
;
type
:
"bytes"
}
,
]
;
name
:
"DNSDecodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"string"
;
name
:
"ens"
;
type
:
"string"
}
,
]
;
name
:
"DNSEncodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"FailedDeployment"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAddressMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
"balance"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"needed"
;
type
:
"uint256"
}
,
]
;
name
:
"InsufficientBalance"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"SubaccountAddressMismatch"
;
type
:
"error"
;
}
,
]
;
}
[
C
]
;
address
:
`
0x
${
string
}
`
;
}
)
[
K
]
}
Type Parameters
C
extends
|
"AllowanceManager"
|
"MultiChainSignaturesModule"
|
"OpenSubaccounts"
|
"SubaccountFactory"
TClient
extends
Client
Parameters
client
:
TClient
contract
:
C
chainId
:
number
Returns
{
[
K
in
string
|
number
|
symbol
]
:
(
{
[
K
in
string
|
number
|
symbol
]
:
(
(
(
TClient
extends
{
public
:
Client
}
?
TClient
<
TClient
>
[
"public"
]
:
TClient
)
extends
Client
?
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
read
:
{
[
functionName
in
(...)
]
:
(...)
}
}
)
&
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
estimateGas
:
{
[
functionName
in
(...)
]
:
(...)
}
;
simulate
:
{
[
functionName
in
(...)
]
:
(...)
}
;
}
)
&
(
IsNever
<
(...)
extends
(...)
?
(...)
:
(...)
>
extends
true
?
unknown
:
{
createEventFilter
:
{
[
EventName
in
(...)
]
:
(...)
}
;
getEvents
:
{
[
EventName
in
(...)
]
:
(...)
}
;
watchEvent
:
{
[
EventName
in
(...)
]
:
(...)
}
;
}
)
:
unknown
)
&
(
(
TClient
extends
{
wallet
:
Client
}
?
TClient
<
TClient
>
[
"wallet"
]
:
TClient
)
extends
Client
?
IsNever
<
(...)
[
(...)
]
extends
Abi
?
(...)
extends
(...)
?
(...)
:
(...)
:
string
,
>
extends
true
?
unknown
:
{
estimateGas
:
{
[
functionName
in
string
]
:
GetEstimateFunction
<
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
>
}
;
write
:
{
[
functionName
in
string
]
:
GetWriteFunction
<
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
(...)
,
>
}
;
}
:
unknown
)
)
[
K
]
}
&
{
abi
:
{
AllowanceManager
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_permit2"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"factoryAddr"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"_HARDCODED_CHAIN_ID"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"allowanceNonces"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestBatchTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"allowances"
;
outputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.Allowance"
;
name
:
""
;
type
:
"tuple"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
]
;
name
:
"bootstrapAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"commitHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"eip712Domain"
;
outputs
:
readonly
[
{
internalType
:
"bytes1"
;
name
:
"fields"
;
type
:
"bytes1"
}
,
{
internalType
:
"string"
;
name
:
"name"
;
type
:
"string"
}
,
{
internalType
:
"string"
;
name
:
"version"
;
type
:
"string"
}
,
{
internalType
:
"uint256"
;
name
:
"chainId"
;
type
:
"uint256"
}
,
{
internalType
:
"address"
;
name
:
"verifyingContract"
;
type
:
"address"
;
}
,
{
internalType
:
"bytes32"
;
name
:
"salt"
;
type
:
"bytes32"
}
,
{
internalType
:
"uint256[]"
;
name
:
"extensions"
;
type
:
"uint256[]"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"factory"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"factoryAddress"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"batch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"hashAllowanceRequestBatch"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"structHash"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"holderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"permit2"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"registerHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"requests"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signature"
;
type
:
"bytes"
}
,
]
;
name
:
"setAllowances"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
]
;
name
:
"spendAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSet"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSpent"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"HolderPullFailed"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceExceeded"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"AlreadyInitialised"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAlreadyCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderCommitMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderManagerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderNotCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderOwnerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderTokenMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidContractSignature"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidNonce"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignature"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignatureLength"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSigner"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"SafeERC20FailedOperation"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"UnauthorizedCaller"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"ZeroAmount"
;
type
:
"error"
}
,
]
;
MultiChainSignaturesModule
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_siglessTransactionExecutor"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SIGLESS_TRANSACTION_EXECUTOR"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"VERSION"
;
outputs
:
readonly
[
{
internalType
:
"string"
;
name
:
""
;
type
:
"string"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"domainSeparator"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"separator"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"encodeTransactionBatchData"
;
outputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
""
;
type
:
"bytes"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"account"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signatures"
;
type
:
"bytes"
}
,
]
;
name
:
"execTransactionBatch"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
"success"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"safe"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"index"
;
type
:
"uint256"
;
}
,
]
;
name
:
"SafeTxFailed"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"MismatchedSubaccount"
;
type
:
"error"
}
,
]
;
OpenSubaccounts
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_siglessTransactionExecutor"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeSingleton"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"_safeProxyFactory"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeModuleSetup"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_permit2"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"ALLOWANCE_MANAGER"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"MULTICHAIN_SIGNATURES_MODULE"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_MODULE_SETUP"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_PROXY_FACTORY"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_SINGLETON"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SIGLESS_TRANSACTION_EXECUTOR"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"VERSION"
;
outputs
:
readonly
[
{
internalType
:
"string"
;
name
:
""
;
type
:
"string"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"_HARDCODED_CHAIN_ID"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"allowanceNonces"
;
outputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
""
;
type
:
"uint256"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestBatchTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"allowanceRequestTypehash"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
""
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"allowances"
;
outputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.Allowance"
;
name
:
""
;
type
:
"tuple"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
]
;
name
:
"bootstrapAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"commitHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaTimeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
{
internalType
:
"uint256"
;
name
:
"permitDeadline"
;
type
:
"uint256"
}
,
{
internalType
:
"uint8"
;
name
:
"v"
;
type
:
"uint8"
}
,
{
internalType
:
"bytes32"
;
name
:
"r"
;
type
:
"bytes32"
}
,
{
internalType
:
"bytes32"
;
name
:
"s"
;
type
:
"bytes32"
}
,
]
;
name
:
"createAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"createSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"domainSeparator"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"separator"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"eip712Domain"
;
outputs
:
readonly
[
{
internalType
:
"bytes1"
;
name
:
"fields"
;
type
:
"bytes1"
}
,
{
internalType
:
"string"
;
name
:
"name"
;
type
:
"string"
}
,
{
internalType
:
"string"
;
name
:
"version"
;
type
:
"string"
}
,
{
internalType
:
"uint256"
;
name
:
"chainId"
;
type
:
"uint256"
}
,
{
internalType
:
"address"
;
name
:
"verifyingContract"
;
type
:
"address"
;
}
,
{
internalType
:
"bytes32"
;
name
:
"salt"
;
type
:
"bytes32"
}
,
{
internalType
:
"uint256[]"
;
name
:
"extensions"
;
type
:
"uint256[]"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"encodeTransactionBatchData"
;
outputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
""
;
type
:
"bytes"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"account"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
,
(...)
]
;
internalType
:
"struct MultiChainSignaturesModule.SafeTxBatch"
;
name
:
"safeTxBatch"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signatures"
;
type
:
"bytes"
}
,
]
;
name
:
"execTransactionBatch"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
"success"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"factory"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"factoryAddress"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
]
;
name
:
"generateAllowanceHolderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"generateSubaccountAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"batch"
;
type
:
"tuple"
;
}
,
]
;
name
:
"hashAllowanceRequestBatch"
;
outputs
:
readonly
[
{
internalType
:
"bytes32"
;
name
:
"structHash"
;
type
:
"bytes32"
}
,
]
;
stateMutability
:
"pure"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"holderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"permit2"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
name
:
"registerHolder"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
components
:
readonly
[
(...)
,
(...)
]
;
internalType
:
"struct IAllowanceManager.AllowanceRequestBatch"
;
name
:
"requests"
;
type
:
"tuple"
;
}
,
{
internalType
:
"bytes"
;
name
:
"signature"
;
type
:
"bytes"
}
,
]
;
name
:
"setAllowances"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
}
,
]
;
name
:
"spendAllowance"
;
outputs
:
readonly
[
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
]
;
name
:
"AllowanceHolderCreated"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSet"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
{
indexed
:
false
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"AllowanceSpent"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"amount"
;
type
:
"uint256"
;
}
,
]
;
name
:
"HolderPullFailed"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"safe"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"uint256"
;
name
:
"index"
;
type
:
"uint256"
;
}
,
]
;
name
:
"SafeTxFailed"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
;
}
,
{
indexed
:
false
;
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
;
}
,
]
;
name
:
"SubaccountCreated"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceExceeded"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceManagerRegistrationFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AlreadyInitialised"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Create2EmptyBytecode"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
"dns"
;
type
:
"bytes"
}
,
]
;
name
:
"DNSDecodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"string"
;
name
:
"ens"
;
type
:
"string"
}
,
]
;
name
:
"DNSEncodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"FailedDeployment"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAddressMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAlreadyCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderCommitMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderManagerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderNotCommitted"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderOwnerMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderTokenMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
"balance"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"needed"
;
type
:
"uint256"
}
,
]
;
name
:
"InsufficientBalance"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidContractSignature"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidNonce"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignature"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSignatureLength"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"InvalidSigner"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"LengthMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"MismatchedSubaccount"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
]
;
name
:
"SafeERC20FailedOperation"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SubaccountAddressMismatch"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"UnauthorizedCaller"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"ZeroAmount"
;
type
:
"error"
}
,
]
;
SubaccountFactory
:
readonly
[
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"_safeSingleton"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeProxyFactory"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_safeModuleSetup"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_multichainSignaturesModule"
;
type
:
"address"
;
}
,
{
internalType
:
"address"
;
name
:
"_allowanceManager"
;
type
:
"address"
;
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"constructor"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"ALLOWANCE_MANAGER"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"MULTICHAIN_SIGNATURES_MODULE"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_MODULE_SETUP"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_PROXY_FACTORY"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"SAFE_SINGLETON"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaTimeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
{
internalType
:
"uint256"
;
name
:
"permitDeadline"
;
type
:
"uint256"
}
,
{
internalType
:
"uint8"
;
name
:
"v"
;
type
:
"uint8"
}
,
{
internalType
:
"bytes32"
;
name
:
"r"
;
type
:
"bytes32"
}
,
{
internalType
:
"bytes32"
;
name
:
"s"
;
type
:
"bytes32"
}
,
]
;
name
:
"createAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"createSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
]
;
stateMutability
:
"nonpayable"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
}
,
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"uint256"
;
name
:
"quotaAmount"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"timeframe"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"initialFund"
;
type
:
"uint256"
}
,
{
internalType
:
"bytes"
;
name
:
"firstCallData"
;
type
:
"bytes"
}
,
]
;
name
:
"generateAllowanceHolderAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
}
,
{
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
}
,
{
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
}
,
]
;
name
:
"generateSubaccountAddress"
;
outputs
:
readonly
[
{
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
}
,
{
internalType
:
"bool"
;
name
:
"isDeployed"
;
type
:
"bool"
}
,
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedAllowanceHolder"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"address"
;
name
:
""
;
type
:
"address"
}
,
]
;
name
:
"isDeployedSubaccount"
;
outputs
:
readonly
[
{
internalType
:
"bool"
;
name
:
""
;
type
:
"bool"
}
]
;
stateMutability
:
"view"
;
type
:
"function"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"holder"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"token"
;
type
:
"address"
;
}
,
]
;
name
:
"AllowanceHolderCreated"
;
type
:
"event"
;
}
,
{
anonymous
:
false
;
inputs
:
readonly
[
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"subaccount"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"address"
;
name
:
"owner"
;
type
:
"address"
;
}
,
{
indexed
:
true
;
internalType
:
"string"
;
name
:
"appDomain"
;
type
:
"string"
;
}
,
{
indexed
:
false
;
internalType
:
"uint32"
;
name
:
"accountIndex"
;
type
:
"uint32"
;
}
,
]
;
name
:
"SubaccountCreated"
;
type
:
"event"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"AllowanceManagerRegistrationFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"Create2EmptyBytecode"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"bytes"
;
name
:
"dns"
;
type
:
"bytes"
}
,
]
;
name
:
"DNSDecodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
{
internalType
:
"string"
;
name
:
"ens"
;
type
:
"string"
}
,
]
;
name
:
"DNSEncodingFailed"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"FailedDeployment"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"HolderAddressMismatch"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
{
internalType
:
"uint256"
;
name
:
"balance"
;
type
:
"uint256"
}
,
{
internalType
:
"uint256"
;
name
:
"needed"
;
type
:
"uint256"
}
,
]
;
name
:
"InsufficientBalance"
;
type
:
"error"
;
}
,
{
inputs
:
readonly
[
]
;
name
:
"Reentrancy"
;
type
:
"error"
}
,
{
inputs
:
readonly
[
]
;
name
:
"SubaccountAddressMismatch"
;
type
:
"error"
;
}
,
]
;
}
[
C
]
;
address
:
`
0x
${
string
}
`
;
}
)
[
K
]
}
Settings
Member Visibility
Protected
Inherited
External
Theme
OS
Light
Dark
@opensubaccounts/sdk
Loading...