Interface Requirement

Any interface looking to join the whitelist must possess the following hard requirements:

Open-Source: The interface needs to be open-source for auditability in order to ascertain the veracity of the data requests sent.

Timelock for Upgradable Contracts: Interfaces whose smart contracts are upgradable must possess a verifiable timelock mechanism for contract updates. This will ensure that there is a “grace period” for public and peer-review of the upgrade. The timelock must also be sufficient enough to enable Flux DAO to propose and vote on removing the interface should the contract upgrade be detrimental to the liveliness of the network.

Auditable TVS: The Oracle must be able to audit the TVS of the interface in real-time. This will enable it calculate data request fee that is likely to fluctuate due to market dynamics while maintaining the incentive equilibrium for ecosystem stakeholders.

Sample Proposal

A correct proposal should appear as follow:

{
interface_name: String,
contract_account_id: String,
callback: String,
total_value_secured_method: String,
request_value_secured_method :String,
code_base_url: String
}

interface_name: This is the proposed name of the protocol.

Contract_account_id: This is the NEAR account_id of the proposed protocol.

Callback: A function used to provide the Interface with requested data after finalizing the Data Request.

Total_value_secured_method: This is used to audit the amount of value secured by the Oracle for the interface. TVS calculation is the sum total of all the value secured per Interface(i).

total_value_secured = i = 0nTVSi