| Symbol | Address | Decimals |
|---|---|---|
| OKB | 0xda9d14072ef2262c64240da3a93fea2279253611 | 10 |
| USDT | 0xe579156f9decc4134b5e3a30a24ac46bb8b01281 | 10 |
| USDC | 0x3e33590013b24bf21d4ccca3a965ea10e570d5b2 | 10 |
| USDK | 0x533367b864d9b9aa59d0dcb6554df0c89feef1ff | 10 |
| BTCK | 0x09973e7e3914eb5ba69c7c025f30ab9446e3e4e0 | 10 |
| ETHK | 0xdf950cecf33e64176ada5dd733e170a56d11478e | 10 |
| DOTK | 0x72f8fa5da80dc6e20e00d02724cf05ebd302c35f | 10 |
| FILK | 0xf6a0dc1fd1d2c0122ab075d7ef93ad79f02ccb93 | 10 |
| LTCK | 0xd616388f6533b6f1c31968a305fbee1727f55850 | 10 |
| 名称 | Address |
|---|---|
| WOKT | 0x2219845942d28716c0F7C605765fABDcA1a7d9E0 |
| KST | 0x97019205d81eD9302F349f18116FE3dDec37d384 |
| Factory | 0xD68B1DCDe3bAeB3FF1483Ad33c3efC6B6e0A8E4C |
| Router | 0x2f46e5fF1F616cfc00F4e6fA2eFFbA4B0AAA7b6F |
| Liquidity Pool | 0x7377d5C2E2eC35EBcdDd3d1F003A775A4179880C |
| Trading Pool | 0xA72E1121Cfa54eB165cb6D96271237b7047E74c3 |
| Deposit Pool | 0xF1b4437c9F96Ed9335686CE3a20681C800780CD2 |
| KSwap Liquidity Math Library | 0x700140CC013362c9e3A325C01Ec698799bD50967 |
| KSwap Price | 0x504D61b9BE4288A925aFd4F9B624bf72bB57349F |
code hash 0x7f08f1b43a5b37be17b2d24d4f2c6b1311e19eedc53cc4528f0e72cdfb5d8d37
struct UserView {
uint256 stakedAmount; // 质押的 LP Token 数量
uint256 unclaimedRewards; // 未领取的 KST 数量
uint256 lpBalance; // LP Token 余额
uint256 accKstAmount; // 累计获得的 KST 数量
}
struct PoolView {
uint256 pid; // Pool ID
address lpToken; // LP Token 地址
uint256 allocPoint; // 分配权重
uint256 lastRewardBlock; // 上次奖励的区块
uint256 rewardsPerBlock; // 每个区块奖励的 KST 数量
uint256 accKstPerShare; //
uint256 allocKstAmount; // 当前池子待分配 KST 数量
uint256 accKstAmount; // 当前池子累计 KST 奖励数量
uint256 totalAmount; // 累计 LP Token 数量
address token0; // token0 地址
string symbol0; // token0 的 symbol
string name0; // token0 的 name
uint8 decimals0; // token0 的 decimal
address token1; // token1 地址
string symbol1; // token1 的 symbol
string name1; // token1 的 name
uint8 decimals1; // token1 的 decimal
}
function getPairsLength() public view returns (uint256);
参数描述:无
返回数据:流动性挖矿支持的交易对的长度
function getPairs(uint256 _index) public view returns (address)
参数描述:pool id
返回数据:pool id 所对应的 LP Token 地址
function getPoolView(uint256 pid) public view returns (PoolView);
参数描述:pool id
返回数据:pool id 所对应的矿池信息,格式为 PoolView
{
0,
0x147608dfeEEB05FD149784B9b740F71BabE8b69C,
80,
1211103,
8000000000000000000,
11162870241097088797895,
204720454594968106810121,
205846844466310619506678,
459718653323436,
0x09973e7e3914EB5BA69C7c025F30ab9446e3e4e0,
BTCK,
BTCK,
10,
0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281,
USDT,
USDT,
10
}
function getPoolViewByAddress(address lpToken) public view returns (PoolView);
参数描述: LP Token 地址
返回数据: LP Token 地址所对应的矿池信息,格式为 PoolView
{
0,
0x147608dfeEEB05FD149784B9b740F71BabE8b69C,
80,
1211103,
8000000000000000000,
11162870241097088797895,
204720454594968106810121,
205846844466310619506678,
459718653323436,
0x09973e7e3914EB5BA69C7c025F30ab9446e3e4e0,
BTCK,
BTCK,
10,
0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281,
USDT,
USDT,
10
}
function getAllPoolViews() external view returns (PoolView[]);
参数描述:无
返回数据:所以矿池信息的数组 PoolView[]
function getUserView(address lpToken, address account) public view returns (UserView);
参数描述:lpToken(LP Token 地址),account(用户地址)
返回数据:用户在当前矿池的信息,格式为 UserView
{
20000000000000,
4937488418945023258520,
2216067977498789,
248299282895959242880370
}
function getUserViews(address account) external view returns (UserView[]);
参数描述:用户地址
返回数据:用户所有的矿池信息,格式为 UserView[]
function pendingKst(uint256 _pid, address _user) public view returns (uint256);
参数描述:_pid(矿池 id), _user(用户地址)
返回数据:待领取 KST 奖励
struct UserView {
uint256 quantity; // 当前算力
uint256 accQuantity; // 累计算力
uint256 unclaimedRewards; // 待领取 KST 奖励
uint256 accKstAmount; // 累计领取的 KST 奖励
}
struct PoolView {
uint256 pid; // Pool ID
address pair; // LP Token 地址
uint256 allocPoint; // 分配权重
uint256 lastRewardBlock; // 上次奖励的区块
uint256 rewardsPerBlock; // 每个区块奖励的 KST 数量
uint256 accKstPerShare; //
uint256 allocKstAmount; // 当前池子待分配 KST 数量
uint256 accKstAmount; // 当前池子累计 KST 奖励数量
uint256 quantity; // 当前池子总算力
uint256 accQuantity; // 池子累计算力
address token0; // token0 地址
string symbol0; // token0 的 symbol
string name0; // token0 的 name
uint8 decimals0; // token0 的 decimal
address token1; // token1 地址
string symbol1; // token1 的 symbol
string name1; // token1 的 name
uint8 decimals1; // token1 的 decimal
}
function getPairsLength() public view returns (uint256);
参数描述:无
返回数据:当前所有矿池长度
function getPairs(uint256 _index) public view returns (address)
参数描述:pool id
返回数据:pool id 所对应的 LP Token 地址
function getPoolView(uint256 pid) public view returns (PoolView);
参数描述:pool id
返回数据:pool id 所对应的矿池信息,格式为 PoolView
{
0,
0x147608dfeEEB05FD149784B9b740F71BabE8b69C,
80,
1211375,
8000000000000000000,
11818099648289020208,
216886686568843739373784,
219250400000000000000000,
5041836114007644929,
5194134066507771109,
0x09973e7e3914EB5BA69C7c025F30ab9446e3e4e0,
BTCK,
BTCK,
10,
0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281,
USDT,
USDT,
10
}
function getPoolViewByAddress(address lpToken) public view returns (PoolView);
参数描述: LP Token 地址
返回数据: LP Token 地址所对应的矿池信息,格式为 PoolView
{
0,
0x147608dfeEEB05FD149784B9b740F71BabE8b69C,
80,
1211375,
8000000000000000000,
11818099648289020208,
216886686568843739373784,
219250400000000000000000,
5041836114007644929,
5194134066507771109,
0x09973e7e3914EB5BA69C7c025F30ab9446e3e4e0,
BTCK,
BTCK,
10,
0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281,
USDT,
USDT,
10
}
function getAllPoolViews() external view returns (PoolView[]);
参数描述:无
返回数据:所以矿池信息的数组 PoolView[]
function getUserView(address lpToken, address account) public view returns (UserView);
参数描述:lpToken(LP Token 地址),account(用户地址)
返回数据:用户在当前矿池的信息,格式为 UserView
{
0,
50769221025681,
0,
16028168716695069595
}
function getUserViews(address account) external view returns (UserView[]);
参数描述:用户地址
返回数据:用户所有的矿池信息,格式为 UserView[]
function pendingKst(uint256 _pid, address _user) public view returns (uint256);
参数描述:_pid(矿池 id), _user(用户地址)
返回数据:待领取 KST 奖励
struct UserView {
uint256 stakedAmount; // 质押数量
uint256 unclaimedRewards; // 待领取 KST 奖励
uint256 tokenBalance; // 余额
uint256 accKstAmount; // 累计领取的 KST 奖励
}
struct PoolView {
uint256 pid; // Pool ID
uint256 allocPoint; // 分配权重
uint256 lastRewardBlock; // 上次奖励的区块
uint256 rewardsPerBlock; // 每个区块奖励的 KST 数量
uint256 accKstPerShare; //
uint256 allocKstAmount; // 当前池子待分配 KST 数量
uint256 accKstAmount; // 当前池子累计 KST 奖励数量
uint256 totalAmount; // 当前池子的 token 总量
address token0; // token 地址
string symbol0; // token 的 symbol
string name0; // token 的 name
uint8 decimals0; // token 的 decimal
}
function getTokensLength() public view returns (uint256);
参数描述:无
返回数据:当前所有矿池长度
function getTokens(uint256 _index) public view returns (address)
参数描述:pool id
返回数据:pool id 所对应的 LP Token 地址
function getPoolView(uint256 pid) public view returns (PoolView);
参数描述:pool id
返回数据:pool id 所对应的矿池信息,格式为 PoolView
{
0,
15,
1211494,
1600000000000000000,
41266691645935080727,
24711052324764238061565,
25202993672849952872653,
280422051000629063970093,
0x2219845942d28716c0F7C605765fABDcA1a7d9E0,
WOKT,
Wrapped OKT,
18
}
function getPoolViewByAddress(address lpToken) public view returns (PoolView);
参数描述: LP Token 地址
返回数据: LP Token 地址所对应的矿池信息,格式为 PoolView
{
0,
15,
1211494,
1600000000000000000,
41266691645935080727,
24711052324764238061565,
25202993672849952872653,
280422051000629063970093,
0x2219845942d28716c0F7C605765fABDcA1a7d9E0,
WOKT,
Wrapped OKT,
18
}
function getAllPoolViews() external view returns (PoolView[]);
参数描述:无
返回数据:所以矿池信息的数组 PoolView[]
function getUserView(address lpToken, address account) public view returns (UserView);
参数描述:lpToken(LP Token 地址),account(用户地址)
返回数据:用户在当前矿池的信息,格式为 UserView
{
100000000000000,
4126669164636300713100,
90078704680329001278865,
0
}
function getUserViews(address account) external view returns (UserView[]);
参数描述:用户地址
返回数据:用户所有的矿池信息,格式为 UserView[]
function pendingKst(uint256 _pid, address _user) public view returns (uint256);
参数描述:_pid(矿池 id), _user(用户地址)
返回数据:待领取 KST 奖励
function getPriceOfUSD(address addrUSD, address addrToken) public view returns (uint256, uint256);
参数描述
- addrUSD:用于计价的基础货币合约地址,可以是 USDT、USDC、USDK 等,推荐使用 USDT
- addrToken:待查询的通证合约地址
返回数据
- 0:如果存在待查询通证与 addrUSD 组成的交易对,返回以该交易对为基准计算的价格
- 1:如果存在待查询通证与 WOKT 组成的交易对,返回由 WOKT 交易对间接计算的价格
注意
价格的精度为 18,获得查询结果后,需要除以1e18可以得到字面价格
示例:
const Web3 = require('web3');
const fs = require('fs');
const web3 = new Web3('https://exchaintest.okexcn.com');
const priceABI = JSON.parse(fs.readFileSync('./kswap-price.json'));
const priceContract = new web3.eth.Contract(priceABI, '0x504D61b9BE4288A925aFd4F9B624bf72bB57349F');
const main = async () => {
try {
const result = await priceContract.methods.getPriceOfUSD('0xe579156f9decc4134b5e3a30a24ac46bb8b01281', '0xdf950cecf33e64176ada5dd733e170a56d11478e').call();
console.log(result);
} catch (err) {
console.log(err);
}
}
main()function getLPTokenPriceOfUSD(address addrUSD, address addrPair) public view returns(uint256);
参数描述
- addrUSD:用于计价的基础货币合约地址,可以是 USDT、USDC、USDK 等,推荐使用 USDT
- addrPair:待查询的交易对地址
返回数据:该交易对对应的 LP 通证价格
注意
价格的精度为 18,获得查询结果后,需要除以1e18可以得到字面价格