Skip to main content

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 is IERC165 {
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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