Page cover image

🎛️Configurações do Protocolo

🖌️ Design Ethos

Projetamos muitos parâmetros na Alpaca Finance para serem configuráveis. Embora as configurações iniciais sejam definidas pela equipe principal de desenvolvedores, temos toda a intenção de permitir que a comunidade de Governança decida sobre o que precisa ser alterado, o que acontecerá por meio de votação.

Timelock

Timelock é um contrato para atrasar mudanças no protocolo. Este contrato é proprietário de todos os principais contratos da Alpaca Finance. Assim, toda mudança precisa ser executada por meio desse contrato, o que o faz funcionar como um fosso de segurança.

Em essência, cada pedido do administrador (o grupo de desenvolvedores principais) precisa passar por este contrato e é atrasado por 24 horas antes de entrar em vigor. Para ser mais específico, o comando de execução da ordem vai para a fila, esperando para ser executado quando o atraso de 24h for ultrapassado. Esse é um recurso de segurança que permite que a comunidade veja as atualizações futuras e se prepare com antecedência para elas. Se algo parecer suspeito, eles podem retirar seus fundos do protocolo antes que a atualização entre em vigor.

Abaixo estão os contratos de propriedade da Timelock

  • Todos os contratos de cofre

  • FairLaunch Contrato

  • Todos Worker Contratos

  • Todos PriceOracle Contratos

  • Todos WorkerConfig Contractos

✏️ Wallet Multi-sig

Como uma camada adicional de segurança, também empregamos uma carteira multi-sig. Quaisquer alterações a serem colocadas em nosso contrato Timelock precisam ser aprovadas por uma multi-sig, adicionando outra camada de segurança.

Existem atualmente 4 signatários na multi-sig com um mínimo de 2 necessários para assinar uma transação.

⚙️ Parâmetros Ajustáveis

Esta seção lista todos os parâmetros e funções ajustáveis na Alpaca Finance

FairLaunch Contrato

  • addPool(_allocatedPoint, _stakeToken, _withUpdate)

    • _allocatedPoint = Quantos pontos são atribuídos a este pool. Isso afetará a distribuição de ALPACAs por bloco.

    • _stakeToken = O endereço de um token de staking necessário.

    • _withUpdate = Um sinalizador para cálculo de updatePool

  • setPool(_pid, _allocatedPoint, _withUpdate)

    • _pid = ID do pool que você deseja ajustar a pontuação

    • _allocatedPoint = Novos pontos a serem atribuídos a este pool. Isso afetará a distribuição de ALPACAs por bloco.

    • _withUpdate = Um sinalizador para cálculo de updatePool

  • setBonus(_bonusMultiplier, _bonusEndBlock, _bonusLockUpBps)

    • _bonusMultiplier = Multiplicador que será aplicado durante o período de bônus

    • _bonusEndBlock = O número do bloco que o bônus será encerrado

    • _bonusLockUpBps = % do bônus que é ganho no período de bônus a ser bloqueado

Vault Contract

  • updateConfig(_newConfig)

    • _newConfig = Um novo contrato implementado na interface IVaultConfig

  • setFairLaunchPoolId(_pid)

    • _pid = ID do pool no Fair Contract de que o token de staking é debtToken de propriedade do Vault

  • withdrawReserve(_to, _amount)

    • _to = O endereço para receber o valor

    • _amount = O montante a ser retirado da reserva

  • redeuceReserve(_amount)

    • _amount = Reduzir a parcela de reserva para gestão de tesouraria

PancakeswapWorker Contrato

  • setReinvestBountyBps(_newBountyBps)

    • _newBountyBps = Uma nova recompensa que o caçador de recompensas receberá quando acionar o reinvestimento

  • setStrategyOk(_strategyAddresses, _ok)

    • _strategyAddresses = Endereços para o contrato de estratégia

    • _ok = Pode ser verdadeiro ou falso. Se os _strategyAddresses acima precisarem ser desativados, defina _ok = false

  • setCriticalStrategies(_addStrategy, _liquidateStrategy)

    • _addStrategy = Definir addStrategy padrão

    • _liquidateStrategy = Definir liquidateStrategy padrão

SimplePriceOracle Contract

  • setFeeder(_address)

    • _address = The address of a new feeder

SimpleVaultConfig

  • setParams(_minDebtSize, _interestRate, _reservePoolBps, _killBps, _wrappedNative, _fairLaunch)

    • _minDebtSize = O mínimo necessário para que o mutuário empreste do pool

    • _interestRate = Taxa de juros por segundo

    • _reservePoolBps = % a ser colocado no pool de reserva no BPS

    • _killBps =% que os caçadores de recompensas receberão quando liquidarem a posição

    • _wrappedNative = Endereço do token wNative

    • _fairLaunch = Endereço do contrato de lançamento justo

  • setWorker(_workerAddress, _isWorker, _acceptDebt, _workFactor, _killFactor)

    • _workerAddress = O endereço do worker

    • _isWorker = O sinalizador a ser definido se for worker

    • _acceptDebt = O sinalizador para definir se este worker está aceitando a dívida

    • _workFactor = O limite de sinalizador para evitar que o usuário use muita alavancagem

    • _killFactor = O limite para marcar se a posição pode ser liquidada, também conhecido como limite de liquidação

ConfigurableInterestVaultConfig

  • setParams(_minDebtSize, _reservePoolBps, _killBps, _interestModelAddress, _wrappedNative, _fairLaunch)

    • _minDebtSize = O mínimo necessário para que o mutuário empreste do pool

    • _reservePoolBps = % a ser colocado no pool de reserva no BPS

    • _killBps = % que os caçadores de recompensas receberão quando liquidarem a posição

    • _interestModelAddress = Endereço do modelo de juros

    • _wrappedNative = Endereço do token wNative

    • _fairLaunch = Endereço do contrato de lançamento justo

PancakeswapWorkerConfig

  • setOracle(_newOracleAddress)

    • _newOracleAddress = O novo endereço do oráculo

  • setConfigs([ ]_WorkerAddress, [ ]_configs)

    • [ ]_WorkerAddress = endereço worker

    • [ ]_configs = Configuração do objeto incluindo:

      • _acceptDebt

      • _workFactor = O limite para evitar que o usuário se alavanque demais

      • _killFactor = O limite para marcar se a posição pode ser liquidada, também conhecido como limite de liquidação

      • _maxPriceDiff

Last updated

Was this helpful?