TWRouter

Methods

addExtension

function addExtension(string _extensionName) external nonpayable

Adds a new extension to the router.

Parameters

Name
Type
Description

_extensionName

string

undefined

defaultExtensionSet

function defaultExtensionSet() external view returns (address)

The DefaultExtensionSet that stores default extensions of the router.

Returns

Name
Type
Description

_0

address

undefined

extensionRegistry

function extensionRegistry() external view returns (address)

The ExtensionRegistry that stores all latest, vetted extensions available to router.

Returns

Name
Type
Description

_0

address

undefined

getAllExtensions

function getAllExtensions() external view returns (struct IExtension.Extension[] allExtensions)

Returns all extensions stored. Override default lugins stored in router are given precedence over default extensions in DefaultExtensionSet.

Returns

Name
Type
Description

allExtensions

IExtension.Extension[]

undefined

getAllFunctionsOfExtension

function getAllFunctionsOfExtension(string _extensionName) external view returns (struct IExtension.ExtensionFunction[])

Returns all functions that belong to the given extension contract.

Parameters

Name
Type
Description

_extensionName

string

undefined

Returns

Name
Type
Description

_0

IExtension.ExtensionFunction[]

undefined

getExtension

function getExtension(string _extensionName) external view returns (struct IExtension.Extension)

Returns the extension metadata and functions for a given extension.

Parameters

Name
Type
Description

_extensionName

string

undefined

Returns

Name
Type
Description

_0

IExtension.Extension

undefined

getExtensionForFunction

function getExtensionForFunction(bytes4 _functionSelector) external view returns (struct IExtension.ExtensionMetadata)

Returns the Extension metadata for a given function.

Parameters

Name
Type
Description

_functionSelector

bytes4

undefined

Returns

Name
Type
Description

_0

IExtension.ExtensionMetadata

undefined

getExtensionImplementation

function getExtensionImplementation(string _extensionName) external view returns (address)

Returns the extension's implementation smart contract address.

Parameters

Name
Type
Description

_extensionName

string

undefined

Returns

Name
Type
Description

_0

address

undefined

getImplementationForFunction

function getImplementationForFunction(bytes4 _functionSelector) external view returns (address extensionAddress)

Returns the extension implementation address stored in router, for the given function.

Parameters

Name
Type
Description

_functionSelector

bytes4

undefined

Returns

Name
Type
Description

extensionAddress

address

undefined

multicall

function multicall(bytes[] data) external nonpayable returns (bytes[] results)

Receives and executes a batch of function calls on this contract.

Receives and executes a batch of function calls on this contract.

Parameters

Name
Type
Description

data

bytes[]

The bytes data that makes up the batch of function calls to execute.

Returns

Name
Type
Description

results

bytes[]

The bytes data that makes up the result of the batch of function calls executed.

removeExtension

function removeExtension(string _extensionName) external nonpayable

Removes an existing extension from the router.

Parameters

Name
Type
Description

_extensionName

string

undefined

updateExtension

function updateExtension(string _extensionName) external nonpayable

Updates an existing extension in the router, or overrides a default extension.

Parameters

Name
Type
Description

_extensionName

string

undefined

Events

ExtensionAdded

event ExtensionAdded(address indexed extensionAddress, bytes4 indexed functionSelector, string functionSignature)

Parameters

Name
Type
Description

extensionAddress indexed

address

undefined

functionSelector indexed

bytes4

undefined

functionSignature

string

undefined

ExtensionRemoved

event ExtensionRemoved(address indexed extensionAddress, bytes4 indexed functionSelector, string functionSignature)

Parameters

Name
Type
Description

extensionAddress indexed

address

undefined

functionSelector indexed

bytes4

undefined

functionSignature

string

undefined

ExtensionUpdated

event ExtensionUpdated(address indexed oldExtensionAddress, address indexed newExtensionAddress, bytes4 indexed functionSelector, string functionSignature)

Parameters

Name
Type
Description

oldExtensionAddress indexed

address

undefined

newExtensionAddress indexed

address

undefined

functionSelector indexed

bytes4

undefined

functionSignature

string

undefined

Last updated