# DEVv2
## contracts/src/dev/Dev.sol
No changes
## contracts/src/dev/DevArbitrum.sol
DELETE
:::warning
DEVv2 will be deployed only Polygon.
:::
## contracts/src/dev/DevBridge.sol
DELETE
:::warning
DEVv2 will be deployed only Polygon.
:::
## contracts/src/dev/DevPolygon.sol
DELETE
:::warning
DEVv2 will be deployed only Polygon, and the tokens is Dev.sol.
:::
## contracts/src/lockup/*
DELETE FOLDER
:::warning
Staking will no longer used.
:::
## contracts/src/market/*
DELETE FOLDER
:::warning
xxx
:::
## contracts/src/metrics/*
DELETE FOLDER
:::warning
xxx
:::
## contracts/src/policy/Policy1.sol
Follow the new Policy interface:
```solidity
interface IPolicy {
// This means "Tokens Mint Per Second"
function tmps() external view returns (uint256);
// This means "Rate of Treasury Fee Per Transaction": i.g., 500 = 5%, 10000 = 100%
function rTfpt() external view returns (uint256);
// This means "Rate of Token Burn Per Transaction": i.g., 500 = 5%, 10000 = 100%
function rTbpt() external view returns (uint256);
}
```
## contracts/src/policy/PolicyFactory.sol
DELETE
:::warning
Policy is applied by changing the Registry directly.
:::
## contracts/src/property/Property.
### Change the behavior of `initialize` function
- Treasury (= Dev Protocol Treasury) no longer holds Property Tokens.
### Delete the following overrides
- `transfer`
- `transferFrom`
### Delete the following functions
- `withdraw`
- `getBalances`
- `_afterTokenTransfer`
## contracts/src/property/PropertyFactory.sol
No changes
## contracts/src/s-token/STokensDescriptor.sol
No changes
## contracts/src/s-token/STokensManager.sol
### Overview
#### Old (the current) structure

#### New structure

sTokens will be minted directly by transferring any tokens or the native token (= MATIC).
### Add a new getter function, `pathOf`
```solidity
function pathOf(
address _token
) public view returns(address[] memory);
// This can be implemented as: mapping(address => address[]) public override pathOf;
```
`pathOf` receives a token contract address and returns the path array required by `swapExactTokensForTokens` of Uniswap v3.
### Change the specs of `mint` function
The interface will be changed the following:
```solidity
function mint(
address _project,
bytes32 _payload
) payable external returns (uint256);
function mint(
address _project,
bytes32 _payload,
uint256 _token,
uint256 _amount,
) external returns (uint256);
```
- Transfer the % of the given tokens (or native tokens) that of returned by `Policy.rTfpt` to the Treasury
- Buyback-n-burn the % of DEVv2 that returned by `Policy.rTbpt` through swapping the given tokens or native tokens to DEVv2 using `pathOf`.
### Delete the following functions
- `update`
## contracts/src/withdraw/*
DELETE FOLDER