Call Contract API ================= Properties of a Call Contract ----------------------------- A call contract for a scheduled call has the following publicly accessible values. * **address contractAddress:** the address of the contract the function should be called on. * **address schedulerAddress:** the address who scheduled the call. * **uint targetBlock:** the block that the function should be called on. * **uint8 gracePeriod:** the number of blocks after the ``targetBlock`` during which it is stll ok to execute the call. * **uint anchorGasPrice:** the gas price that was used when the call was scheduled. * **uint suggestedGas:** a suggestion to the call executor as to how much gas the called function is expected to need. * **uint basePayment:** the amount in wei that will be paid to the address that executes the function call. * **uint baseFee:** the amount in wei that will be paid the creator of the Alarm service. * **bytes4 abiSignature:** the 4 byte ABI function signature of the function on the ``contractAddress`` for this call. * **bytes callData:** the data that will be passed to the called function. Contract Address ^^^^^^^^^^^^^^^^ **address contractAddress** The address of the contract that the scheduled function call should be executed on. Retrieved with the ``contractAddress`` function. * **Solidity Function Signature:** ``contractAddress() returns (address)`` * **ABI Signature:** ``0xf6b4dfb4`` Scheduler Address ^^^^^^^^^^^^^^^^^ **address schedulerAddress** The address that the scheduled function call. Retrieved with the ``schedulerAddress`` function. * **Solidity Function Signature:** ``schedulerAddress() returns (address)`` * **ABI Signature:** ``0xae45850b`` Target Block ^^^^^^^^^^^^ **uint targetBlock** The block number that this call should be executed on. Retrieved with the ``targetBlock`` function. * **Solidity Function Signature:** ``targetBlock() returns (uint)`` * **ABI Signature:** ``0xa16697a`` Grace Period ^^^^^^^^^^^^ **uint8 gracePeriod** The number of blocks after the **targetBlock** that it is still ok to execute this call. Retrieved with the ``gracePeriod`` function. * **Solidity Function Signature:** ``gracePeriod() returns (uint8)`` * **ABI Signature:** ``0xa06db7dc`` Anchor Gas Price ^^^^^^^^^^^^^^^^ **uint anchorGasPrice** The value of ``tx.gasprice`` that was used to schedule this function call. Retrieved with the ``anchorGasPrice`` function. * **Solidity Function Signature:** ``anchorGasPrice() returns (uint)`` * **ABI Signature:** ``0x37f4c00e`` Suggested Gas ^^^^^^^^^^^^^ **uint suggestedGas** A suggestion for the amount of gas that a caller should expect the called function to require. Retrieved with the ``suggestedGas`` function. * **Solidity Function Signature:** ``suggestedGas() returns (uint)`` * **ABI Signature:** ``0x6560a307`` Base Payment ^^^^^^^^^^^^ **uint basePayment** The base amount, in wei that the call executor's payment will be calculated from. Retrieved with the ``basePayment`` function. * **Solidity Function Signature:** ``basePayment() returns (uint)`` * **ABI Signature:** ``0xc6502da8`` Base Fee ^^^^^^^^ **uint baseFee** The base amount, in wei that the fee to the creator of the alarm service will be calculate from. Retrieved with the ``baseFee`` function. * **Solidity Function Signature:** ``baseFee() returns (uint)`` * **ABI Signature:** ``0x6ef25c3a`` ABI Signature ^^^^^^^^^^^^^ **bytes4 abiSignature** The ABI function signature that should be used to execute this function call. Retrieved with the ``abiSignature`` function. * **Solidity Function Signature:** ``abiSignature() returns (uint)`` * **ABI Signature:** ``0xca94692d`` Call Data ^^^^^^^^^ **bytes callData** The full call data that will be used for this function call. Retrieved with the ``callData`` function. * **Solidity Function Signature:** ``callData() returns (bytes)`` * **ABI Signature:** ``0x4e417a98`` Functions of a Call Contract ---------------------------- Cancel ^^^^^^ Cancels the scheduled call, suiciding the call contract and sending any funds to the scheduler's address. This function cannot be called from 10 blocks prior to the **target block** for the call through the end of the grace period. * **Solidity Function Signature:** ``cancel() public onlyscheduler`` * **ABI Signature:** ``0xea8a1af0`` Is Alive ^^^^^^^^ Always returns ``true``. Useful to check if the contract has been suicided.