> For the complete documentation index, see [llms.txt](https://yupana-finance.gitbook.io/yupana-document-portal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yupana-finance.gitbook.io/yupana-document-portal/developer-space/ytoken-contract-methods/admin-methods/manage-entrypoints/setglobalfactors.md).

# setGlobalFactors

Sets global factor constants to storage.

### Types

```pascaligo
type setGlobalParams    is [@layout:comb] record [
  closeFactorF          : nat;
  liqIncentiveF         : nat;
  priceFeedProxy        : address;
  maxMarkets            : nat;
]
```

<table><thead><tr><th width="179.33333333333331" align="center">Parameter</th><th align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td align="center">closeFactorF</td><td align="center">nat</td><td><p>close factor </p><p>as float number multiplied by <code>precision</code>= 1000000000000000000n; (1e+18)</p></td></tr><tr><td align="center">liqIncentiveF</td><td align="center">nat</td><td><p>liquidation incentive </p><p>as float number multiplied by <code>precision</code>= 1000000000000000000n; (1e+18)</p></td></tr><tr><td align="center">interestRateModel</td><td align="center">address</td><td>priceFeed proxy contract instance</td></tr><tr><td align="center">maxMarkets</td><td align="center">nat</td><td>maximum amount of markets allowed to enter and borrow</td></tr></tbody></table>

### Usage

{% tabs %}
{% tab title="🌮 Taquito" %}

```typescript
const tokenId = 0; // or new BigNumber(0) or "0"
const yupana = await tezos.contract.at(yTokenAddress);
const proxyContractAddress = "KT1..."
const operation = await yupana.methods.setGlobalFactors(
      "500000000000000000",
      "1050000000000000000",
      proxyContractAddress,
      "2",
    ).send();
await operation.confirmation();
```

{% endtab %}

{% tab title="🐍   Pytezos" %}

```python
PRECISION = pow(10, 18)
config = {
  "close_factor": 0.5,
  "liquidity_incentive": 1.05
}
token = { "fA12": token_address } # or { "fA2": (token_address, token_id) }
yupana = ContractInterface.from_michelson(code) # or client.contract(contract_address)...
call = yupana.setGlobalFactors(
                closeFactorF = int(config["close_factor"] * PRECISION),
                liqIncentiveF = int(config["liquidity_incentive"] * PRECISION),
                priceFeedProxy = "KT1...",
                maxMarkets = 2
            )
opg = call.inject()
```

{% endtab %}
{% endtabs %}

### Errors

* `yToken/not-admin` - `sender` is not contract admin.
