> For the complete documentation index, see [llms.txt](https://docs.r.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.r.xyz/glider-ide/api/value/call/call.get_call_salt.md).

# Call.get\_call\_salt()

`get_call_salt() ->` [`APIList`](/glider-ide/api/iterables/apilist.md)`[Union[`[`Value`](/glider-ide/api/value.md)`,` [`NoneObject`](/glider-ide/api/internal/noneobject.md)`]]`

The function returns the Value (or any derived class) that represents the special salt parameter used in contract creation calls; the list will be empty if the call is not a contract creation or does not have a salt parameter.

For example, in the instruction:

```solidity
pool = address(new UniswapV3Pool{salt: keccak256(abi.encode(token0, token1, fee))}());
```

the contract creation call:

```solidity
new UniswapV3Pool{salt: keccak256(abi.encode(token0, token1, fee))}
```

has a salt parameter:&#x20;

```solidity
keccak256(abi.encode(token0, token1, fee))
```

the function will return the value representing this expression (and it will be of type [Call](/glider-ide/api/value/call.md) in this case, as its a keccak256 function call)

**Query Example**

```python
from glider import *

def query():
    instructions = (
        Contracts()
        .with_name("UniswapV3PoolDeployer")
        .functions()
        .with_name("deploy")
        .instructions()
        .exec(10)
        .filter(lambda x: x.is_new_contract())
    )


    for ins in instructions:
        print(ins.get_value().get_callee_values()[0].get_call_salt())
        print(ins.get_value().get_callee_values()[0].get_call_salt().expression)

    return instructions
```

**Output Example**

<figure><img src="/files/VhPcp3fZHCENijWbSQWQ" alt=""><figcaption></figcaption></figure>
