> ## Documentation Index
> Fetch the complete documentation index at: https://docs.therootnetwork.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FuturePass

## Pallet Precompile

Use this precompile to interact with the `futurepass` runtime pallet to create a FuturePass account.

### Contract Address

```
0x000000000000000000000000000000000000FFFF
```

### Solidity Interfaces

```
interface FuturePassRegistrar {
  event FuturepassCreated(address indexed futurepass, address owner);

  function futurepassOf(address owner) external view returns (address);
  function create(address owner) external returns (address);
}
```

## FuturePass Account

### Contract Address

The FuturePass account addresses for The Root Network use the following format:

```
0xFFFFFFFF[16-byte-futurepass-id]
```

### Solidity Interfaces

```
interface FuturePass {
  event FuturepassDelegateRegistered(address indexed futurepass, address indexed delegate, uint8 proxyType);
  event FuturepassDelegateUnregistered(address indexed futurepass, address delegate);
  event Executed(uint8 indexed callType, address indexed target, uint256 indexed value, bytes4 data);
  event ContractCreated(uint8 indexed callType, address indexed contractAddress, uint256 indexed value, bytes32 salt);

  function delegateType(address delegate) external view returns (uint8);

  function registerDelegate(address delegate, uint8 proxyType) external;
  function unregisterDelegate(address delegate) external;
  function proxyCall(uint8 callType, address callTo, uint256 value, bytes memory callData) external payable;
}
```

```
interface Ownable {
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  function owner() external view returns (address);
  function renounceOwnership() external;
  function transferOwnership(address owner) external;
}
```
