볼트

볼트 패키지

이 패키지는 볼트 조작을 위한 인터페이스를 제공합니다. 주요 진입점은 AfterburnerVault 구조체로, 사용자가 Coin 타입의 코인을 스테이크할 수 있는 볼트입니다. 볼트에는 어떤 수의 보상도 추가될 수 있으며, 각 보상의 배출 일정에 따라 스테이커에게 배출됩니다. 사용자는 볼트에 진입할 때 자신의 포지션을 잠그어 보너스 보상을 받을 수 있습니다. '엄격한' 구현의 경우 어떤 시점에서든, '유연한' 구현의 경우 잠금 기간이 끝난 후에 보상을 청구할 수 있습니다.

엄격한 구현과 유연한 구현

Afterburner 볼트는 사용자가 자신의 포지션을 잠그어 더 많은 보상을 받을 수 있도록 합니다. 그러나, 변화가 빠른 DeFi 환경에서 잠금의 전형적인 문제점은 사용자의 자본을 위한 더 유리한 기회가 나타날 수 있으며, 자산이 잠겨 있는 경우 이 기회를 놓칠 수 있다는 것입니다.

이 문제를 극복하기 위해 우리는 잠금 기간이 끝나기 전에 사용자가 자신의 포지션을 잠금 해제할 수 있는 '유연한' 볼트 변형을 제안합니다. 이 경우 사용자는 포지션을 잠근 시간 동안만 보너스 보상을 받게 됩니다.

반대로, Afterburner Vault는 잠금 기간이 끝난 후에만 사용자가 자신의 포지션을 잠금 해제하고, 따라서 인출할 수 있는 '엄격한' 버전도 제공합니다.

엄격한 구현의 경우, 사용자는 언제든지 자신의 보상을 청구할 수 있습니다.

유연한 구현의 경우, 사용자는 포지션이 잠금 해제된 후에만 자신의 보상을 청구할 수 있습니다.

볼트 생성

볼트 생성은 new<STAKE> 메서드가 담당합니다. 이 메서드는 배출이 없는 새로운 볼트를 생성합니다. 매개변수 중 하나는 '엄격한' 볼트( lock_enforcement = 0) 또는 '유연한' 볼트( lock_enforcement = 1) 생성을 가능하게 하는 lock_enforcement입니다. 볼트가 생성된 후, share_vault<stake> 함수를 실행하여 공유해야 합니다.

볼트가 기능하려면, 보상 배출이 볼트 소유자에 의해 초기화되어야 합니다. 이는 initialize_reward<STAKE, REWARD> 메서드를 호출함으로써 달성될 수 있으며, 배출 일정, 배출 비율, 배출 지연 시간을 설정할 수 있습니다.

보상 추가 및 증가

소유자는 add_reward<STAKE, REWARD> 메서드를 사용하여 볼트에 추가 보상을 추가하거나, increase_emissions_for<STAKE, REWARD> 함수를 사용하여 보상 배출을 증가시킬 수 있습니다.

Last updated