# Submit a Pull Request

The final step to be added to the partnership program is to submit a pull request to be added to the list of partners. You should submit a request to add yourself to partners.py

First, you have to fork the repository into your account, make the modifications to update the file, and then submit the pull request to the main repo.

Below you will find the specification for the file and some examples.

## Partner#

The file consists of an array of Partner objects. Each Partner has the following attributes:

• name: descriptive name for the partner.
• treasury: the address where you want to receive the shared fees.
• wrappers: an array of objects that contain the addresses that will hold the vault tokens. It's an array of Wrapper or WildcardWrapper objects

## Wrapper Class#

Wrapper should be used when only one yVault token is going to be held in that address.

Wrapper has the following attributes:

• name: descriptive name for this wrapper. It's recommended to use the vault name as part of it.
• vault: the address of the vault whose tokens are going to be held here.
• wrapper: the address that is going to be holding the tokens.

## WildcardWrapper Class#

WilcardWrapper should be used when one address is going to hold more than one yVault token.

WildcardWrapper has the following attributes:

• name: descriptive name for this wrapper.
• wrapper: the address that is going to be holding the tokens.

## Full Example#

### Wrapper#

Below there's an example from one of our partners who have multiple addresses for multiple vaults. It's done using the Wrapper class.

Partner(    name='partner-wrapper',    treasury='0x8392F6669292fA56123F71949B52d883aE57e225',    wrappers=[        Wrapper(            name='dai 0.3.0',            vault='0x19D3364A399d251E894aC732651be8B0E4e85001',            wrapper='0x014dE182c147f8663589d77eAdB109Bf86958f13',        ),        Wrapper(            name='dai 0.3.0 t',            vault='0x19D3364A399d251E894aC732651be8B0E4e85001',            wrapper='0x491EAFC47D019B44e13Ef7cC649bbA51E15C61d7',        ),        Wrapper(            name='dai 0.4.3',            vault='0xdA816459F1AB5631232FE5e97a05BBBb94970c95',            wrapper='0xb039eA6153c827e59b620bDCd974F7bbFe68214A',        ),        Wrapper(            name='dai 0.4.3 t',            vault='0xdA816459F1AB5631232FE5e97a05BBBb94970c95',            wrapper='0x6Fe02BE0EC79dCF582cBDB936D7037d2eB17F661',        ),        Wrapper(            name='weth 0.4.2',            vault='0xa258C4606Ca8206D8aA700cE2143D7db854D168c',            wrapper='0x546E6711032Ec744A7708D4b7b283A210a85B3BC',        ),        Wrapper(            name='weth 0.4.2 t',            vault='0xa258C4606Ca8206D8aA700cE2143D7db854D168c',            wrapper='0x6d75657771256C7a8CB4d475fDf5047B70160132',        ),    ],),

### WildcardWrapper#

Below you will find a partner that uses WildcardWrapper because each address is going to hold multiple different yVault tokens.

Partner(    name='partner-wildcardwrapper',    treasury='0x7301C46be73bB04847576b6Af107172bF5e8388e',    wrappers=[        WildcardWrapper(            name='bdi',            wrapper='0x0309c98B1bffA350bcb3F9fB9780970CA32a5060',        ),        WildcardWrapper(            name='bmi',            wrapper='0x0aC00355F80E289f53BF368C9Bdb70f5c114C44B',        ),    ],),