BalanceManager SDK
BalanceManager는 모든 asset balance를 보관하는 DeepBookV3의 핵심 구성 요소이다. SDK는 balance manager를 생성, 관리, 그리고 상호작용하기 위한 포괄적인 함수를 제공한다.
BalanceManager 함수
DeepBookV3 SDK는 balance manager를 관리하기 위한 다음 함수를 제공한다.
createAndShareBalanceManager
새 balance manager를 생성하고 자동으로 공유하려면 createAndShareBalanceManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.createBalanceManagerWithOwner
custom owner로 새 balance manager를 생성하려면 createBalanceManagerWithOwner를 사용한다. manager object를 반환한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
ownerAddress: owner의 address를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.shareBalanceManager
생성되었지만 아직 공유되지 않은 balance manager를 공유하려면 shareBalanceManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
manager: 공유할 balance manager를 나타내는TransactionArgument이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.예치 및 인출 함수
depositIntoManager
balance manager에 fund를 deposit하려면 depositIntoManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: deposit할 coin을 식별하는 String이다.amountToDeposit: deposit할 amount를 나타내는 Number이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.withdrawFromManager
balance manager에서 fund를 인출하려면 withdrawFromManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: 인출할 coin을 식별하는 String이다.amountToWithdraw: 인출할 amount를 나타내는 Number이다.recipient: recipient address를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.withdrawAllFromManager
balance manager에서 특정 coin 타입의 모든 fund를 인출하려면 withdrawAllFromManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: 인출할 coin을 식별하는 String이다.recipient: recipient address를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.checkManagerBalance
balance manager에서 특정 coin의 balance를 확인하려면 checkManagerBalance를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: 확인할 coin을 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.Trade proof functions
generateProof
balance manager에 대한 trade proof를 생성하려면 generateProof를 사용한다. tradeCap 설정 여부에 따라 적절한 함수를 자동으로 호출한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.generateProofAsOwner
balance manager의 owner로서 trade proof를 생성하려면 generateProofAsOwner를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerId: balance manager의 ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.generateProofAsTrader
tradeCap을 사용하여 trade proof를 생성하려면 generateProofAsTrader를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerId: balance manager의 ID를 나타내는 String이다.tradeCapId: trade cap의 ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.Capability functions
mintTradeCap
balance manager에 대한 tradeCap을 mint하려면 mintTradeCap을 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.mintDepositCap
balance manager에 대한 depositCap을 mint하려면 mintDepositCap을 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.mintWithdrawalCap
balance manager에 대한 withdrawCap을 mint하려면 mintWithdrawalCap을 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.depositWithCap
depositCap을 사용해 balance manager에 fund를 deposit하려면 depositWithCap을 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: deposit할 coin을 식별하는 String이다.amountToDeposit: deposit할 amount를 나타내는 Number이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.withdrawWithCap
withdrawCap을 사용해 balance manager에서 fund를 인출하려면 withdrawWithCap을 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.coinKey: 인출할 coin을 식별하는 String이다.amountToWithdraw: 인출할 amount를 나타내는 Number이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.revokeTradeCap
TradeCap을 revoke하려면 revokeTradeCap을 사용한다. 이는 연관된 DepositCap과 WithdrawCap도 revoke한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.tradeCapId: revoke할 TradeCap의 ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.referral function
setBalanceManagerReferral
balance manager에 대해 pool-specific referral을 설정하려면 setBalanceManagerReferral을 사용한다. permission checking을 위해 tradeCap이 필요하다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.referral: referral ID(DeepBookPoolReferral)를 나타내는 String이다.tradeCap: permission을 위한 trade cap을 나타내는TransactionArgument이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.unsetBalanceManagerReferral
특정 pool에 대해 balance manager에서 referral을 제거하려면 unsetBalanceManagerReferral을 사용한다. permission checking을 위해 tradeCap이 필요하다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.poolKey: referral을 해제할 pool을 식별하는 String이다.tradeCap: permission을 위한 trade cap을 나타내는TransactionArgument이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.getBalanceManagerReferralId
특정 pool에 대해 balance manager와 연관된 referral ID를 가져오려면 getBalanceManagerReferralId를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.poolKey: pool을 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.Registry functions
registerBalanceManager
registry에 balance manager를 등록하려면 registerBalanceManager를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.read-only function
owner
balance manager의 owner address를 가져오려면 owner를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.id
balance manager의 ID를 가져오려면 id를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
managerKey: balance manager를 식별하는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.balanceManagerReferralOwner
pool referral(DeepBookPoolReferral)의 owner address를 가져오려면 balanceManagerReferralOwner를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
referralId: referral ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.balanceManagerReferralPoolId
pool referral(DeepBookPoolReferral)과 연관된 pool ID를 가져오려면 balanceManagerReferralPoolId를 사용한다. 이 호출은 Transaction object를 받는 함수를 반환한다.
매개변수
referralId: referral의 ID를 나타내는 String이다.
packages/deepbook-v3/src/transactions/balanceManager.ts. You probably need to run `pnpm prebuild` and restart the site.예시
다음 예시는 일반적인 balance manager operation을 시연한다.
BalanceManager 생성 및 share
// 예시: 새 balance manager를 생성하고 share한다
createBalanceManager = (tx: Transaction) => {
tx.add(this.balanceManager.createAndShareBalanceManager());
};