# set\_init\_function

Method for set DEX contract deployer function lambda.

Deployer function deploys new DEX contract to the blockchain with copied admin and token lambdas and charges deploy fee in QUIPU tokens. Part of fees stays inside contact reserves (`quipu_rewards`) and the other part goes to "burn address" - hardcoded zero-address to burn QUIPU tokens.

Input param type is `bytes`.

### Parameters

<table><thead><tr><th width="150">Field</th><th width="190" align="center">Type</th><th width="448.2">Description</th></tr></thead><tbody><tr><td>-</td><td align="center"><code>bytes</code></td><td>packed bytes from <code>type init_func_t is (pool_init_param_t * full_storage_t) -> fact_return_t</code></td></tr></tbody></table>

```pascaligo
type pool_init_param_t  is [@layout:comb] record [
  a_constant              : nat;
  input_tokens            : set(token_t);
  tokens_info             : map(token_pool_idx_t, token_prec_info_t);
  default_referral        : address;
  managers                : set(address);
  metadata                : big_map(string, bytes);
  token_metadata          : big_map(token_id_t, token_meta_info_t);
]

type fact_return_t      is list(operation) * full_storage_t

type init_func_t        is (pool_init_param_t * full_storage_t) -> fact_return_t
```

{% hint style="warning" %}
This contract method is called only by `developer` of that contract.
{% endhint %}
