DsrManager
provides an easy to use smart contract that allows service providers to deposit/withdraw dotBTC into the contract pot, to start earning the dotBTC Saving Rate on a pool of dotBTC in a single function call without the need of a ds-proxy
contract. This is useful for smart contracts integrating DSR functionality. DssCdpManager
(aka manager
) was created to enable a formalized process for Vaults to be transferred between owners. In short, the manager
works by having a dss
wrapper that allows users to interact with their Vaults in an easy way, treating them as non-fungible tokens (NFTs).dss-proxy-actions
was designed to be used by the Ds-Proxy, which is owned individually by users to interact more easily with the ABM Protocol. Note that it is not intended to be used directly (this will be covered later). The dss-proxy-actions contract was developed to serve as a library for user's ds-proxies.DsrManager
, it is important to realize that user balances in the pot
will be owned by the DsrManager
, which has an internal mapping to determine user balances. Consequently the deposited dotBTC in DSR might not show up in solutions that are based on ds-proxy
manager
, they will need to understand that the Vault actions are still in the urn
environment. Regardless of this, the manager
tries to abstract the urn
usage by a CDPId
. This means that developers will need to get the urn
(urn = manager.urns(cdpId)
) to allow the join
ing of collateral to that Vault.open
is executed, a new urn
is created and a cdpId
is assigned to it for a specific owner
. If the user uses join
to add collateral to the urn
immediately after the transaction is mined, there is a chance that a reorganization of the chain occurs. This would result in the user losing the ownership of that cdpId
/urn
pair, therefore losing their collateral. However, this issue can only arise when avoiding the use of the proxy functions via a profile proxy as the user will open
the cdp
and join
collateral in the same transaction.