How access is managed
Each Tintero pool has a set of roles that restricts interactions with the protocol. These interactions are:- Deposit to a vault: Only accredited investors can deposit assets into a vault (or mint shares).
- Split payments into tranches: Only the vault manager can split payments into tranches.
- Fund a loan: Only the vault manager can fund a loan.
- Repossess a loan: Only the vault manager can repossess a loan after it has defaulted.
- Upgrade a loan: Only the vault manager can upgrade a loan to a new version after terms have been renegotiated.
- Ask for delegation: Only the delegated yield manager can ask for delegation of the vault’s assets.
Roles
Accredited Investor
An accredited investor is a person or entity who agreed to the terms and conditions of the Tintero protocol and has passed the KYC/AML checks. They can deposit assets into a vault and mint shares in exchange.Vault Manager
The vault manager is a person or entity in charge of managing the vault’s assets for the purpose of originating loans. They inspect each request loan that goes through the vault and typically have access to the information of the underlying collateral assets and the beneficiary’s credit score. A vault manager can:- Split payments into tranches
- Fund a loan
- Repossess a loan
- Upgrade a loan
Delegated Yield Manager
The delegated yield manager is a specialized entity that offers capital management services to the vault’s assets. They can ask for delegation of the vault’s assets with a 12-hour delay that allows the Access Manager admin to cancel the delegation if needed.Role References
- UPGRADER: 4853719658622747636 (
uint64(bytes8(keccak256("PlumaaID.UPGRADER")))
) - PROVENANCE_AUTHORIZER: 12236269664351332516 (
uint64(bytes8(keccak256("PlumaaID.PROVENANCE_AUTHORIZER")))
) - WITNESS_SETTER: 5639234726794575539 (
uint64(bytes8(keccak256("PlumaaID.WITNESS_SETTER")))
) - TINTERO_MANAGER_USDC_V01: 4691003184040892619 (
uint64(bytes8(keccak256("PlumaaID.TINTERO_MANAGER_USDC_V01")))
) - TINTERO_DELEGATE_USDC_V01: 13580011560138984285 (
uint64(bytes8(keccak256("PlumaaID.TINTERO_DELEGATE_USDC_V01")))
) - TINTERO_INVESTOR: 5986081590623214882 (
uint64(bytes8(keccak256("PlumaaID.TINTERO_INVESTOR")))
)
Role mapping
Role | Function signature | Selector | Target contract |
---|---|---|---|
UPGRADER | upgradeToAndCall(address,bytes) | 4f1ef286 | 0x0000c908D1104caD2867Ec2A8Bb178D78C9bAaaa |
WITNESS_SETTER | setWitness(address) | 0bc14f8b | 0x0000c908D1104caD2867Ec2A8Bb178D78C9bAaaa |
TINTERO_MANAGER_USDC_V01 | pushPayments(address,uint256[],(uint256,uint48,uint32,uint32,uint32,uint32)[]) | 69b24c8a | TBD |
TINTERO_MANAGER_USDC_V01 | pushTranches(address,uint96[],address[]) | 1589cd5e | TBD |
TINTERO_MANAGER_USDC_V01 | fundN(address,uint256) | ae527b8a | TBD |
TINTERO_MANAGER_USDC_V01 | repossess(address,uint256,uint256,address) | d3b500cf | TBD |
TINTERO_MANAGER_USDC_V01 | upgradeLoan(address,uint256,uint256,address) | c3aacfe3 | TBD |
TINTERO_DELEGATE_USDC_V01 | askDelegation(uint256) | 30adbaff | TBD |
TINTERO_INVESTOR | deposit(uint256,address) | 6e553f65 | TBD |
TINTERO_INVESTOR | mint(uint256,address) | 94bf804d | TBD |
Role members
Role | Address | Execution Delay |
---|---|---|
PROVENANCE_AUTHORIZER | 0xD4FAa2Bcdd1A438C9E69699166eDc92E65954ED7 | 0 |
UPGRADER | 0x00fA8957dC3D2f6081360056bf2f6d4b5f1a49aa | 259200 (3 days) |
WITNESS_SETTER | 0x00fA8957dC3D2f6081360056bf2f6d4b5f1a49aa | 0 |
TINTERO_MANAGER_USDC_V01 | TBD | 0 |
TINTERO_DELEGATE_USDC_V01 | TBD | 32200 (12 hrs) |
TINTERO_INVESTOR | TBD | 0 |