The Opdex Platform Web API is an interface for querying information from the Opdex contract indexer and quoting Opdex smart contract transactions. This project maintains a C# SDK that integrates with the API.
To get started, install the NuGet package into your project.
dotnet add package Opdex.Client
Using the API client is as simple as creating an instance of OpdexApi
. It is recommended to configure OpdexApi
as a typed client, in the following way:
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpClient<IOpdexApi, OpdexApi>(config => config.BaseAddress = new Uri("https://v1-test-api.opdex.com/v1"));
}
It is then possible to access IOpdexApi
wherever it can be resolved through dependency injection. For example, you might inject it into a class constructor.
public class MyService
{
private readonly IOpdexApi _opdexApi;
public MyService(IOpdexApi opdexApi)
{
_opdexApi = opdexApi;
}
public async Task DoSomething()
{
var market = await _opdexApi.Markets.GetMarketAsync("t7RorA7xQCMVYKPM1ibPE1NSswaLbpqLQb");
}
}
Class | Method | HTTP request | Description |
---|---|---|---|
AuthenticationApi | Authenticate | POST /auth | Stratis Signature Auth |
AuthenticationApi | AuthenticateCallback | POST /auth/callback | Stratis Signature Auth Callback |
AuthenticationApi | GetStratisId | GET /auth | Get Stratis Id |
BlocksApi | GetBlock | GET /blocks/{height} | Get Block |
BlocksApi | GetBlocks | GET /blocks | Get Blocks |
IndexerApi | GetIndexerStatus | GET /indexer | Get Indexer Status |
LiquidityPoolsApi | BuildAddLiquidityQuote | POST /liquidity-pools/{pool}/add | Build Add Liquidity Transaction Quote |
LiquidityPoolsApi | BuildCollectStakingRewardsQuote | POST /liquidity-pools/{pool}/staking/collect | Build Collect Staking Rewards Transaction Quote |
LiquidityPoolsApi | BuildCreateLiquidityPoolQuote | POST /liquidity-pools | Build Create Liquidity Pool Transaction Quote |
LiquidityPoolsApi | BuildRemoveLiquidityQuote | POST /liquidity-pools/{pool}/remove | Build Remove Liquidity Transaction Quote |
LiquidityPoolsApi | BuildSkimQuote | POST /liquidity-pools/{pool}/skim | Build Skim Transaction Quote |
LiquidityPoolsApi | BuildStartStakingQuote | POST /liquidity-pools/{pool}/staking/start | Build Start Staking Transaction Quote |
LiquidityPoolsApi | BuildStopStakingQuote | POST /liquidity-pools/{pool}/staking/stop | Build Stop Staking Transaction Quote |
LiquidityPoolsApi | BuildSyncQuote | POST /liquidity-pools/{pool}/sync | Build Sync Transaction Quote |
LiquidityPoolsApi | GetLiquidityAmountInQuote | POST /liquidity-pools/{pool}/add/amount-in | Add Liquidity Amount In Quote |
LiquidityPoolsApi | GetLiquidityPool | GET /liquidity-pools/{pool} | Get Liquidity Pool |
LiquidityPoolsApi | GetLiquidityPoolHistory | GET /liquidity-pools/{pool}/history | Get Liquidity Pool History |
LiquidityPoolsApi | GetLiquidityPools | GET /liquidity-pools | Get Liquidity Pools |
MarketTokensApi | GetMarketToken | GET /markets/{market}/tokens/{token} | Get Market Token |
MarketTokensApi | GetMarketTokenHistory | GET /markets/{market}/tokens/{token}/history | Get Market Token History |
MarketTokensApi | GetMarketTokens | GET /markets/{market}/tokens | Get Market Tokens |
MarketTokensApi | GetSwapAmountInQuote | POST /markets/{market}/tokens/{token}/swap/amount-in | Swap Amount In Quote |
MarketTokensApi | GetSwapAmountOutQuote | POST /markets/{market}/tokens/{token}/swap/amount-out | Swap Amount Out Quote |
MarketTokensApi | Swap | POST /markets/{market}/tokens/{token}/swap | Build Swap Tokens Transaction Quote |
MarketsApi | BuildClaimMarketOwnershipQuote | POST /markets/{market}/standard/claim-ownership | Build Claim Market Ownership Transaction Quote |
MarketsApi | BuildCollectMarketFeesQuote | POST /markets/{market}/standard/collect-fees | Build Collect Market Fees Transaction Quote |
MarketsApi | BuildCreateStakingMarketQuote | POST /markets/staking | Build Create Staking Market Transaction Quote |
MarketsApi | BuildCreateStandardMarketQuote | POST /markets/standard | Build Create Standard Market Transaction Quote |
MarketsApi | BuildSetMarketOwnershipQuote | POST /markets/{market}/standard/set-ownership | Build Set Market Ownership Transaction Quote |
MarketsApi | BuildSetMarketPermissionsQuote | POST /markets/{market}/standard/permissions/{address} | Build Set Market Permissions Transaction Quote |
MarketsApi | GetMarket | GET /markets/{market} | Get Market |
MarketsApi | GetMarketHistory | GET /markets/{market}/history | Get Market History |
MarketsApi | GetMarketPermissions | GET /markets/{market}/standard/permissions/{address} | Get Market Permissions |
MarketsApi | GetMarkets | GET /markets | Get Markets |
MiningGovernancesApi | BuildRewardMiningPoolsQuote | POST /mining-governances/{governance}/reward-mining-pools | Build Reward Mining Pools Transaction Quote |
MiningGovernancesApi | GetMiningGovernance | GET /mining-governances/{governance} | Get Mining Governance |
MiningGovernancesApi | GetMiningGovernances | GET /mining-governances | Get Mining Governances |
MiningPoolsApi | BuildCollectMiningRewardsQuote | POST /mining-pools/{pool}/collect | Build Collect Mining Rewards Transaction Quote |
MiningPoolsApi | BuildStartMiningQuote | POST /mining-pools/{pool}/start | Build Start Mining Transaction Quote |
MiningPoolsApi | BuildStopMiningQuote | POST /mining-pools/{pool}/stop | Build Stop Mining Transaction Quote |
MiningPoolsApi | GetMiningPool | GET /mining-pools/{pool} | Get Mining Pool |
MiningPoolsApi | GetMiningPools | GET /mining-pools | Get Mining Pools |
StatusApi | GetStatus | GET /status | Get Status |
TokensApi | AddToken | POST /tokens | Add Token |
TokensApi | BuildApproveAllowanceQuote | POST /tokens/{token}/approve | Build Approve Allowance Transaction Quote |
TokensApi | BuildDistributeTokensQuote | POST /tokens/{token}/distribute | Build Distribute Tokens Transaction Quote |
TokensApi | GetToken | GET /tokens/{token} | Get Token |
TokensApi | GetTokenHistory | GET /tokens/{token}/history | Get Token History |
TokensApi | GetTokens | GET /tokens | Get Tokens |
TransactionsApi | GetTransaction | GET /transaction/{hash} | Get Transaction |
TransactionsApi | GetTransactions | GET /transactions | Get Transactions |
TransactionsApi | NotifyTransactionBroadcast | POST /transactions | Notify Broadcast |
TransactionsApi | ReplayQuote | POST /transaction/replay-quote | Replay Transaction Quote |
VaultsApi | BuildCompleteProposalQuote | POST /vaults/{vault}/proposals/{proposalId}/complete | Build Complete Proposal Transaction Quote |
VaultsApi | BuildPledgeQuote | POST /vaults/{vault}/proposals/{proposalId}/pledges | Build Make Pledge Transaction Quote |
VaultsApi | BuildProposeChangeMinimumPledgeQuote | POST /vaults/{vault}/proposals/minimum-pledge | Build Propose Change Minimum Pledge Transaction Quote |
VaultsApi | BuildProposeChangeMinimumVoteQuote | POST /vaults/{vault}/proposals/minimum-vote | Build Propose Change Minimum Vote Transaction Quote |
VaultsApi | BuildProposeCreateCertificateQuote | POST /vaults/{vault}/proposals/create-certificate | Build Propose Create Certificate Transaction Quote |
VaultsApi | BuildProposeRevokeCertificateQuote | POST /vaults/{vault}/proposals/revoke-certificate | Build Propose Revoke Certificate Transaction Quote |
VaultsApi | BuildRedeemCertificateQuote | POST /vaults/{vault}/certificates/redeem | Build Redeem Vault Certificate Transaction Quote |
VaultsApi | BuildVoteQuote | POST /vaults/{vault}/proposals/{proposalId}/votes | Build Cast Vote Transaction Quote |
VaultsApi | BuildWithdrawPledgeQuote | POST /vaults/{vault}/proposals/{proposalId}/pledges/withdraw | Build Withdraw Pledge Transaction Quote |
VaultsApi | BuildWithdrawVoteQuote | POST /vaults/{vault}/proposals/{proposalId}/votes/withdraw | Build Withdraw Vote Transaction Quote |
VaultsApi | GetCertificates | GET /vaults/{vault}/certificates | Get Vault Certificates |
VaultsApi | GetPledgePosition | GET /vaults/{vault}/proposals/{proposalId}/pledges/{pledger} | Get Vault Proposal Pledge Position |
VaultsApi | GetPledges | GET /vaults/{vault}/pledges | Get Vault Proposal Pledges |
VaultsApi | GetProposals | GET /vaults/{vault}/proposals | Get Vault Proposals |
VaultsApi | GetVault | GET /vaults/{vault} | Get Vault |
VaultsApi | GetVaultProposal | GET /vaults/{vault}/proposals/{proposalId} | Get Vault Proposal |
VaultsApi | GetVaults | GET /vaults | Get Vaults |
VaultsApi | GetVotePosition | GET /vaults/{vault}/proposals/{proposalId}/votes/{voter} | Get Vault Proposal Vote Position |
VaultsApi | GetVotes | GET /vaults/{vault}/votes | Get Vault Proposal Votes |
WalletsApi | GetApprovedAllowance | GET /wallets/{address}/allowance/{token}/approved/{spender} | Get Approved Allowance |
WalletsApi | GetBalance | GET /wallets/{address}/balance/{token} | Get Balance |
WalletsApi | GetBalances | GET /wallets/{address}/balance | Get Balances |
WalletsApi | GetMiningPosition | GET /wallets/{address}/mining/{pool} | Get Mining Position |
WalletsApi | GetMiningPositions | GET /wallets/{address}/mining | Get Mining Positions |
WalletsApi | GetStakingPosition | GET /wallets/{address}/staking/{pool} | Get Staking Position |
WalletsApi | GetStakingPositions | GET /wallets/{address}/staking | Get Staking Positions |
WalletsApi | RefreshBalance | POST /wallets/{address}/balance/{token} | Refresh Balance |