Oracle provider privileges can be granted to your account through a GrantBandOraclePrivilegeProposal. After the governance proposal is passed, you will be able to relay price feeds using your provider.
// Grant Privilegesmessage GrantProviderPrivilegeProposal {option(amino.name)="oracle/GrantProviderPrivilegeProposal";option(gogoproto.equal)=false;option(gogoproto.goproto_getters)=false;option(cosmos_proto.implements_interface)="cosmos.gov.v1beta1.Content";string title =1;string description =2;string provider =3;repeatedstring relayers =4;}
You can submit your proposal according to the example:
injectivedtxoraclegrant-provider-privilege-proposalYOUR_PROVIDER \YOUR_ADDRESS_HERE \--title="TITLE OF THE PROPOSAL" \--description="Registering PROVIDER as an oracle provider" \--chain-id=injective-888 \--from=local_key \--node=https://testnet.sentry.tm.injective.network:443 \--gas-prices=160000000inj \--gas=20000000 \--deposit="40000000000000000000inj"
To successfully pass the proposal for testnet, YOUR_DEPOSIT should be slightly less than min_deposit value (for example, 40000000000000000000inj). After that you should contact the Injective dev team. Dev team will top up your deposit to min_deposit and vote for your proposal.
RevokeProviderPrivilegeProposal
Oracle provider privileges can be revoked from your account through a RevokeProviderPrivilegeProposal.
Price feeder privileges for a given base quote pair can be issued to relayers through a GrantPriceFeederPrivilegeProposal.
// Grant Privilegesmessage GrantPriceFeederPrivilegeProposal {option(gogoproto.equal)=false;option(gogoproto.goproto_getters)=false;string title =1;string description =2;string base =3;string quote =4;repeatedstring relayers =5;}
RevokePriceFeederPrivilegeProposal
Price feeder privileges can be revoked from Relayer accounts through a RevokePriceFeederPrivilegeProposal.
// Revoke Privilegesmessage RevokePriceFeederPrivilegeProposal {option(gogoproto.equal)=false;option(gogoproto.goproto_getters)=false;string title =1;string description =2;string base =3;string quote =4;repeatedstring relayers =5;}
AuthorizeBandOracleRequestProposal
This proposal is to add a band oracle request into the list. When this is accepted, injective chain fetches one more price info from bandchain.
This proposal is used for deleting a request or updating the request. When DeleteRequestId is not zero, it deletes the request with the id and finish its execution. When DeleteRequestId is zero, it update the request with id UpdateOracleRequest.RequestId to UpdateOracleRequest.
This proposal is to enable IBC connection between Band chain and Injective chain. When the proposal is approved, it updates the BandIBCParams into newer one configured on the proposal.