@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,296 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import type { Transaction } from '@haneullabs/haneul/transactions';
|
|
4
|
+
|
|
5
|
+
import type { DeepBookConfig } from '../utils/config.js';
|
|
6
|
+
import type {
|
|
7
|
+
PendingLimitOrderParams,
|
|
8
|
+
PendingMarketOrderParams,
|
|
9
|
+
AddConditionalOrderParams,
|
|
10
|
+
} from '../types/index.js';
|
|
11
|
+
import { OrderType, SelfMatchingOptions } from '../types/index.js';
|
|
12
|
+
import { MAX_TIMESTAMP, FLOAT_SCALAR } from '../utils/config.js';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* MarginTPSLContract class for managing Take Profit / Stop Loss operations.
|
|
16
|
+
*/
|
|
17
|
+
export class MarginTPSLContract {
|
|
18
|
+
#config: DeepBookConfig;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {DeepBookConfig} config Configuration for MarginTPSLContract
|
|
22
|
+
*/
|
|
23
|
+
constructor(config: DeepBookConfig) {
|
|
24
|
+
this.#config = config;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// === Helper Functions ===
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @description Create a new condition for a conditional order
|
|
31
|
+
* @param {string} poolKey The key to identify the pool
|
|
32
|
+
* @param {boolean} triggerBelowPrice Whether to trigger when price is below trigger price
|
|
33
|
+
* @param {number} triggerPrice The price at which to trigger the order
|
|
34
|
+
* @returns A function that takes a Transaction object
|
|
35
|
+
*/
|
|
36
|
+
newCondition =
|
|
37
|
+
(poolKey: string, triggerBelowPrice: boolean, triggerPrice: number) => (tx: Transaction) => {
|
|
38
|
+
const pool = this.#config.getPool(poolKey);
|
|
39
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
40
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
41
|
+
const inputPrice = Math.round(
|
|
42
|
+
(triggerPrice * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar,
|
|
43
|
+
);
|
|
44
|
+
return tx.moveCall({
|
|
45
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_condition`,
|
|
46
|
+
arguments: [tx.pure.bool(triggerBelowPrice), tx.pure.u64(inputPrice)],
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @description Create a new pending limit order for use in conditional orders
|
|
52
|
+
* @param {string} poolKey The key to identify the pool
|
|
53
|
+
* @param {PendingLimitOrderParams} params Parameters for the pending limit order
|
|
54
|
+
* @returns A function that takes a Transaction object
|
|
55
|
+
*/
|
|
56
|
+
newPendingLimitOrder =
|
|
57
|
+
(poolKey: string, params: PendingLimitOrderParams) => (tx: Transaction) => {
|
|
58
|
+
const {
|
|
59
|
+
clientOrderId,
|
|
60
|
+
orderType = OrderType.NO_RESTRICTION,
|
|
61
|
+
selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,
|
|
62
|
+
price,
|
|
63
|
+
quantity,
|
|
64
|
+
isBid,
|
|
65
|
+
payWithDeep = true,
|
|
66
|
+
expireTimestamp = MAX_TIMESTAMP,
|
|
67
|
+
} = params;
|
|
68
|
+
const pool = this.#config.getPool(poolKey);
|
|
69
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
70
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
71
|
+
const inputPrice = Math.round((price * FLOAT_SCALAR * quoteCoin.scalar) / baseCoin.scalar);
|
|
72
|
+
const inputQuantity = Math.round(quantity * baseCoin.scalar);
|
|
73
|
+
return tx.moveCall({
|
|
74
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_pending_limit_order`,
|
|
75
|
+
arguments: [
|
|
76
|
+
tx.pure.u64(clientOrderId),
|
|
77
|
+
tx.pure.u8(orderType),
|
|
78
|
+
tx.pure.u8(selfMatchingOption),
|
|
79
|
+
tx.pure.u64(inputPrice),
|
|
80
|
+
tx.pure.u64(inputQuantity),
|
|
81
|
+
tx.pure.bool(isBid),
|
|
82
|
+
tx.pure.bool(payWithDeep),
|
|
83
|
+
tx.pure.u64(expireTimestamp),
|
|
84
|
+
],
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @description Create a new pending market order for use in conditional orders
|
|
90
|
+
* @param {string} poolKey The key to identify the pool
|
|
91
|
+
* @param {PendingMarketOrderParams} params Parameters for the pending market order
|
|
92
|
+
* @returns A function that takes a Transaction object
|
|
93
|
+
*/
|
|
94
|
+
newPendingMarketOrder =
|
|
95
|
+
(poolKey: string, params: PendingMarketOrderParams) => (tx: Transaction) => {
|
|
96
|
+
const {
|
|
97
|
+
clientOrderId,
|
|
98
|
+
selfMatchingOption = SelfMatchingOptions.SELF_MATCHING_ALLOWED,
|
|
99
|
+
quantity,
|
|
100
|
+
isBid,
|
|
101
|
+
payWithDeep = true,
|
|
102
|
+
} = params;
|
|
103
|
+
const pool = this.#config.getPool(poolKey);
|
|
104
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
105
|
+
const inputQuantity = Math.round(quantity * baseCoin.scalar);
|
|
106
|
+
return tx.moveCall({
|
|
107
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::tpsl::new_pending_market_order`,
|
|
108
|
+
arguments: [
|
|
109
|
+
tx.pure.u64(clientOrderId),
|
|
110
|
+
tx.pure.u8(selfMatchingOption),
|
|
111
|
+
tx.pure.u64(inputQuantity),
|
|
112
|
+
tx.pure.bool(isBid),
|
|
113
|
+
tx.pure.bool(payWithDeep),
|
|
114
|
+
],
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
// === Public Functions ===
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @description Add a conditional order (take profit or stop loss)
|
|
122
|
+
* @param {AddConditionalOrderParams} params Parameters for adding the conditional order
|
|
123
|
+
* @returns A function that takes a Transaction object
|
|
124
|
+
*/
|
|
125
|
+
addConditionalOrder = (params: AddConditionalOrderParams) => (tx: Transaction) => {
|
|
126
|
+
const { marginManagerKey, conditionalOrderId, triggerBelowPrice, triggerPrice, pendingOrder } =
|
|
127
|
+
params;
|
|
128
|
+
const manager = this.#config.getMarginManager(marginManagerKey);
|
|
129
|
+
const pool = this.#config.getPool(manager.poolKey);
|
|
130
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
131
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
132
|
+
|
|
133
|
+
// Create condition
|
|
134
|
+
const condition = this.newCondition(manager.poolKey, triggerBelowPrice, triggerPrice)(tx);
|
|
135
|
+
|
|
136
|
+
// Create pending order based on type
|
|
137
|
+
const isLimitOrder = 'price' in pendingOrder;
|
|
138
|
+
const pending = isLimitOrder
|
|
139
|
+
? this.newPendingLimitOrder(manager.poolKey, pendingOrder as PendingLimitOrderParams)(tx)
|
|
140
|
+
: this.newPendingMarketOrder(manager.poolKey, pendingOrder as PendingMarketOrderParams)(tx);
|
|
141
|
+
|
|
142
|
+
tx.moveCall({
|
|
143
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::add_conditional_order`,
|
|
144
|
+
arguments: [
|
|
145
|
+
tx.object(manager.address),
|
|
146
|
+
tx.object(pool.address),
|
|
147
|
+
tx.object(baseCoin.priceInfoObjectId!),
|
|
148
|
+
tx.object(quoteCoin.priceInfoObjectId!),
|
|
149
|
+
tx.object(this.#config.MARGIN_REGISTRY_ID),
|
|
150
|
+
tx.pure.u64(conditionalOrderId),
|
|
151
|
+
condition,
|
|
152
|
+
pending,
|
|
153
|
+
tx.object.clock(),
|
|
154
|
+
],
|
|
155
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @description Cancel all conditional orders for a margin manager
|
|
161
|
+
* @param {string} marginManagerKey The key to identify the margin manager
|
|
162
|
+
* @returns A function that takes a Transaction object
|
|
163
|
+
*/
|
|
164
|
+
cancelAllConditionalOrders = (marginManagerKey: string) => (tx: Transaction) => {
|
|
165
|
+
const manager = this.#config.getMarginManager(marginManagerKey);
|
|
166
|
+
const pool = this.#config.getPool(manager.poolKey);
|
|
167
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
168
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
169
|
+
tx.moveCall({
|
|
170
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::cancel_all_conditional_orders`,
|
|
171
|
+
arguments: [tx.object(manager.address), tx.object.clock()],
|
|
172
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @description Cancel a specific conditional order
|
|
178
|
+
* @param {string} marginManagerKey The key to identify the margin manager
|
|
179
|
+
* @param {string} conditionalOrderId The ID of the conditional order to cancel
|
|
180
|
+
* @returns A function that takes a Transaction object
|
|
181
|
+
*/
|
|
182
|
+
cancelConditionalOrder =
|
|
183
|
+
(marginManagerKey: string, conditionalOrderId: string) => (tx: Transaction) => {
|
|
184
|
+
const manager = this.#config.getMarginManager(marginManagerKey);
|
|
185
|
+
const pool = this.#config.getPool(manager.poolKey);
|
|
186
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
187
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
188
|
+
tx.moveCall({
|
|
189
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::cancel_conditional_order`,
|
|
190
|
+
arguments: [tx.object(manager.address), tx.pure.u64(conditionalOrderId), tx.object.clock()],
|
|
191
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* @description Execute conditional orders that have been triggered
|
|
197
|
+
* This is a permissionless function that can be called by anyone
|
|
198
|
+
* @param {string} marginManagerKey The key to identify the margin manager
|
|
199
|
+
* @param {number} maxOrdersToExecute Maximum number of orders to execute in this call
|
|
200
|
+
* @returns A function that takes a Transaction object
|
|
201
|
+
*/
|
|
202
|
+
executeConditionalOrders =
|
|
203
|
+
(marginManagerKey: string, maxOrdersToExecute: number) => (tx: Transaction) => {
|
|
204
|
+
const manager = this.#config.getMarginManager(marginManagerKey);
|
|
205
|
+
const pool = this.#config.getPool(manager.poolKey);
|
|
206
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
207
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
208
|
+
return tx.moveCall({
|
|
209
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::execute_conditional_orders`,
|
|
210
|
+
arguments: [
|
|
211
|
+
tx.object(manager.address),
|
|
212
|
+
tx.object(pool.address),
|
|
213
|
+
tx.object(baseCoin.priceInfoObjectId!),
|
|
214
|
+
tx.object(quoteCoin.priceInfoObjectId!),
|
|
215
|
+
tx.object(this.#config.MARGIN_REGISTRY_ID),
|
|
216
|
+
tx.pure.u64(maxOrdersToExecute),
|
|
217
|
+
tx.object.clock(),
|
|
218
|
+
],
|
|
219
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
// === Read-Only Functions ===
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @description Get all conditional order IDs for a margin manager
|
|
227
|
+
* @param {string} poolKey The key to identify the pool
|
|
228
|
+
* @param {string} marginManagerId The ID of the margin manager
|
|
229
|
+
* @returns A function that takes a Transaction object
|
|
230
|
+
*/
|
|
231
|
+
conditionalOrderIds = (poolKey: string, marginManagerId: string) => (tx: Transaction) => {
|
|
232
|
+
const pool = this.#config.getPool(poolKey);
|
|
233
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
234
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
235
|
+
return tx.moveCall({
|
|
236
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::conditional_order_ids`,
|
|
237
|
+
arguments: [tx.object(marginManagerId)],
|
|
238
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @description Get a specific conditional order by ID
|
|
244
|
+
* @param {string} poolKey The key to identify the pool
|
|
245
|
+
* @param {string} marginManagerId The ID of the margin manager
|
|
246
|
+
* @param {string} conditionalOrderId The ID of the conditional order
|
|
247
|
+
* @returns A function that takes a Transaction object
|
|
248
|
+
*/
|
|
249
|
+
conditionalOrder =
|
|
250
|
+
(poolKey: string, marginManagerId: string, conditionalOrderId: string) => (tx: Transaction) => {
|
|
251
|
+
const pool = this.#config.getPool(poolKey);
|
|
252
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
253
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
254
|
+
return tx.moveCall({
|
|
255
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::conditional_order`,
|
|
256
|
+
arguments: [tx.object(marginManagerId), tx.pure.u64(conditionalOrderId)],
|
|
257
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* @description Get the lowest trigger price for trigger_above orders
|
|
263
|
+
* Returns constants::max_u64() if there are no trigger_above orders
|
|
264
|
+
* @param {string} poolKey The key to identify the pool
|
|
265
|
+
* @param {string} marginManagerId The ID of the margin manager
|
|
266
|
+
* @returns A function that takes a Transaction object
|
|
267
|
+
*/
|
|
268
|
+
lowestTriggerAbovePrice = (poolKey: string, marginManagerId: string) => (tx: Transaction) => {
|
|
269
|
+
const pool = this.#config.getPool(poolKey);
|
|
270
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
271
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
272
|
+
return tx.moveCall({
|
|
273
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::lowest_trigger_above_price`,
|
|
274
|
+
arguments: [tx.object(marginManagerId)],
|
|
275
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
276
|
+
});
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* @description Get the highest trigger price for trigger_below orders
|
|
281
|
+
* Returns 0 if there are no trigger_below orders
|
|
282
|
+
* @param {string} poolKey The key to identify the pool
|
|
283
|
+
* @param {string} marginManagerId The ID of the margin manager
|
|
284
|
+
* @returns A function that takes a Transaction object
|
|
285
|
+
*/
|
|
286
|
+
highestTriggerBelowPrice = (poolKey: string, marginManagerId: string) => (tx: Transaction) => {
|
|
287
|
+
const pool = this.#config.getPool(poolKey);
|
|
288
|
+
const baseCoin = this.#config.getCoin(pool.baseCoin);
|
|
289
|
+
const quoteCoin = this.#config.getCoin(pool.quoteCoin);
|
|
290
|
+
return tx.moveCall({
|
|
291
|
+
target: `${this.#config.MARGIN_PACKAGE_ID}::margin_manager::highest_trigger_below_price`,
|
|
292
|
+
arguments: [tx.object(marginManagerId)],
|
|
293
|
+
typeArguments: [baseCoin.type, quoteCoin.type],
|
|
294
|
+
});
|
|
295
|
+
};
|
|
296
|
+
}
|