@haneullabs/deepbook-v3 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +984 -0
- package/README.md +1 -0
- package/dist/cjs/client.d.ts +861 -0
- package/dist/cjs/client.js +1982 -0
- package/dist/cjs/client.js.map +7 -0
- package/dist/cjs/contracts/deepbook/account.d.ts +105 -0
- package/dist/cjs/contracts/deepbook/account.js +163 -0
- package/dist/cjs/contracts/deepbook/account.js.map +7 -0
- package/dist/cjs/contracts/deepbook/balance_manager.d.ts +268 -0
- package/dist/cjs/contracts/deepbook/balance_manager.js +361 -0
- package/dist/cjs/contracts/deepbook/balance_manager.js.map +7 -0
- package/dist/cjs/contracts/deepbook/balances.d.ts +10 -0
- package/dist/cjs/contracts/deepbook/balances.js +35 -0
- package/dist/cjs/contracts/deepbook/balances.js.map +7 -0
- package/dist/cjs/contracts/deepbook/big_vector.d.ts +62 -0
- package/dist/cjs/contracts/deepbook/big_vector.js +80 -0
- package/dist/cjs/contracts/deepbook/big_vector.js.map +7 -0
- package/dist/cjs/contracts/deepbook/book.d.ts +34 -0
- package/dist/cjs/contracts/deepbook/book.js +50 -0
- package/dist/cjs/contracts/deepbook/book.js.map +7 -0
- package/dist/cjs/contracts/deepbook/constants.d.ts +176 -0
- package/dist/cjs/contracts/deepbook/constants.js +338 -0
- package/dist/cjs/contracts/deepbook/constants.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deep_price.d.ts +60 -0
- package/dist/cjs/contracts/deepbook/deep_price.js +87 -0
- package/dist/cjs/contracts/deepbook/deep_price.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +14 -0
- package/dist/cjs/contracts/deepbook/deps/std/type_name.js +42 -0
- package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +33 -0
- package/dist/cjs/contracts/deepbook/deps/sui/bag.js +47 -0
- package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +9 -0
- package/dist/cjs/contracts/deepbook/deps/sui/balance.js +33 -0
- package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +5 -0
- package/dist/cjs/contracts/deepbook/deps/sui/object.js +33 -0
- package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +28 -0
- package/dist/cjs/contracts/deepbook/deps/sui/table.js +47 -0
- package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +27 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +45 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +15 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +35 -0
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +7 -0
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +45 -0
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +7 -0
- package/dist/cjs/contracts/deepbook/ewma.d.ts +17 -0
- package/dist/cjs/contracts/deepbook/ewma.js +39 -0
- package/dist/cjs/contracts/deepbook/ewma.js.map +7 -0
- package/dist/cjs/contracts/deepbook/fill.d.ts +153 -0
- package/dist/cjs/contracts/deepbook/fill.js +251 -0
- package/dist/cjs/contracts/deepbook/fill.js.map +7 -0
- package/dist/cjs/contracts/deepbook/governance.d.ts +63 -0
- package/dist/cjs/contracts/deepbook/governance.js +79 -0
- package/dist/cjs/contracts/deepbook/governance.js.map +7 -0
- package/dist/cjs/contracts/deepbook/history.d.ts +60 -0
- package/dist/cjs/contracts/deepbook/history.js +78 -0
- package/dist/cjs/contracts/deepbook/history.js.map +7 -0
- package/dist/cjs/contracts/deepbook/math.d.ts +94 -0
- package/dist/cjs/contracts/deepbook/math.js +132 -0
- package/dist/cjs/contracts/deepbook/math.js.map +7 -0
- package/dist/cjs/contracts/deepbook/order.d.ts +135 -0
- package/dist/cjs/contracts/deepbook/order.js +218 -0
- package/dist/cjs/contracts/deepbook/order.js.map +7 -0
- package/dist/cjs/contracts/deepbook/order_info.d.ts +296 -0
- package/dist/cjs/contracts/deepbook/order_info.js +386 -0
- package/dist/cjs/contracts/deepbook/order_info.js.map +7 -0
- package/dist/cjs/contracts/deepbook/order_query.d.ts +85 -0
- package/dist/cjs/contracts/deepbook/order_query.js +96 -0
- package/dist/cjs/contracts/deepbook/order_query.js.map +7 -0
- package/dist/cjs/contracts/deepbook/pool.d.ts +1218 -0
- package/dist/cjs/contracts/deepbook/pool.js +1236 -0
- package/dist/cjs/contracts/deepbook/pool.js.map +7 -0
- package/dist/cjs/contracts/deepbook/registry.d.ts +134 -0
- package/dist/cjs/contracts/deepbook/registry.js +182 -0
- package/dist/cjs/contracts/deepbook/registry.js.map +7 -0
- package/dist/cjs/contracts/deepbook/state.d.ts +117 -0
- package/dist/cjs/contracts/deepbook/state.js +104 -0
- package/dist/cjs/contracts/deepbook/state.js.map +7 -0
- package/dist/cjs/contracts/deepbook/trade_params.d.ts +7 -0
- package/dist/cjs/contracts/deepbook/trade_params.js +35 -0
- package/dist/cjs/contracts/deepbook/trade_params.js.map +7 -0
- package/dist/cjs/contracts/deepbook/vault.d.ts +30 -0
- package/dist/cjs/contracts/deepbook/vault.js +65 -0
- package/dist/cjs/contracts/deepbook/vault.js.map +7 -0
- package/dist/cjs/contracts/utils/index.d.ts +25 -0
- package/dist/cjs/contracts/utils/index.js +148 -0
- package/dist/cjs/contracts/utils/index.js.map +7 -0
- package/dist/cjs/index.d.ts +23 -0
- package/dist/cjs/index.js +81 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/pyth/PriceServiceConnection.d.ts +26 -0
- package/dist/cjs/pyth/PriceServiceConnection.js +68 -0
- package/dist/cjs/pyth/PriceServiceConnection.js.map +7 -0
- package/dist/cjs/pyth/pyth-helpers.d.ts +7 -0
- package/dist/cjs/pyth/pyth-helpers.js +36 -0
- package/dist/cjs/pyth/pyth-helpers.js.map +7 -0
- package/dist/cjs/pyth/pyth.d.ts +65 -0
- package/dist/cjs/pyth/pyth.js +269 -0
- package/dist/cjs/pyth/pyth.js.map +7 -0
- package/dist/cjs/transactions/balanceManager.d.ts +168 -0
- package/dist/cjs/transactions/balanceManager.js +384 -0
- package/dist/cjs/transactions/balanceManager.js.map +7 -0
- package/dist/cjs/transactions/deepbook.d.ts +477 -0
- package/dist/cjs/transactions/deepbook.js +1335 -0
- package/dist/cjs/transactions/deepbook.js.map +7 -0
- package/dist/cjs/transactions/deepbookAdmin.d.ts +105 -0
- package/dist/cjs/transactions/deepbookAdmin.js +334 -0
- package/dist/cjs/transactions/deepbookAdmin.js.map +7 -0
- package/dist/cjs/transactions/flashLoans.d.ts +56 -0
- package/dist/cjs/transactions/flashLoans.js +124 -0
- package/dist/cjs/transactions/flashLoans.js.map +7 -0
- package/dist/cjs/transactions/governance.d.ts +42 -0
- package/dist/cjs/transactions/governance.js +135 -0
- package/dist/cjs/transactions/governance.js.map +7 -0
- package/dist/cjs/transactions/marginAdmin.d.ts +133 -0
- package/dist/cjs/transactions/marginAdmin.js +393 -0
- package/dist/cjs/transactions/marginAdmin.js.map +7 -0
- package/dist/cjs/transactions/marginLiquidations.d.ts +61 -0
- package/dist/cjs/transactions/marginLiquidations.js +173 -0
- package/dist/cjs/transactions/marginLiquidations.js.map +7 -0
- package/dist/cjs/transactions/marginMaintainer.d.ts +80 -0
- package/dist/cjs/transactions/marginMaintainer.js +251 -0
- package/dist/cjs/transactions/marginMaintainer.js.map +7 -0
- package/dist/cjs/transactions/marginManager.d.ts +236 -0
- package/dist/cjs/transactions/marginManager.js +688 -0
- package/dist/cjs/transactions/marginManager.js.map +7 -0
- package/dist/cjs/transactions/marginPool.d.ts +134 -0
- package/dist/cjs/transactions/marginPool.js +330 -0
- package/dist/cjs/transactions/marginPool.js.map +7 -0
- package/dist/cjs/transactions/marginRegistry.d.ts +94 -0
- package/dist/cjs/transactions/marginRegistry.js +221 -0
- package/dist/cjs/transactions/marginRegistry.js.map +7 -0
- package/dist/cjs/transactions/marginTPSL.d.ts +93 -0
- package/dist/cjs/transactions/marginTPSL.js +286 -0
- package/dist/cjs/transactions/marginTPSL.js.map +7 -0
- package/dist/cjs/transactions/poolProxy.d.ts +104 -0
- package/dist/cjs/transactions/poolProxy.js +435 -0
- package/dist/cjs/transactions/poolProxy.js.map +7 -0
- package/dist/cjs/types/bcs.d.ts +5 -0
- package/dist/cjs/types/bcs.js +33 -0
- package/dist/cjs/types/bcs.js.map +7 -0
- package/dist/cjs/types/index.d.ts +218 -0
- package/dist/cjs/types/index.js +38 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/utils/config.d.ts +65 -0
- package/dist/cjs/utils/config.js +144 -0
- package/dist/cjs/utils/config.js.map +7 -0
- package/dist/cjs/utils/constants.d.ts +76 -0
- package/dist/cjs/utils/constants.js +382 -0
- package/dist/cjs/utils/constants.js.map +7 -0
- package/dist/cjs/utils/errors.d.ts +42 -0
- package/dist/cjs/utils/errors.js +70 -0
- package/dist/cjs/utils/errors.js.map +7 -0
- package/dist/cjs/utils/validation.d.ts +50 -0
- package/dist/cjs/utils/validation.js +67 -0
- package/dist/cjs/utils/validation.js.map +7 -0
- package/dist/esm/client.d.ts +861 -0
- package/dist/esm/client.js +1967 -0
- package/dist/esm/client.js.map +7 -0
- package/dist/esm/contracts/deepbook/account.d.ts +105 -0
- package/dist/esm/contracts/deepbook/account.js +133 -0
- package/dist/esm/contracts/deepbook/account.js.map +7 -0
- package/dist/esm/contracts/deepbook/balance_manager.d.ts +268 -0
- package/dist/esm/contracts/deepbook/balance_manager.js +331 -0
- package/dist/esm/contracts/deepbook/balance_manager.js.map +7 -0
- package/dist/esm/contracts/deepbook/balances.d.ts +10 -0
- package/dist/esm/contracts/deepbook/balances.js +15 -0
- package/dist/esm/contracts/deepbook/balances.js.map +7 -0
- package/dist/esm/contracts/deepbook/big_vector.d.ts +62 -0
- package/dist/esm/contracts/deepbook/big_vector.js +50 -0
- package/dist/esm/contracts/deepbook/big_vector.js.map +7 -0
- package/dist/esm/contracts/deepbook/book.d.ts +34 -0
- package/dist/esm/contracts/deepbook/book.js +20 -0
- package/dist/esm/contracts/deepbook/book.js.map +7 -0
- package/dist/esm/contracts/deepbook/constants.d.ts +176 -0
- package/dist/esm/contracts/deepbook/constants.js +318 -0
- package/dist/esm/contracts/deepbook/constants.js.map +7 -0
- package/dist/esm/contracts/deepbook/deep_price.d.ts +60 -0
- package/dist/esm/contracts/deepbook/deep_price.js +67 -0
- package/dist/esm/contracts/deepbook/deep_price.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +14 -0
- package/dist/esm/contracts/deepbook/deps/std/type_name.js +22 -0
- package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +33 -0
- package/dist/esm/contracts/deepbook/deps/sui/bag.js +17 -0
- package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +9 -0
- package/dist/esm/contracts/deepbook/deps/sui/balance.js +13 -0
- package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +5 -0
- package/dist/esm/contracts/deepbook/deps/sui/object.js +13 -0
- package/dist/esm/contracts/deepbook/deps/sui/object.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +28 -0
- package/dist/esm/contracts/deepbook/deps/sui/table.js +17 -0
- package/dist/esm/contracts/deepbook/deps/sui/table.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +27 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +25 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +15 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +15 -0
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +7 -0
- package/dist/esm/contracts/deepbook/deps/sui/versioned.js +15 -0
- package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +7 -0
- package/dist/esm/contracts/deepbook/ewma.d.ts +17 -0
- package/dist/esm/contracts/deepbook/ewma.js +19 -0
- package/dist/esm/contracts/deepbook/ewma.js.map +7 -0
- package/dist/esm/contracts/deepbook/fill.d.ts +153 -0
- package/dist/esm/contracts/deepbook/fill.js +221 -0
- package/dist/esm/contracts/deepbook/fill.js.map +7 -0
- package/dist/esm/contracts/deepbook/governance.d.ts +63 -0
- package/dist/esm/contracts/deepbook/governance.js +49 -0
- package/dist/esm/contracts/deepbook/governance.js.map +7 -0
- package/dist/esm/contracts/deepbook/history.d.ts +60 -0
- package/dist/esm/contracts/deepbook/history.js +48 -0
- package/dist/esm/contracts/deepbook/history.js.map +7 -0
- package/dist/esm/contracts/deepbook/math.d.ts +94 -0
- package/dist/esm/contracts/deepbook/math.js +112 -0
- package/dist/esm/contracts/deepbook/math.js.map +7 -0
- package/dist/esm/contracts/deepbook/order.d.ts +135 -0
- package/dist/esm/contracts/deepbook/order.js +188 -0
- package/dist/esm/contracts/deepbook/order.js.map +7 -0
- package/dist/esm/contracts/deepbook/order_info.d.ts +296 -0
- package/dist/esm/contracts/deepbook/order_info.js +356 -0
- package/dist/esm/contracts/deepbook/order_info.js.map +7 -0
- package/dist/esm/contracts/deepbook/order_query.d.ts +85 -0
- package/dist/esm/contracts/deepbook/order_query.js +66 -0
- package/dist/esm/contracts/deepbook/order_query.js.map +7 -0
- package/dist/esm/contracts/deepbook/pool.d.ts +1218 -0
- package/dist/esm/contracts/deepbook/pool.js +1206 -0
- package/dist/esm/contracts/deepbook/pool.js.map +7 -0
- package/dist/esm/contracts/deepbook/registry.d.ts +134 -0
- package/dist/esm/contracts/deepbook/registry.js +152 -0
- package/dist/esm/contracts/deepbook/registry.js.map +7 -0
- package/dist/esm/contracts/deepbook/state.d.ts +117 -0
- package/dist/esm/contracts/deepbook/state.js +74 -0
- package/dist/esm/contracts/deepbook/state.js.map +7 -0
- package/dist/esm/contracts/deepbook/trade_params.d.ts +7 -0
- package/dist/esm/contracts/deepbook/trade_params.js +15 -0
- package/dist/esm/contracts/deepbook/trade_params.js.map +7 -0
- package/dist/esm/contracts/deepbook/vault.d.ts +30 -0
- package/dist/esm/contracts/deepbook/vault.js +35 -0
- package/dist/esm/contracts/deepbook/vault.js.map +7 -0
- package/dist/esm/contracts/utils/index.d.ts +25 -0
- package/dist/esm/contracts/utils/index.js +128 -0
- package/dist/esm/contracts/utils/index.js.map +7 -0
- package/dist/esm/index.d.ts +23 -0
- package/dist/esm/index.js +81 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/pyth/PriceServiceConnection.d.ts +26 -0
- package/dist/esm/pyth/PriceServiceConnection.js +38 -0
- package/dist/esm/pyth/PriceServiceConnection.js.map +7 -0
- package/dist/esm/pyth/pyth-helpers.d.ts +7 -0
- package/dist/esm/pyth/pyth-helpers.js +16 -0
- package/dist/esm/pyth/pyth-helpers.js.map +7 -0
- package/dist/esm/pyth/pyth.d.ts +65 -0
- package/dist/esm/pyth/pyth.js +249 -0
- package/dist/esm/pyth/pyth.js.map +7 -0
- package/dist/esm/transactions/balanceManager.d.ts +168 -0
- package/dist/esm/transactions/balanceManager.js +364 -0
- package/dist/esm/transactions/balanceManager.js.map +7 -0
- package/dist/esm/transactions/deepbook.d.ts +477 -0
- package/dist/esm/transactions/deepbook.js +1321 -0
- package/dist/esm/transactions/deepbook.js.map +7 -0
- package/dist/esm/transactions/deepbookAdmin.d.ts +105 -0
- package/dist/esm/transactions/deepbookAdmin.js +314 -0
- package/dist/esm/transactions/deepbookAdmin.js.map +7 -0
- package/dist/esm/transactions/flashLoans.d.ts +56 -0
- package/dist/esm/transactions/flashLoans.js +104 -0
- package/dist/esm/transactions/flashLoans.js.map +7 -0
- package/dist/esm/transactions/governance.d.ts +42 -0
- package/dist/esm/transactions/governance.js +115 -0
- package/dist/esm/transactions/governance.js.map +7 -0
- package/dist/esm/transactions/marginAdmin.d.ts +133 -0
- package/dist/esm/transactions/marginAdmin.js +373 -0
- package/dist/esm/transactions/marginAdmin.js.map +7 -0
- package/dist/esm/transactions/marginLiquidations.d.ts +61 -0
- package/dist/esm/transactions/marginLiquidations.js +153 -0
- package/dist/esm/transactions/marginLiquidations.js.map +7 -0
- package/dist/esm/transactions/marginMaintainer.d.ts +80 -0
- package/dist/esm/transactions/marginMaintainer.js +231 -0
- package/dist/esm/transactions/marginMaintainer.js.map +7 -0
- package/dist/esm/transactions/marginManager.d.ts +236 -0
- package/dist/esm/transactions/marginManager.js +668 -0
- package/dist/esm/transactions/marginManager.js.map +7 -0
- package/dist/esm/transactions/marginPool.d.ts +134 -0
- package/dist/esm/transactions/marginPool.js +310 -0
- package/dist/esm/transactions/marginPool.js.map +7 -0
- package/dist/esm/transactions/marginRegistry.d.ts +94 -0
- package/dist/esm/transactions/marginRegistry.js +201 -0
- package/dist/esm/transactions/marginRegistry.js.map +7 -0
- package/dist/esm/transactions/marginTPSL.d.ts +93 -0
- package/dist/esm/transactions/marginTPSL.js +266 -0
- package/dist/esm/transactions/marginTPSL.js.map +7 -0
- package/dist/esm/transactions/poolProxy.d.ts +104 -0
- package/dist/esm/transactions/poolProxy.js +415 -0
- package/dist/esm/transactions/poolProxy.js.map +7 -0
- package/dist/esm/types/bcs.d.ts +5 -0
- package/dist/esm/types/bcs.js +13 -0
- package/dist/esm/types/bcs.js.map +7 -0
- package/dist/esm/types/index.d.ts +218 -0
- package/dist/esm/types/index.js +18 -0
- package/dist/esm/types/index.js.map +7 -0
- package/dist/esm/utils/config.d.ts +65 -0
- package/dist/esm/utils/config.js +135 -0
- package/dist/esm/utils/config.js.map +7 -0
- package/dist/esm/utils/constants.d.ts +76 -0
- package/dist/esm/utils/constants.js +362 -0
- package/dist/esm/utils/constants.js.map +7 -0
- package/dist/esm/utils/errors.d.ts +42 -0
- package/dist/esm/utils/errors.js +50 -0
- package/dist/esm/utils/errors.js.map +7 -0
- package/dist/esm/utils/validation.d.ts +50 -0
- package/dist/esm/utils/validation.js +47 -0
- package/dist/esm/utils/validation.js.map +7 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +63 -0
- package/src/client.ts +2451 -0
- package/src/contracts/deepbook/account.ts +199 -0
- package/src/contracts/deepbook/balance_manager.ts +532 -0
- package/src/contracts/deepbook/balances.ts +19 -0
- package/src/contracts/deepbook/big_vector.ts +74 -0
- package/src/contracts/deepbook/book.ts +24 -0
- package/src/contracts/deepbook/constants.ts +458 -0
- package/src/contracts/deepbook/deep_price.ts +84 -0
- package/src/contracts/deepbook/deps/std/type_name.ts +23 -0
- package/src/contracts/deepbook/deps/sui/bag.ts +41 -0
- package/src/contracts/deepbook/deps/sui/balance.ts +18 -0
- package/src/contracts/deepbook/deps/sui/object.ts +14 -0
- package/src/contracts/deepbook/deps/sui/table.ts +36 -0
- package/src/contracts/deepbook/deps/sui/vec_map.ts +33 -0
- package/src/contracts/deepbook/deps/sui/vec_set.ts +22 -0
- package/src/contracts/deepbook/deps/sui/versioned.ts +13 -0
- package/src/contracts/deepbook/ewma.ts +26 -0
- package/src/contracts/deepbook/fill.ts +336 -0
- package/src/contracts/deepbook/governance.ts +52 -0
- package/src/contracts/deepbook/history.ts +51 -0
- package/src/contracts/deepbook/math.ts +210 -0
- package/src/contracts/deepbook/order.ts +269 -0
- package/src/contracts/deepbook/order_info.ts +513 -0
- package/src/contracts/deepbook/order_query.ts +115 -0
- package/src/contracts/deepbook/pool.ts +2269 -0
- package/src/contracts/deepbook/registry.ts +242 -0
- package/src/contracts/deepbook/state.ts +74 -0
- package/src/contracts/deepbook/trade_params.ts +16 -0
- package/src/contracts/deepbook/vault.ts +37 -0
- package/src/contracts/utils/index.ts +184 -0
- package/src/index.ts +95 -0
- package/src/pyth/PriceServiceConnection.ts +48 -0
- package/src/pyth/pyth-helpers.ts +23 -0
- package/src/pyth/pyth.ts +305 -0
- package/src/transactions/balanceManager.ts +399 -0
- package/src/transactions/deepbook.ts +1519 -0
- package/src/transactions/deepbookAdmin.ts +332 -0
- package/src/transactions/flashLoans.ts +123 -0
- package/src/transactions/governance.ts +123 -0
- package/src/transactions/marginAdmin.ts +396 -0
- package/src/transactions/marginLiquidations.ts +175 -0
- package/src/transactions/marginMaintainer.ts +280 -0
- package/src/transactions/marginManager.ts +708 -0
- package/src/transactions/marginPool.ts +339 -0
- package/src/transactions/marginRegistry.ts +212 -0
- package/src/transactions/marginTPSL.ts +296 -0
- package/src/transactions/poolProxy.ts +438 -0
- package/src/types/bcs.ts +8 -0
- package/src/types/index.ts +255 -0
- package/src/utils/config.ts +177 -0
- package/src/utils/constants.ts +374 -0
- package/src/utils/errors.ts +67 -0
- package/src/utils/validation.ts +91 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { normalizeHaneulAddress } from '@haneullabs/haneul/utils';
|
|
4
|
+
|
|
5
|
+
import { BalanceManagerContract } from '../transactions/balanceManager.js';
|
|
6
|
+
import type {
|
|
7
|
+
BalanceManager,
|
|
8
|
+
Environment,
|
|
9
|
+
MarginManager,
|
|
10
|
+
Coin,
|
|
11
|
+
Pool,
|
|
12
|
+
MarginPool,
|
|
13
|
+
} from '../types/index.js';
|
|
14
|
+
import type { CoinMap, PoolMap, MarginPoolMap } from './constants.js';
|
|
15
|
+
import { ResourceNotFoundError, ErrorMessages } from './errors.js';
|
|
16
|
+
import {
|
|
17
|
+
mainnetCoins,
|
|
18
|
+
mainnetPackageIds,
|
|
19
|
+
mainnetPools,
|
|
20
|
+
testnetCoins,
|
|
21
|
+
testnetPackageIds,
|
|
22
|
+
testnetPools,
|
|
23
|
+
mainnetMarginPools,
|
|
24
|
+
testnetMarginPools,
|
|
25
|
+
mainnetPythConfigs,
|
|
26
|
+
testnetPythConfigs,
|
|
27
|
+
} from './constants.js';
|
|
28
|
+
|
|
29
|
+
// Constants for numerical precision and scaling
|
|
30
|
+
export const FLOAT_SCALAR = 1_000_000_000; // 10^9 - Used for floating point representation
|
|
31
|
+
export const DEEP_SCALAR = 1_000_000; // 10^6 - DEEP token decimal places
|
|
32
|
+
|
|
33
|
+
// Time-related constants
|
|
34
|
+
export const MAX_TIMESTAMP = 1_844_674_407_370_955_161n; // Maximum Unix timestamp (approximately year 2554)
|
|
35
|
+
export const PRICE_INFO_OBJECT_MAX_AGE_MS = 15_000; // 15 seconds in milliseconds
|
|
36
|
+
|
|
37
|
+
// Transaction and fee constants
|
|
38
|
+
export const GAS_BUDGET = 250_000_000; // 0.25 HANEUL (0.5 * 500M GEUNHWA)
|
|
39
|
+
export const POOL_CREATION_FEE_DEEP = 500_000_000; // 500 DEEP tokens (500 * 10^6)
|
|
40
|
+
|
|
41
|
+
export class DeepBookConfig {
|
|
42
|
+
#coins: CoinMap;
|
|
43
|
+
#pools: PoolMap;
|
|
44
|
+
#marginPools: MarginPoolMap;
|
|
45
|
+
env: Environment;
|
|
46
|
+
balanceManagers: { [key: string]: BalanceManager };
|
|
47
|
+
marginManagers: { [key: string]: MarginManager };
|
|
48
|
+
address: string;
|
|
49
|
+
pyth: {
|
|
50
|
+
pythStateId: string;
|
|
51
|
+
wormholeStateId: string;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
DEEPBOOK_PACKAGE_ID: string;
|
|
55
|
+
REGISTRY_ID: string;
|
|
56
|
+
DEEP_TREASURY_ID: string;
|
|
57
|
+
MARGIN_PACKAGE_ID: string;
|
|
58
|
+
MARGIN_REGISTRY_ID: string;
|
|
59
|
+
LIQUIDATION_PACKAGE_ID: string;
|
|
60
|
+
adminCap?: string;
|
|
61
|
+
marginAdminCap?: string;
|
|
62
|
+
marginMaintainerCap?: string;
|
|
63
|
+
|
|
64
|
+
balanceManager: BalanceManagerContract;
|
|
65
|
+
|
|
66
|
+
constructor({
|
|
67
|
+
env,
|
|
68
|
+
address,
|
|
69
|
+
adminCap,
|
|
70
|
+
marginAdminCap,
|
|
71
|
+
marginMaintainerCap,
|
|
72
|
+
balanceManagers,
|
|
73
|
+
marginManagers,
|
|
74
|
+
coins,
|
|
75
|
+
pools,
|
|
76
|
+
marginPools,
|
|
77
|
+
}: {
|
|
78
|
+
env: Environment;
|
|
79
|
+
address: string;
|
|
80
|
+
adminCap?: string;
|
|
81
|
+
marginAdminCap?: string;
|
|
82
|
+
marginMaintainerCap?: string;
|
|
83
|
+
balanceManagers?: { [key: string]: BalanceManager };
|
|
84
|
+
marginManagers?: { [key: string]: MarginManager };
|
|
85
|
+
coins?: CoinMap;
|
|
86
|
+
pools?: PoolMap;
|
|
87
|
+
marginPools?: MarginPoolMap;
|
|
88
|
+
}) {
|
|
89
|
+
this.env = env;
|
|
90
|
+
this.address = normalizeHaneulAddress(address);
|
|
91
|
+
this.adminCap = adminCap;
|
|
92
|
+
this.marginAdminCap = marginAdminCap;
|
|
93
|
+
this.marginMaintainerCap = marginMaintainerCap;
|
|
94
|
+
this.balanceManagers = balanceManagers || {};
|
|
95
|
+
this.marginManagers = marginManagers || {};
|
|
96
|
+
|
|
97
|
+
if (env === 'mainnet') {
|
|
98
|
+
this.#coins = coins || mainnetCoins;
|
|
99
|
+
this.#pools = pools || mainnetPools;
|
|
100
|
+
this.#marginPools = marginPools || mainnetMarginPools;
|
|
101
|
+
this.DEEPBOOK_PACKAGE_ID = mainnetPackageIds.DEEPBOOK_PACKAGE_ID;
|
|
102
|
+
this.REGISTRY_ID = mainnetPackageIds.REGISTRY_ID;
|
|
103
|
+
this.DEEP_TREASURY_ID = mainnetPackageIds.DEEP_TREASURY_ID;
|
|
104
|
+
this.MARGIN_PACKAGE_ID = mainnetPackageIds.MARGIN_PACKAGE_ID;
|
|
105
|
+
this.MARGIN_REGISTRY_ID = mainnetPackageIds.MARGIN_REGISTRY_ID;
|
|
106
|
+
this.LIQUIDATION_PACKAGE_ID = mainnetPackageIds.LIQUIDATION_PACKAGE_ID;
|
|
107
|
+
this.pyth = mainnetPythConfigs;
|
|
108
|
+
} else {
|
|
109
|
+
this.#coins = coins || testnetCoins;
|
|
110
|
+
this.#pools = pools || testnetPools;
|
|
111
|
+
this.#marginPools = marginPools || testnetMarginPools;
|
|
112
|
+
this.DEEPBOOK_PACKAGE_ID = testnetPackageIds.DEEPBOOK_PACKAGE_ID;
|
|
113
|
+
this.REGISTRY_ID = testnetPackageIds.REGISTRY_ID;
|
|
114
|
+
this.DEEP_TREASURY_ID = testnetPackageIds.DEEP_TREASURY_ID;
|
|
115
|
+
this.MARGIN_PACKAGE_ID = testnetPackageIds.MARGIN_PACKAGE_ID;
|
|
116
|
+
this.MARGIN_REGISTRY_ID = testnetPackageIds.MARGIN_REGISTRY_ID;
|
|
117
|
+
this.LIQUIDATION_PACKAGE_ID = testnetPackageIds.LIQUIDATION_PACKAGE_ID;
|
|
118
|
+
this.pyth = testnetPythConfigs;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
this.balanceManager = new BalanceManagerContract(this);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Getters
|
|
125
|
+
getCoin(key: string): Coin {
|
|
126
|
+
const coin = this.#coins[key];
|
|
127
|
+
if (!coin) {
|
|
128
|
+
throw new ResourceNotFoundError('Coin', key);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return coin;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
getPool(key: string): Pool {
|
|
135
|
+
const pool = this.#pools[key];
|
|
136
|
+
if (!pool) {
|
|
137
|
+
throw new ResourceNotFoundError('Pool', key);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return pool;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
getMarginPool(key: string): MarginPool {
|
|
144
|
+
const pool = this.#marginPools[key];
|
|
145
|
+
if (!pool) {
|
|
146
|
+
throw new ResourceNotFoundError('Margin pool', key);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return pool;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @description Get the balance manager by key
|
|
154
|
+
* @param managerKey Key of the balance manager
|
|
155
|
+
* @returns The BalanceManager object
|
|
156
|
+
*/
|
|
157
|
+
getBalanceManager(managerKey: string): BalanceManager {
|
|
158
|
+
if (!Object.hasOwn(this.balanceManagers, managerKey)) {
|
|
159
|
+
throw new Error(ErrorMessages.BALANCE_MANAGER_NOT_FOUND(managerKey));
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return this.balanceManagers[managerKey];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* @description Get the margin manager by key
|
|
167
|
+
* @param managerKey Key of the margin manager
|
|
168
|
+
* @returns The MarginManager object
|
|
169
|
+
*/
|
|
170
|
+
getMarginManager(managerKey: string): MarginManager {
|
|
171
|
+
if (!Object.hasOwn(this.marginManagers, managerKey)) {
|
|
172
|
+
throw new Error(ErrorMessages.MARGIN_MANAGER_NOT_FOUND(managerKey));
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return this.marginManagers[managerKey];
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { Coin, Pool, MarginPool } from '../types/index.js';
|
|
5
|
+
|
|
6
|
+
export type CoinMap = Record<string, Coin>;
|
|
7
|
+
export type PoolMap = Record<string, Pool>;
|
|
8
|
+
export type MarginPoolMap = Record<string, MarginPool>;
|
|
9
|
+
export interface DeepbookPackageIds {
|
|
10
|
+
DEEPBOOK_PACKAGE_ID: string;
|
|
11
|
+
REGISTRY_ID: string;
|
|
12
|
+
DEEP_TREASURY_ID: string;
|
|
13
|
+
MARGIN_PACKAGE_ID: string;
|
|
14
|
+
MARGIN_REGISTRY_ID: string;
|
|
15
|
+
LIQUIDATION_PACKAGE_ID: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const testnetPackageIds = {
|
|
19
|
+
DEEPBOOK_PACKAGE_ID: '0x22be4cade64bf2d02412c7e8d0e8beea2f78828b948118d46735315409371a3c',
|
|
20
|
+
REGISTRY_ID: '0x7c256edbda983a2cd6f946655f4bf3f00a41043993781f8674a7046e8c0e11d1',
|
|
21
|
+
DEEP_TREASURY_ID: '0x69fffdae0075f8f71f4fa793549c11079266910e8905169845af1f5d00e09dcb',
|
|
22
|
+
MARGIN_PACKAGE_ID: '0xd6a42f4df4db73d68cbeb52be66698d2fe6a9464f45ad113ca52b0c6ebd918b6',
|
|
23
|
+
MARGIN_REGISTRY_ID: '0x48d7640dfae2c6e9ceeada197a7a1643984b5a24c55a0c6c023dac77e0339f75',
|
|
24
|
+
LIQUIDATION_PACKAGE_ID: '0x8d69c3ef3ef580e5bf87b933ce28de19a5d0323588d1a44b9c60b4001741aa24',
|
|
25
|
+
} satisfies DeepbookPackageIds;
|
|
26
|
+
|
|
27
|
+
export const mainnetPackageIds = {
|
|
28
|
+
DEEPBOOK_PACKAGE_ID: '0x337f4f4f6567fcd778d5454f27c16c70e2f274cc6377ea6249ddf491482ef497',
|
|
29
|
+
REGISTRY_ID: '0xaf16199a2dff736e9f07a845f23c5da6df6f756eddb631aed9d24a93efc4549d',
|
|
30
|
+
DEEP_TREASURY_ID: '0x032abf8948dda67a271bcc18e776dbbcfb0d58c8d288a700ff0d5521e57a1ffe',
|
|
31
|
+
MARGIN_PACKAGE_ID: '0x97d9473771b01f77b0940c589484184b49f6444627ec121314fae6a6d36fb86b',
|
|
32
|
+
MARGIN_REGISTRY_ID: '0x0e40998b359a9ccbab22a98ed21bd4346abf19158bc7980c8291908086b3a742',
|
|
33
|
+
LIQUIDATION_PACKAGE_ID: '0x73c593882cdb557703e903603f20bd373261fe6ba6e1a40515f4b62f10553e6a',
|
|
34
|
+
} satisfies DeepbookPackageIds;
|
|
35
|
+
|
|
36
|
+
export const testnetCoins: CoinMap = {
|
|
37
|
+
DEEP: {
|
|
38
|
+
address: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8`,
|
|
39
|
+
type: `0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP`,
|
|
40
|
+
scalar: 1000000,
|
|
41
|
+
feed: '0x99137a18354efa7fb6840889d059fdb04c46a6ce21be97ab60d9ad93e91ac758', // DEEP uses HFT feed on testnet
|
|
42
|
+
currencyId: '0xbf1b77e244f649c736a44898585cc8ac939fbb0bbdf1d8d2a183978cc312e613',
|
|
43
|
+
priceInfoObjectId: '0x3d52fffa2cd9e54b39bb36d282bdda560b15b8b4fdf4766a3c58499ef172bafc',
|
|
44
|
+
},
|
|
45
|
+
HANEUL: {
|
|
46
|
+
address: `0x0000000000000000000000000000000000000000000000000000000000000002`,
|
|
47
|
+
type: `0x0000000000000000000000000000000000000000000000000000000000000002::haneul::HANEUL`,
|
|
48
|
+
scalar: 1000000000,
|
|
49
|
+
feed: '0x50c67b3fd225db8912a424dd4baed60ffdde625ed2feaaf283724f9608fea266',
|
|
50
|
+
currencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',
|
|
51
|
+
priceInfoObjectId: '0x1ebb295c789cc42b3b2a1606482cd1c7124076a0f5676718501fda8c7fd075a0',
|
|
52
|
+
},
|
|
53
|
+
DBUSDC: {
|
|
54
|
+
address: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,
|
|
55
|
+
type: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC`,
|
|
56
|
+
scalar: 1000000,
|
|
57
|
+
feed: '0x41f3625971ca2ed2263e78573fe5ce23e13d2558ed3f2e47ab0f84fb9e7ae722',
|
|
58
|
+
currencyId: '0x509db0f9283c9ee4fdc5b99028a439d3639f49e9709e3d7a6de14b3bfdb0c784',
|
|
59
|
+
priceInfoObjectId: '0x9c4dd4008297ffa5e480684b8100ec21cc934405ed9a25d4e4d7b6259aad9c81',
|
|
60
|
+
},
|
|
61
|
+
DBTC: {
|
|
62
|
+
address: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86`,
|
|
63
|
+
type: `0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC`,
|
|
64
|
+
scalar: 100000000,
|
|
65
|
+
feed: '0xf9c0172ba10dfa4d19088d94f5bf61d3b54d5bd7483a322a982e1373ee8ea31b',
|
|
66
|
+
currencyId: '0x3ef2afa2126704bf721b9c8495d94288f6bd090fc454fe3e1613eb765a8a348f',
|
|
67
|
+
priceInfoObjectId: '0x72431a238277695d3f31e4425225a4462674ee6cceeea9d66447b210755fffba',
|
|
68
|
+
},
|
|
69
|
+
DBUSDT: {
|
|
70
|
+
address: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7`,
|
|
71
|
+
type: `0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDT::DBUSDT`,
|
|
72
|
+
scalar: 1000000,
|
|
73
|
+
},
|
|
74
|
+
WAL: {
|
|
75
|
+
address: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76`,
|
|
76
|
+
type: `0x9ef7676a9f81937a52ae4b2af8d511a28a0b080477c0c2db40b0ab8882240d76::wal::WAL`,
|
|
77
|
+
scalar: 1000000000,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const mainnetCoins: CoinMap = {
|
|
82
|
+
DEEP: {
|
|
83
|
+
address: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270`,
|
|
84
|
+
type: `0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP`,
|
|
85
|
+
scalar: 1000000,
|
|
86
|
+
feed: '0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',
|
|
87
|
+
currencyId: '0x3f2afb7c5f245870a8b8a3808e6dd7042446a0e7504e9d2795372da053858cd9',
|
|
88
|
+
priceInfoObjectId: '0x8c7f3a322b94cc69db2a2ac575cbd94bf5766113324c3a3eceac91e3e88a51ed',
|
|
89
|
+
},
|
|
90
|
+
HANEUL: {
|
|
91
|
+
address: `0x0000000000000000000000000000000000000000000000000000000000000002`,
|
|
92
|
+
type: `0x0000000000000000000000000000000000000000000000000000000000000002::haneul::HANEUL`,
|
|
93
|
+
scalar: 1000000000,
|
|
94
|
+
feed: '0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
95
|
+
currencyId: '0xf256d3fb6a50eaa748d94335b34f2982fbc3b63ceec78cafaa29ebc9ebaf2bbc',
|
|
96
|
+
priceInfoObjectId: '0x801dbc2f0053d34734814b2d6df491ce7807a725fe9a01ad74a07e9c51396c37',
|
|
97
|
+
},
|
|
98
|
+
USDC: {
|
|
99
|
+
address: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7`,
|
|
100
|
+
type: `0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC`,
|
|
101
|
+
scalar: 1000000,
|
|
102
|
+
feed: '0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',
|
|
103
|
+
currencyId: '0x75cfbbf8c962d542e99a1d15731e6069f60a00db895407785b15d14f606f2b4a',
|
|
104
|
+
priceInfoObjectId: '0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
|
|
105
|
+
},
|
|
106
|
+
WAL: {
|
|
107
|
+
address: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59`,
|
|
108
|
+
type: `0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL`,
|
|
109
|
+
scalar: 1000000000,
|
|
110
|
+
feed: '0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341',
|
|
111
|
+
currencyId: '0xb6a0c0bacb1c87c3be4dff20c22ef1012125b5724b5b0ff424f852a2651b23fa',
|
|
112
|
+
priceInfoObjectId: '0xeb7e669f74d976c0b99b6ef9801e3a77716a95f1a15754e0f1399ce3fb60973d',
|
|
113
|
+
},
|
|
114
|
+
WUSDC: {
|
|
115
|
+
address: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf`,
|
|
116
|
+
type: `0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN`,
|
|
117
|
+
scalar: 1000000,
|
|
118
|
+
},
|
|
119
|
+
WETH: {
|
|
120
|
+
address: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5`,
|
|
121
|
+
type: `0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN`,
|
|
122
|
+
scalar: 100000000,
|
|
123
|
+
},
|
|
124
|
+
BETH: {
|
|
125
|
+
address: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29`,
|
|
126
|
+
type: `0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH`,
|
|
127
|
+
scalar: 100000000,
|
|
128
|
+
},
|
|
129
|
+
WBTC: {
|
|
130
|
+
address: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881`,
|
|
131
|
+
type: `0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN`,
|
|
132
|
+
scalar: 100000000,
|
|
133
|
+
},
|
|
134
|
+
WUSDT: {
|
|
135
|
+
address: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c`,
|
|
136
|
+
type: `0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN`,
|
|
137
|
+
scalar: 1000000,
|
|
138
|
+
},
|
|
139
|
+
NS: {
|
|
140
|
+
address: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178`,
|
|
141
|
+
type: `0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178::ns::NS`,
|
|
142
|
+
scalar: 1000000,
|
|
143
|
+
},
|
|
144
|
+
TYPUS: {
|
|
145
|
+
address: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385`,
|
|
146
|
+
type: `0xf82dc05634970553615eef6112a1ac4fb7bf10272bf6cbe0f80ef44a6c489385::typus::TYPUS`,
|
|
147
|
+
scalar: 1000000000,
|
|
148
|
+
},
|
|
149
|
+
AUSD: {
|
|
150
|
+
address: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2`,
|
|
151
|
+
type: `0x2053d08c1e2bd02791056171aab0fd12bd7cd7efad2ab8f6b9c8902f14df2ff2::ausd::AUSD`,
|
|
152
|
+
scalar: 1000000,
|
|
153
|
+
},
|
|
154
|
+
DRF: {
|
|
155
|
+
address: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e`,
|
|
156
|
+
type: `0x294de7579d55c110a00a7c4946e09a1b5cbeca2592fbb83fd7bfacba3cfeaf0e::drf::DRF`,
|
|
157
|
+
scalar: 1000000,
|
|
158
|
+
},
|
|
159
|
+
SEND: {
|
|
160
|
+
address: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7`,
|
|
161
|
+
type: `0xb45fcfcc2cc07ce0702cc2d229621e046c906ef14d9b25e8e4d25f6e8763fef7::send::SEND`,
|
|
162
|
+
scalar: 1000000,
|
|
163
|
+
},
|
|
164
|
+
XBTC: {
|
|
165
|
+
address: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50`,
|
|
166
|
+
type: `0x876a4b7bce8aeaef60464c11f4026903e9afacab79b9b142686158aa86560b50::xbtc::XBTC`,
|
|
167
|
+
scalar: 100000000,
|
|
168
|
+
},
|
|
169
|
+
IKA: {
|
|
170
|
+
address: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa`,
|
|
171
|
+
type: `0x7262fb2f7a3a14c888c438a3cd9b912469a58cf60f367352c46584262e8299aa::ika::IKA`,
|
|
172
|
+
scalar: 1000000000,
|
|
173
|
+
},
|
|
174
|
+
ALKIMI: {
|
|
175
|
+
address: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489`,
|
|
176
|
+
type: `0x1a8f4bc33f8ef7fbc851f156857aa65d397a6a6fd27a7ac2ca717b51f2fd9489::alkimi::ALKIMI`,
|
|
177
|
+
scalar: 1000000000,
|
|
178
|
+
},
|
|
179
|
+
LZWBTC: {
|
|
180
|
+
address: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942`,
|
|
181
|
+
type: `0x0041f9f9344cac094454cd574e333c4fdb132d7bcc9379bcd4aab485b2a63942::wbtc::WBTC`,
|
|
182
|
+
scalar: 100000000,
|
|
183
|
+
},
|
|
184
|
+
// This coin is experimental
|
|
185
|
+
WGIGA: {
|
|
186
|
+
address: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b`,
|
|
187
|
+
type: `0xec32640add6d02a1d5f0425d72705eb76d9de7edfd4f34e0dba68e62ecceb05b::coin::COIN`,
|
|
188
|
+
scalar: 100000,
|
|
189
|
+
},
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
export const testnetPools: PoolMap = {
|
|
193
|
+
DEEP_HANEUL: {
|
|
194
|
+
address: `0x48c95963e9eac37a316b7ae04a0deb761bcdcc2b67912374d6036e7f0e9bae9f`,
|
|
195
|
+
baseCoin: 'DEEP',
|
|
196
|
+
quoteCoin: 'HANEUL',
|
|
197
|
+
},
|
|
198
|
+
HANEUL_DBUSDC: {
|
|
199
|
+
address: `0x1c19362ca52b8ffd7a33cee805a67d40f31e6ba303753fd3a4cfdfacea7163a5`,
|
|
200
|
+
baseCoin: 'HANEUL',
|
|
201
|
+
quoteCoin: 'DBUSDC',
|
|
202
|
+
},
|
|
203
|
+
DEEP_DBUSDC: {
|
|
204
|
+
address: `0xe86b991f8632217505fd859445f9803967ac84a9d4a1219065bf191fcb74b622`,
|
|
205
|
+
baseCoin: 'DEEP',
|
|
206
|
+
quoteCoin: 'DBUSDC',
|
|
207
|
+
},
|
|
208
|
+
DBUSDT_DBUSDC: {
|
|
209
|
+
address: `0x83970bb02e3636efdff8c141ab06af5e3c9a22e2f74d7f02a9c3430d0d10c1ca`,
|
|
210
|
+
baseCoin: 'DBUSDT',
|
|
211
|
+
quoteCoin: 'DBUSDC',
|
|
212
|
+
},
|
|
213
|
+
WAL_DBUSDC: {
|
|
214
|
+
address: `0xeb524b6aea0ec4b494878582e0b78924208339d360b62aec4a8ecd4031520dbb`,
|
|
215
|
+
baseCoin: 'WAL',
|
|
216
|
+
quoteCoin: 'DBUSDC',
|
|
217
|
+
},
|
|
218
|
+
WAL_HANEUL: {
|
|
219
|
+
address: `0x8c1c1b186c4fddab1ebd53e0895a36c1d1b3b9a77cd34e607bef49a38af0150a`,
|
|
220
|
+
baseCoin: 'WAL',
|
|
221
|
+
quoteCoin: 'HANEUL',
|
|
222
|
+
},
|
|
223
|
+
DBTC_DBUSDC: {
|
|
224
|
+
address: `0x0dce0aa771074eb83d1f4a29d48be8248d4d2190976a5241f66b43ec18fa34de`,
|
|
225
|
+
baseCoin: 'DBTC',
|
|
226
|
+
quoteCoin: 'DBUSDC',
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export const mainnetPools: PoolMap = {
|
|
231
|
+
DEEP_HANEUL: {
|
|
232
|
+
address: `0xb663828d6217467c8a1838a03793da896cbe745b150ebd57d82f814ca579fc22`,
|
|
233
|
+
baseCoin: 'DEEP',
|
|
234
|
+
quoteCoin: 'HANEUL',
|
|
235
|
+
},
|
|
236
|
+
HANEUL_USDC: {
|
|
237
|
+
address: `0xe05dafb5133bcffb8d59f4e12465dc0e9faeaa05e3e342a08fe135800e3e4407`,
|
|
238
|
+
baseCoin: 'HANEUL',
|
|
239
|
+
quoteCoin: 'USDC',
|
|
240
|
+
},
|
|
241
|
+
DEEP_USDC: {
|
|
242
|
+
address: `0xf948981b806057580f91622417534f491da5f61aeaf33d0ed8e69fd5691c95ce`,
|
|
243
|
+
baseCoin: 'DEEP',
|
|
244
|
+
quoteCoin: 'USDC',
|
|
245
|
+
},
|
|
246
|
+
WUSDT_USDC: {
|
|
247
|
+
address: `0x4e2ca3988246e1d50b9bf209abb9c1cbfec65bd95afdacc620a36c67bdb8452f`,
|
|
248
|
+
baseCoin: 'WUSDT',
|
|
249
|
+
quoteCoin: 'USDC',
|
|
250
|
+
},
|
|
251
|
+
WUSDC_USDC: {
|
|
252
|
+
address: `0xa0b9ebefb38c963fd115f52d71fa64501b79d1adcb5270563f92ce0442376545`,
|
|
253
|
+
baseCoin: 'WUSDC',
|
|
254
|
+
quoteCoin: 'USDC',
|
|
255
|
+
},
|
|
256
|
+
BETH_USDC: {
|
|
257
|
+
address: `0x1109352b9112717bd2a7c3eb9a416fff1ba6951760f5bdd5424cf5e4e5b3e65c`,
|
|
258
|
+
baseCoin: 'BETH',
|
|
259
|
+
quoteCoin: 'USDC',
|
|
260
|
+
},
|
|
261
|
+
NS_USDC: {
|
|
262
|
+
address: `0x0c0fdd4008740d81a8a7d4281322aee71a1b62c449eb5b142656753d89ebc060`,
|
|
263
|
+
baseCoin: 'NS',
|
|
264
|
+
quoteCoin: 'USDC',
|
|
265
|
+
},
|
|
266
|
+
NS_HANEUL: {
|
|
267
|
+
address: `0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8`,
|
|
268
|
+
baseCoin: 'NS',
|
|
269
|
+
quoteCoin: 'HANEUL',
|
|
270
|
+
},
|
|
271
|
+
TYPUS_HANEUL: {
|
|
272
|
+
address: `0xe8e56f377ab5a261449b92ac42c8ddaacd5671e9fec2179d7933dd1a91200eec`,
|
|
273
|
+
baseCoin: 'TYPUS',
|
|
274
|
+
quoteCoin: 'HANEUL',
|
|
275
|
+
},
|
|
276
|
+
HANEUL_AUSD: {
|
|
277
|
+
address: `0x183df694ebc852a5f90a959f0f563b82ac9691e42357e9a9fe961d71a1b809c8`,
|
|
278
|
+
baseCoin: 'HANEUL',
|
|
279
|
+
quoteCoin: 'AUSD',
|
|
280
|
+
},
|
|
281
|
+
AUSD_USDC: {
|
|
282
|
+
address: `0x5661fc7f88fbeb8cb881150a810758cf13700bb4e1f31274a244581b37c303c3`,
|
|
283
|
+
baseCoin: 'AUSD',
|
|
284
|
+
quoteCoin: 'USDC',
|
|
285
|
+
},
|
|
286
|
+
DRF_HANEUL: {
|
|
287
|
+
address: `0x126865a0197d6ab44bfd15fd052da6db92fd2eb831ff9663451bbfa1219e2af2`,
|
|
288
|
+
baseCoin: 'DRF',
|
|
289
|
+
quoteCoin: 'HANEUL',
|
|
290
|
+
},
|
|
291
|
+
SEND_USDC: {
|
|
292
|
+
address: `0x1fe7b99c28ded39774f37327b509d58e2be7fff94899c06d22b407496a6fa990`,
|
|
293
|
+
baseCoin: 'SEND',
|
|
294
|
+
quoteCoin: 'USDC',
|
|
295
|
+
},
|
|
296
|
+
WAL_USDC: {
|
|
297
|
+
address: `0x56a1c985c1f1123181d6b881714793689321ba24301b3585eec427436eb1c76d`,
|
|
298
|
+
baseCoin: 'WAL',
|
|
299
|
+
quoteCoin: 'USDC',
|
|
300
|
+
},
|
|
301
|
+
WAL_HANEUL: {
|
|
302
|
+
address: `0x81f5339934c83ea19dd6bcc75c52e83509629a5f71d3257428c2ce47cc94d08b`,
|
|
303
|
+
baseCoin: 'WAL',
|
|
304
|
+
quoteCoin: 'HANEUL',
|
|
305
|
+
},
|
|
306
|
+
XBTC_USDC: {
|
|
307
|
+
address: `0x20b9a3ec7a02d4f344aa1ebc5774b7b0ccafa9a5d76230662fdc0300bb215307`,
|
|
308
|
+
baseCoin: 'XBTC',
|
|
309
|
+
quoteCoin: 'USDC',
|
|
310
|
+
},
|
|
311
|
+
IKA_USDC: {
|
|
312
|
+
address: `0xfa732993af2b60d04d7049511f801e79426b2b6a5103e22769c0cead982b0f47`,
|
|
313
|
+
baseCoin: 'IKA',
|
|
314
|
+
quoteCoin: 'USDC',
|
|
315
|
+
},
|
|
316
|
+
ALKIMI_HANEUL: {
|
|
317
|
+
address: `0x84752993c6dc6fce70e25ddeb4daddb6592d6b9b0912a0a91c07cfff5a721d89`,
|
|
318
|
+
baseCoin: 'ALKIMI',
|
|
319
|
+
quoteCoin: 'HANEUL',
|
|
320
|
+
},
|
|
321
|
+
LZWBTC_USDC: {
|
|
322
|
+
address: `0xf5142aafa24866107df628bf92d0358c7da6acc46c2f10951690fd2b8570f117`,
|
|
323
|
+
baseCoin: 'LZWBTC',
|
|
324
|
+
quoteCoin: 'USDC',
|
|
325
|
+
},
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
export const testnetMarginPools = {
|
|
329
|
+
HANEUL: {
|
|
330
|
+
address: '0xcdbbe6a72e639b647296788e2e4b1cac5cea4246028ba388ba1332ff9a382eea',
|
|
331
|
+
type: '0x0000000000000000000000000000000000000000000000000000000000000002::haneul::HANEUL',
|
|
332
|
+
},
|
|
333
|
+
DBUSDC: {
|
|
334
|
+
address: '0xf08568da93834e1ee04f09902ac7b1e78d3fdf113ab4d2106c7265e95318b14d',
|
|
335
|
+
type: '0xf7152c05930480cd740d7311b5b8b45c6f488e3a53a11c3f74a6fac36a52e0d7::DBUSDC::DBUSDC',
|
|
336
|
+
},
|
|
337
|
+
DEEP: {
|
|
338
|
+
address: '0x610640613f21d9e688d6f8103d17df22315c32e0c80590ce64951a1991378b55',
|
|
339
|
+
type: '0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP',
|
|
340
|
+
},
|
|
341
|
+
DBTC: {
|
|
342
|
+
address: '0xf3440b4aafcc8b12fc4b242e9590c52873b8238a0d0e52fbf9dae61d2970796a',
|
|
343
|
+
type: '0x6502dae813dbe5e42643c119a6450a518481f03063febc7e20238e43b6ea9e86::dbtc::DBTC',
|
|
344
|
+
},
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
export const mainnetMarginPools = {
|
|
348
|
+
HANEUL: {
|
|
349
|
+
address: '0x53041c6f86c4782aabbfc1d4fe234a6d37160310c7ee740c915f0a01b7127344',
|
|
350
|
+
type: '0x0000000000000000000000000000000000000000000000000000000000000002::haneul::HANEUL',
|
|
351
|
+
},
|
|
352
|
+
USDC: {
|
|
353
|
+
address: '0xba473d9ae278f10af75c50a8fa341e9c6a1c087dc91a3f23e8048baf67d0754f',
|
|
354
|
+
type: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
|
|
355
|
+
},
|
|
356
|
+
DEEP: {
|
|
357
|
+
address: '0x1d723c5cd113296868b55208f2ab5a905184950dd59c48eb7345607d6b5e6af7',
|
|
358
|
+
type: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP',
|
|
359
|
+
},
|
|
360
|
+
WAL: {
|
|
361
|
+
address: '0x38decd3dbb62bd4723144349bf57bc403b393aee86a51596846a824a1e0c2c01',
|
|
362
|
+
type: '0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL',
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
export const testnetPythConfigs = {
|
|
367
|
+
pythStateId: '0x243759059f4c3111179da5878c12f68d612c21a8d54d85edc86164bb18be1c7c',
|
|
368
|
+
wormholeStateId: '0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790',
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
export const mainnetPythConfigs = {
|
|
372
|
+
pythStateId: '0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8',
|
|
373
|
+
wormholeStateId: '0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c',
|
|
374
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @description Base class for DeepBook errors
|
|
6
|
+
*/
|
|
7
|
+
export class DeepBookError extends Error {
|
|
8
|
+
constructor(message: string) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'DeepBookError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @description Error thrown when a resource is not found
|
|
16
|
+
*/
|
|
17
|
+
export class ResourceNotFoundError extends DeepBookError {
|
|
18
|
+
constructor(resourceType: string, key: string) {
|
|
19
|
+
super(`${resourceType} not found for key: ${key}`);
|
|
20
|
+
this.name = 'ResourceNotFoundError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @description Error thrown when configuration is invalid or missing
|
|
26
|
+
*/
|
|
27
|
+
export class ConfigurationError extends DeepBookError {
|
|
28
|
+
constructor(message: string) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.name = 'ConfigurationError';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @description Error thrown when transaction validation fails
|
|
36
|
+
*/
|
|
37
|
+
export class ValidationError extends DeepBookError {
|
|
38
|
+
constructor(message: string) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.name = 'ValidationError';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @description Standard error messages
|
|
46
|
+
*/
|
|
47
|
+
export const ErrorMessages = {
|
|
48
|
+
// Configuration errors
|
|
49
|
+
ADMIN_CAP_NOT_SET: 'Admin capability not configured',
|
|
50
|
+
MARGIN_ADMIN_CAP_NOT_SET: 'Margin admin capability not configured',
|
|
51
|
+
MARGIN_MAINTAINER_CAP_NOT_SET: 'Margin maintainer capability not configured',
|
|
52
|
+
|
|
53
|
+
// Resource errors
|
|
54
|
+
COIN_NOT_FOUND: (key: string) => `Coin not found for key: ${key}`,
|
|
55
|
+
POOL_NOT_FOUND: (key: string) => `Pool not found for key: ${key}`,
|
|
56
|
+
MARGIN_POOL_NOT_FOUND: (key: string) => `Margin pool not found for key: ${key}`,
|
|
57
|
+
BALANCE_MANAGER_NOT_FOUND: (key: string) => `Balance manager with key ${key} not found`,
|
|
58
|
+
MARGIN_MANAGER_NOT_FOUND: (key: string) => `Margin manager with key ${key} not found`,
|
|
59
|
+
PRICE_INFO_NOT_FOUND: (coinKey: string) => `Price info object not found for ${coinKey}`,
|
|
60
|
+
|
|
61
|
+
// Validation errors
|
|
62
|
+
INVALID_ARGUMENT_COUNT: (expected: number, got: number) =>
|
|
63
|
+
`Invalid number of arguments, expected ${expected}, got ${got}`,
|
|
64
|
+
PARAMETER_REQUIRED: (name: string) => `Parameter ${name} is required`,
|
|
65
|
+
INVALID_ARGUMENT: (arg: string, type: string) => `Invalid argument ${arg} for type ${type}`,
|
|
66
|
+
INVALID_ADDRESS: 'Address must be a valid Haneul address',
|
|
67
|
+
} as const;
|