Caller Pool API¶
The Caller Pool contract exposes the following api functions.
Bond Management¶
The following functions are available for managing the ether deposited as a bond with the Caller Pool.
Get Minimum Bond¶
Use the getMinimumBond
function to retrieve the current minimum bond value
required to be able to enter the caller pool.
- Solidity Function Signature:
getMinimumBond() returns (uint)
- ABI Signature:
0x23306ed6
Check Bond Balance¶
Use the getBondBalance
function to check the bond balance for the provided
address.
- Solidity Function Signature:
getBondBalance(address callerAddress) returns (uint)
- ABI Signature:
0x33613cbe
Or to check the balance of the sender of the transaction.
- Solidity Function Signature:
getBondBalance() returns (uint)
- ABI Signature:
0x3cbfed74
Deposit Bond¶
Use the depositBond
function to deposit you bond with the caller pool.
- Solidity Function Signature:
depositBond()
- ABI Signature:
0x741b3c39
Withdraw Bond¶
Use the withdrawBond
function to withdraw funds from your bond.
- Solidity Function Signature:
withdrawBond()
- ABI Signature:
0xc3daab96
When in either an active or queued caller pool, you cannot withdraw your account below the minimum bond value.
Call Scheduling and Execution¶
The following function is available for callers.
Get Designated Caller¶
Use the getDesignatedCaller
function to retrieve which caller address, if
any, is designated as the caller for a given block and scheduled call.
- Solidity Function Signature:
getDesignatedCaller(bytes32 callKey, uint256 blockNumber)
- ABI Signature:
0x3c941423
- callKey: specifies the scheduled call.
- blockNumber: the block number (during the call window) in question.
This returns the address of the caller who is designated for this block, or
0x0
if this call can be executed by anyone on the specified block.
Pool Information¶
The following functions are available to query information about call pools.
Pool Generations¶
Use the getCurrentGenerationId
function to lookup the id of the pool
generation that is currently active. (returns 0 if no generations exist)
- Solidity Function Signature:
getCurrentGenerationId() returns (uint)
- ABI Signature:
0xb0171fa4
Use the getNextGenerationId
function to lookup the generation that is
queued to become active. Returns 0x0
if there is no next generation
queued.
- Solidity Function Signature:
getNextGenerationId() returns (uint)
- ABI Signature:
0xa502aae8
Use the getGenerationStartAt
function to lookup the block on which a given
generation will become active.
- Solidity Function Signature:
getGenerationStartAt(uint generationId) returns (uint)
- ABI Signature:
0xf8b11853
Use the getGenerationEndAt
function to lookup the block on which a given
generation will end and become inactive. Returns 0
if the generation is
still open ended.
- Solidity Function Signature:
getGenerationEndAt(uint generationId) returns (uint)
- ABI Signature:
0x306b031d
Use the getGenerationSize
function to query the number of members in a
given generation.
- Solidity Function Signature:
getGenerationSize(uint generationId) returns (uint)
- ABI Signature:
0xb3559460
Get Pool Key for Block¶
Use the getGenerationIdForCall
function to return the generationId
that
should be used for the given call key. This can be helpful to determine
whether your call execution script should pay attention to specific calls if
you are in the process of entering or exiting the pool.
- Solidity Function Signature:
getGenerationIdForCall(bytes32 callKey) returns (uint)
- ABI Signature:
0xdb681e54
Pool Membership¶
The following functions can be used to query about an address’s pool membership.
Is In Pool¶
Use the isInPool
function to query whether an address is in either the
currently active generation or the queued generation.
- Solidity Function Signature:
isInPool(address callerAddress) returns (bool)
- ABI Signature:
0x8baced64
Or to check whether the current calling address is in the pool.
- Solidity Function Signature:
isInPool() returns (bool)
- ABI Signature:
0x1ae460e5
Is In Generation¶
Use the isInGeneration
function to query whether an address is in a
specific generation.
- Solidity Function Signature:
isInGeneration(address callerAddress, uint256 generationId) returns (bool)
- ABI Signature:
0x7772a380
Or to query whether the current calling address is in the pool.
- Solidity Function Signature:
isInGeneration(uint256 generationId) returns (bool)
- ABI Signature:
0xa6c01cfd
Entering and Exiting Pools¶
The following functions can be used for actions related to entering and exiting the call pool.
Can Enter Pool¶
Use the canEnterPool
function to query whether a given address is allowed to
enter the caller pool.
- Solidity Function Signature:
canEnterPool(address callerAddress) returns (bool)
- ABI Signature:
0x8dd5e298
Or to query whether the current calling address is allowed.
- Solidity Function Signature:
canEnterPool() returns (bool)
- ABI Signature:
0xc630f92b
Can Exit Pool¶
Use the canExitPool
function to query whether or not you are allowed to
exit the caller pool.
- Solidity Function Signature:
canExitPool(address callerAddress) returns (bool)
- ABI Signature:
0xb010d94a
Or to query whether the current calling address is allowed.
- Solidity Function Signature:
canExitPool(address callerAddress) returns (bool)
- ABI Signature:
0x5a5383ac
Enter Pool¶
Use the enterPool
function to enter the caller pool.
- Solidity Function Signature:
enterPool() returns (bool)
- ABI Signature:
0x50a3bd39
Exit Pool¶
Use the exitPool
function to exit the caller pool.
- Solidity Function Signature:
exitPool() returns (bool)
- ABI Signature:
0x29917954