> For the complete documentation index, see [llms.txt](https://legacy-docs.aragon.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://legacy-docs.aragon.org/developers/tools/aragonos/smart-contract-references/evmscript/evmscriptrunner.md).

# EVMScriptRunner

## contract EVMScriptRunner

is [AppStorage](/developers/tools/aragonos/smart-contract-references/apps/appstorage.md), [Initializable,](/developers/tools/aragonos/smart-contract-references/common/initializable.md) [EVMScriptRegistryConstants](/developers/tools/aragonos/smart-contract-references/evmscript/evmscriptregistryconstants.md), [KernelNamespaceConstants](/developers/tools/aragonos/smart-contract-references/kernel/kernelnamespaceconstants.md)

Source: [contracts/evmscript/EVMScriptRunner.sol](https://github.com/aragon/aragonOS/blob/v4.4.0/contracts/evmscript/EVMScriptRunner.sol)

## Index

* [ScriptResult](#scriptresult)
* [getEVMScriptExecutor](#getevmscriptexecutor)
* [getEVMScriptRegistry](#getevmscriptregistry)
* [protectState](#protectstate)
* [runScript](#runscript)

## Reference

### Events

#### **ScriptResult** <a href="#scriptresult" id="scriptresult"></a>

` event`` `` `**`ScriptResult`**`(address executor, bytes script, bytes input, bytes returnData)`

***

Parameters:

* `executor` - address
* `script` - bytes
* `input` - bytes
* `returnData` - bytes

### Modifiers

#### **protectState** <a href="#protectstate" id="protectstate"></a>

` modifier`` `` `**`protectState`**`()`

### Functions

#### **getEVMScriptExecutor** <a href="#getevmscriptexecutor" id="getevmscriptexecutor"></a>

` function`` `` `**`getEVMScriptExecutor`**`(bytes _script) public view returns (IEVMScriptExecutor)`

***

Parameters:

* `_script` - bytes

Returns:

* IEVMScriptExecutor

#### **getEVMScriptRegistry** <a href="#getevmscriptregistry" id="getevmscriptregistry"></a>

` function`` `` `**`getEVMScriptRegistry`**`() public view returns (IEVMScriptRegistry)`

***

Returns:

* IEVMScriptRegistry

#### **runScript** <a href="#runscript" id="runscript"></a>

` function`` `` `**`runScript`**`(bytes _script, bytes _input, address[] _blacklist) internal returns (bytes)`

***

Modifiers:

* [isInitialized protectState](#getevmscriptexecutor)

Parameters:

* `_script` - bytes
* `_input` - bytes
* `_blacklist` - address\[]

Returns:

* bytes
