풀 SDK
Pools는 market을 나타내는 shared object이다. pools에 대한 자세한 내용은 풀 조회을 참조한다.
풀 함수
DeepBookV3 SDK는 pool의 상태를 읽 기 위해 호출할 수 있는 함수를 노출한다. 이러한 함수는 일반적으로 managerKey, coinKey, poolKey, 또는 이들의 조합을 요구한다. 이러한 keys에 대한 자세한 내용은 DeepBookV3 SDK를 참조한다. SDK에는 constants.ts file에서 볼 수 있는 몇 가지 기본 keys가 포함되어 있다.
입력 amount, 수량, price는 표준 소수 형식(예: 10.5 SUI, 0.00001 nBTC)으로 제공해야 한다. SDK는 내부적으로 base units로의 변환을 처리한다. 반환되는 amounts도 표준 소수 형식이다.
계정
account를 사용하여 pool에서 BalanceManager에 대한 account 정보를 조회하며, 이는 다음 형식을 가진다:
{
epoch: '511',
open_orders: {
constants: [
'170141211130585342296014727715884105730',
'18446744092156295689709543266',
'18446744092156295689709543265'
]
},
taker_volume: 0,
maker_volume: 0,
active_stake: 0,
inactive_stake: 0,
created_proposal: false,
voted_proposal: null,
unclaimed_rebates: { base: 0, quote: 0, deep: 0 },
settled_balances: { base: 0, quote: 0, deep: 0 },
owed_balances: { base: 0, quote: 0, deep: 0 }
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.balanceManagerKey: SDK에서 정의된 balance manager의 key이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.accountOpenOrders
accountOpenOrders를 사용하여 제공한 IDs를 가진 balance manager와 pool에 대한 open orders를 조회한다. 이 호출은 open order IDs의 array를 포함하는 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.managerKey: 조회할 balance manager를 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.checkManagerBalance
checkManagerBalance를 사용하여 특정 coin에 대한 balance manager를 확인한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
coinType: string,
balance: number
}
매개변수
managerKey: 조회할 balance manager를 식별하는 String이다.coinKey: balance를 조회할 coin을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getOrder
getOrder를 사용하여 order의 정보를 조회한다. 이 호출은 다음 형식을 가진 Order struct의 Promise를 반환한다:
{
balance_manager_id: {
bytes: '0x6149bfe6808f0d6a9db1c766552b7ae1df477f5885493436214ed4228e842393'
},
order_id: '9223372036873222552073709551614',
client_order_id: '888',
quantity: '50000000',
filled_quantity: '0',
fee_is_deep: true,
order_deep_price: { asset_is_base: false, deep_per_asset: '0' },
epoch: '440',
status: 0,
expire_timestamp: '1844674407370955161'
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
orderId: 조회할 order의 ID이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getQuoteQuantityOut
getQuoteQuantityOut을 사용하여 제공한 base 수량에 대한 quote 수량 out을 조회한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
baseQuantity: number,
baseOut: number,
quoteOut: number,
deepRequired: number
}
여기서 deepRequired는 dry run에 필요한 DEEP의 양이다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.baseQuantity: 변환하려는 base 수량을 정의하는 Number이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getBaseQuantityOut
getBaseQuantityOut을 사용하여 제공한 quote 수량에 대한 base 수량 out을 조회한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
quoteQuantity: number,
baseOut: number,
quoteOut: number,
deepRequired: number
}
여기서 deepRequired는 dry run에 필요한 DEEP의 양이다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.quoteQuantity: 변환하려는 quote 수량을 정의하는 Number이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getQuantityOut
getQuantityOut을 사용하여 제공한 base 또는 quote 수량에 대한 output 수량을 조회한다. 두 수량 모두에 값을 제공하지만 그중 하나만 0이 아니어야 한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
baseQuantity: number,
quoteQuantity: number,
baseOut: number,
quoteOut: number,
deepRequired: number
}
여기서 deepRequired는 dry run에 필요한 DEEP의 양이다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.baseQuantity: 변환하려는 base 수량을 정의하는 Number이다. quote 수량을 사용하는 경우0으로 설정한다.quoteQuantity: 변환하려는 quote 수량을 정의하는 Number이다. base 수량을 사용하는 경우0으로 설정한다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getLevel2Range
getLevel2Range를 사용하여 제공한 경계 price range 내의 level 2 order book을 조회한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
prices: Array<number>,
quantities: Array<number>
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.priceLow: price range의 lower bound를 나타내는 Number이다.priceHigh: price range의 upper bound를 나타내는 Number이다.isBid:true로 설정되면 bid orders를 가져오고, 그렇지 않으면 ask orders를 조회하는 Boolean이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getLevel2TicksFromMid
getLevel2TicksFromMid를 사용하여 제공한 ID를 가진 pool에 대해 mid-price부터의 level 2 order book ticks를 조회한다. 이 호출은 다음 형식의 Promise를 반환한다:
{
bid_prices: Array<number>,
bid_quantities: Array<number>,
ask_prices: Array<number>,
ask_quantities: Array<number>
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.ticks: mid-price로부터의 ticks 수를 나타내는 Number이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.lockedBalance
lockedBalance를 사용하여 pool에서 BalanceManager의 locked balance를 조회한다. 이 호출은 다음 형식의 Order struct의 Promise를 반환한다:
{
base: 5.5,
quote: 2,
deep: 0.15,
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
balanceManagerKey: SDK에서 정의된 balance manager의 key이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.poolTradeParams
poolTradeParams를 사용하여 pool의 trade params를 조회하며, 이는 다음 형식을 가진다:
{
takerFee: 0.001,
makerFee: 0.0005,
stakeRequired: 100,
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.vaultBalances
vaultBalances를 사용하여 제공한 ID를 가진 pool의 vault balances를 가져온다. 이 호출은 다음 형식의 Promise를 반환한다:
{
base: number,
quote: number,
deep: number
}
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getPoolIdByAssets
getPoolIdByAssets를 사용하여 제공한 자산 types에 대한 pool ID를 조회한다. 이 호출은 pool을 찾으면 해당 address를 담은 Promise를 반환한다.
매개변수
baseType: base 자산의 type을 나타내는 String이다.quoteType: quote 자산의 type을 나타내는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.midPrice
midPrice를 사용하여 제공한 ID를 가진 pool의 mid price를 조회한다. 이 호출은 mid price를 담은 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.whitelisted
whitelisted를 사용하여 제공한 ID를 가진 pool이 whitelisted인지 확인한다. 이 호출은 pool이 whitelisted인지 여부를 나타내는 boolean인 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.poolBookParams
poolBookParams를 사용하여 tick size, lot size, min size를 포함한 pool의 book parameters를 조회한다. 이 호출은 book parameters를 담은 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getOrders
getOrders를 사용하여 pool에서 여러 orders를 조회한다. 이 호출은 order information의 array를 담은 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.orderIds: 조회할 order IDs를 나타내는 strings의 Array이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.getPoolDeepPrice
getPoolDeepPrice를 사용하여 pool에 대한 DEEP price conversion을 가져온다. 이 호출은 DEEP price information을 담은 Promise를 반환한다.
매개변수
poolKey: 조회할 pool을 식별하는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.admin function
SDK는 pool 관리를 위한 관리 함수를 제공한다.
addDeepPricePoint
addDeepPricePoint를 사용하여 reference pool을 사용해 target pool에 DEEP price point를 추가한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
targetPoolKey: target pool을 식별하는 String이다.referencePoolKey: reference pool을 식별하는 String이다.
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.updatePoolAllowedVersions
updatePoolAllowedVersions를 사용하여 pool에 대해 허용된 package versions를 업데이트한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
poolKey: pool을 식별하는 String이다.
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.createPermissionlessPool
createPermissionlessPool을 사용하여 새로운 permissionless pool을 생성한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
params: 다음을 포함하는CreatePermissionlessPoolParamsobject이다:baseCoinKey: base coin을 식별하는 String이다.quoteCoinKey: quote coin을 식별하는 String이다.tickSize: tick size를 나타내는 Number이다.lotSize: lot size를 나타내는 Number이다.minSize: minimum order size를 나타내는 Number이다.deepCoin: DEEP token payment를 위한 optionalTransactionArgument이다.
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.getBalanceManagerIds
getBalanceManagerIds를 사용하여 특정 owner에 대한 모든 balance manager IDs를 가져온다. 이 호출은 balance manager IDs의 array를 담은 Promise를 반환한다.
매개변수
owner: owner address를 나타내는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.referral function
SDK는 referrals를 관리하고 trading activity로부터 referral fees를 획득하기 위한 함수를 제공한다.
mintReferral
mintReferral을 사용하여 지정된 multiplier로 pool에 대한 새로운 referral을 생성한다. multiplier는 trading fees의 몇 퍼센트를 referrer에게 할당할지 결정한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
poolKey: pool을 식별하는 String이다.multiplier: referral multiplier를 나타내는 Number이다(예: 10%에 대해 0.1).
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.updateReferralMultiplier
updateReferralMultiplier를 사용하여 기존 referral의 multiplier를 업데이트한다. referral owner만 multiplier를 업데이트할 수 있다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
poolKey: pool을 식별하는 String이다.referral: referral ID를 나타내는 String이다.multiplier: 새로운 referral multiplier를 나타내는 Number이다.
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.claimReferralRewards
claimReferralRewards를 사용하여 누적된 referral fees를 claim한다. 이 호출은 baseRewards, quoteRewards, deepRewards를 포함하는 object를 반환한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
poolKey: pool을 식별하는 String이다.referral: referral ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/deepbook.ts. You probably need to run `pnpm prebuild` and restart the site.getReferralBalances
getReferralBalances를 사용하여 claim하지 않고 referral의 현재 누적 balances를 조회한다. 이 호출은 base, quote, DEEP tokens의 balances를 담은 Promise를 반환한다.
매개변수
poolKey: pool을 식별하는 String이다.referral: referral ID를 나타내는 String이다.
packages/deepbook-v3/src/client.ts. You probably need to run `pnpm prebuild` and restart the site.