# TriggerFactoryToken ABI

Below is the ABI for TriggerFactoryToken.sol

{% code overflow="wrap" %}

```json
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "gasWallet_",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "string",
        "name": "result",
        "type": "string"
      }
    ],
    "name": "EmitEvent",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "_authorized",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_gasEscrow",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_gasWallet",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_individualCount",
    "outputs": [
      {
        "internalType": "int256",
        "name": "",
        "type": "int256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int256",
        "name": "",
        "type": "int256"
      }
    ],
    "name": "_individualTriggers",
    "outputs": [
      {
        "internalType": "int256",
        "name": "triggerId",
        "type": "int256"
      },
      {
        "internalType": "address",
        "name": "triggerAddress",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "triggerOwner",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "exists",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_individualTriggersByAddress",
    "outputs": [
      {
        "internalType": "int256",
        "name": "",
        "type": "int256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_masterGraceCount",
    "outputs": [
      {
        "internalType": "int256",
        "name": "",
        "type": "int256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_triggerAddressByOwner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newAuthorized_",
        "type": "address"
      }
    ],
    "name": "changeAuthorized",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newEscrowAddress_",
        "type": "address"
      }
    ],
    "name": "changeGasEscrow",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newWallet_",
        "type": "address"
      }
    ],
    "name": "changeGasWallet",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int256[]",
        "name": "newCount_",
        "type": "int256[]"
      },
      {
        "internalType": "address[]",
        "name": "individualAddress_",
        "type": "address[]"
      }
    ],
    "name": "changeIndividualGraceCounts",
    "outputs": [
      {
        "internalType": "address[]",
        "name": "successAddresses_",
        "type": "address[]"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int256",
        "name": "newCount_",
        "type": "int256"
      }
    ],
    "name": "changeMasterGraceCount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner_",
        "type": "address"
      }
    ],
    "name": "changeOwner",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "backupAddress_",
        "type": "address"
      },
      {
        "internalType": "address[]",
        "name": "watchTokens_",
        "type": "address[]"
      }
    ],
    "name": "deployIndividualContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "newTriggerAddress",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "individualAddress_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "gasOverride_",
        "type": "uint256"
      }
    ],
    "name": "executeTrigger",
    "outputs": [
      {
        "internalType": "int256",
        "name": "triggerID_",
        "type": "int256"
      },
      {
        "internalType": "int256",
        "name": "totalSaved_",
        "type": "int256"
      },
      {
        "internalType": "int256",
        "name": "totalAttempted_",
        "type": "int256"
      },
      {
        "internalType": "int256",
        "name": "blockNumber_",
        "type": "int256"
      },
      {
        "internalType": "int256",
        "name": "blockTimeStamp_",
        "type": "int256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      }
    ],
    "name": "recoverCoin",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to_",
        "type": "address"
      }
    ],
    "name": "recoverToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "int256",
        "name": "id_",
        "type": "int256"
      }
    ],
    "name": "triggerExists",
    "outputs": [
      {
        "internalType": "bool",
        "name": "result",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://praxxas.gitbook.io/killswitch/technicals/smart-contracts/triggerfactorytoken-abi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
