@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,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State module represents the current state of the pool. It maintains all the
|
|
3
|
+
* accounts, history, and governance information. It also processes all the
|
|
4
|
+
* transactions and updates the state accordingly.
|
|
5
|
+
*/
|
|
6
|
+
import { MoveStruct } from '../utils/index.js';
|
|
7
|
+
export declare const State: MoveStruct<{
|
|
8
|
+
accounts: MoveStruct<{
|
|
9
|
+
id: MoveStruct<{
|
|
10
|
+
id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
11
|
+
}, "0x2::object::UID">;
|
|
12
|
+
size: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
13
|
+
}, "0x2::table::Table">;
|
|
14
|
+
history: MoveStruct<{
|
|
15
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
16
|
+
epoch_created: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
17
|
+
volumes: MoveStruct<{
|
|
18
|
+
total_volume: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
|
|
19
|
+
total_staked_volume: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
|
|
20
|
+
total_fees_collected: MoveStruct<{
|
|
21
|
+
base: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
22
|
+
quote: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
23
|
+
deep: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
24
|
+
}, "@deepbook/core::balances::Balances">;
|
|
25
|
+
historic_median: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u128">;
|
|
26
|
+
trade_params: MoveStruct<{
|
|
27
|
+
taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
28
|
+
maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
29
|
+
stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
30
|
+
}, "@deepbook/core::trade_params::TradeParams">;
|
|
31
|
+
}, "@deepbook/core::history::Volumes">;
|
|
32
|
+
historic_volumes: MoveStruct<{
|
|
33
|
+
id: MoveStruct<{
|
|
34
|
+
id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
35
|
+
}, "0x2::object::UID">;
|
|
36
|
+
size: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
37
|
+
}, "0x2::table::Table">;
|
|
38
|
+
balance_to_burn: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
39
|
+
}, "@deepbook/core::history::History">;
|
|
40
|
+
governance: MoveStruct<{
|
|
41
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
42
|
+
whitelisted: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
|
|
43
|
+
stable: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
|
|
44
|
+
proposals: MoveStruct<{
|
|
45
|
+
contents: import("@haneullabs/haneul/bcs").BcsType<{
|
|
46
|
+
key: string;
|
|
47
|
+
value: {
|
|
48
|
+
taker_fee: string;
|
|
49
|
+
maker_fee: string;
|
|
50
|
+
stake_required: string;
|
|
51
|
+
votes: string;
|
|
52
|
+
};
|
|
53
|
+
}[], Iterable<{
|
|
54
|
+
key: string | Uint8Array<ArrayBufferLike>;
|
|
55
|
+
value: {
|
|
56
|
+
taker_fee: string | number | bigint;
|
|
57
|
+
maker_fee: string | number | bigint;
|
|
58
|
+
stake_required: string | number | bigint;
|
|
59
|
+
votes: string | number | bigint;
|
|
60
|
+
};
|
|
61
|
+
}> & {
|
|
62
|
+
length: number;
|
|
63
|
+
}, string>;
|
|
64
|
+
}, "0x2::vec_map::VecMap<bytes[32], @deepbook/core::governance::Proposal>">;
|
|
65
|
+
trade_params: MoveStruct<{
|
|
66
|
+
taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
67
|
+
maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
68
|
+
stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
69
|
+
}, "@deepbook/core::trade_params::TradeParams">;
|
|
70
|
+
next_trade_params: MoveStruct<{
|
|
71
|
+
taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
72
|
+
maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
73
|
+
stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
74
|
+
}, "@deepbook/core::trade_params::TradeParams">;
|
|
75
|
+
voting_power: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
76
|
+
quorum: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
77
|
+
}, "@deepbook/core::governance::Governance">;
|
|
78
|
+
}, "@deepbook/core::state::State">;
|
|
79
|
+
export declare const StakeEvent: MoveStruct<{
|
|
80
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
81
|
+
balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
82
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
83
|
+
amount: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
84
|
+
stake: import("@haneullabs/haneul/bcs").BcsType<boolean, boolean, "bool">;
|
|
85
|
+
}, "@deepbook/core::state::StakeEvent">;
|
|
86
|
+
export declare const ProposalEvent: MoveStruct<{
|
|
87
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
88
|
+
balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
89
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
90
|
+
taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
91
|
+
maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
92
|
+
stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
93
|
+
}, "@deepbook/core::state::ProposalEvent">;
|
|
94
|
+
export declare const VoteEvent: MoveStruct<{
|
|
95
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
96
|
+
balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
97
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
98
|
+
from_proposal_id: import("@haneullabs/haneul/bcs").BcsType<string | null, string | Uint8Array<ArrayBufferLike> | null | undefined, "Option<bytes[32]>">;
|
|
99
|
+
to_proposal_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
100
|
+
stake: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
101
|
+
}, "@deepbook/core::state::VoteEvent">;
|
|
102
|
+
export declare const RebateEventV2: MoveStruct<{
|
|
103
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
104
|
+
balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
105
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
106
|
+
claim_amount: MoveStruct<{
|
|
107
|
+
base: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
108
|
+
quote: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
109
|
+
deep: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
110
|
+
}, "@deepbook/core::balances::Balances">;
|
|
111
|
+
}, "@deepbook/core::state::RebateEventV2">;
|
|
112
|
+
export declare const RebateEvent: MoveStruct<{
|
|
113
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
114
|
+
balance_manager_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
115
|
+
epoch: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
116
|
+
claim_amount: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
117
|
+
}, "@deepbook/core::state::RebateEvent">;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { MoveStruct } from "../utils/index.js";
|
|
2
|
+
import { bcs } from "@haneullabs/haneul/bcs";
|
|
3
|
+
import * as table from "./deps/sui/table.js";
|
|
4
|
+
import * as history from "./history.js";
|
|
5
|
+
import * as governance from "./governance.js";
|
|
6
|
+
import * as balances from "./balances.js";
|
|
7
|
+
const $moduleName = "@deepbook/core::state";
|
|
8
|
+
const State = new MoveStruct({
|
|
9
|
+
name: `${$moduleName}::State`,
|
|
10
|
+
fields: {
|
|
11
|
+
accounts: table.Table,
|
|
12
|
+
history: history.History,
|
|
13
|
+
governance: governance.Governance
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const StakeEvent = new MoveStruct({
|
|
17
|
+
name: `${$moduleName}::StakeEvent`,
|
|
18
|
+
fields: {
|
|
19
|
+
pool_id: bcs.Address,
|
|
20
|
+
balance_manager_id: bcs.Address,
|
|
21
|
+
epoch: bcs.u64(),
|
|
22
|
+
amount: bcs.u64(),
|
|
23
|
+
stake: bcs.bool()
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const ProposalEvent = new MoveStruct({
|
|
27
|
+
name: `${$moduleName}::ProposalEvent`,
|
|
28
|
+
fields: {
|
|
29
|
+
pool_id: bcs.Address,
|
|
30
|
+
balance_manager_id: bcs.Address,
|
|
31
|
+
epoch: bcs.u64(),
|
|
32
|
+
taker_fee: bcs.u64(),
|
|
33
|
+
maker_fee: bcs.u64(),
|
|
34
|
+
stake_required: bcs.u64()
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const VoteEvent = new MoveStruct({
|
|
38
|
+
name: `${$moduleName}::VoteEvent`,
|
|
39
|
+
fields: {
|
|
40
|
+
pool_id: bcs.Address,
|
|
41
|
+
balance_manager_id: bcs.Address,
|
|
42
|
+
epoch: bcs.u64(),
|
|
43
|
+
from_proposal_id: bcs.option(bcs.Address),
|
|
44
|
+
to_proposal_id: bcs.Address,
|
|
45
|
+
stake: bcs.u64()
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const RebateEventV2 = new MoveStruct({
|
|
49
|
+
name: `${$moduleName}::RebateEventV2`,
|
|
50
|
+
fields: {
|
|
51
|
+
pool_id: bcs.Address,
|
|
52
|
+
balance_manager_id: bcs.Address,
|
|
53
|
+
epoch: bcs.u64(),
|
|
54
|
+
claim_amount: balances.Balances
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const RebateEvent = new MoveStruct({
|
|
58
|
+
name: `${$moduleName}::RebateEvent`,
|
|
59
|
+
fields: {
|
|
60
|
+
pool_id: bcs.Address,
|
|
61
|
+
balance_manager_id: bcs.Address,
|
|
62
|
+
epoch: bcs.u64(),
|
|
63
|
+
claim_amount: bcs.u64()
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
export {
|
|
67
|
+
ProposalEvent,
|
|
68
|
+
RebateEvent,
|
|
69
|
+
RebateEventV2,
|
|
70
|
+
StakeEvent,
|
|
71
|
+
State,
|
|
72
|
+
VoteEvent
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/contracts/deepbook/state.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * State module represents the current state of the pool. It maintains all the\n * accounts, history, and governance information. It also processes all the\n * transactions and updates the state accordingly.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport * as table from './deps/sui/table.js';\nimport * as history from './history.js';\nimport * as governance from './governance.js';\nimport * as balances from './balances.js';\nconst $moduleName = '@deepbook/core::state';\nexport const State = new MoveStruct({\n\tname: `${$moduleName}::State`,\n\tfields: {\n\t\taccounts: table.Table,\n\t\thistory: history.History,\n\t\tgovernance: governance.Governance,\n\t},\n});\nexport const StakeEvent = new MoveStruct({\n\tname: `${$moduleName}::StakeEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tamount: bcs.u64(),\n\t\tstake: bcs.bool(),\n\t},\n});\nexport const ProposalEvent = new MoveStruct({\n\tname: `${$moduleName}::ProposalEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\ttaker_fee: bcs.u64(),\n\t\tmaker_fee: bcs.u64(),\n\t\tstake_required: bcs.u64(),\n\t},\n});\nexport const VoteEvent = new MoveStruct({\n\tname: `${$moduleName}::VoteEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tfrom_proposal_id: bcs.option(bcs.Address),\n\t\tto_proposal_id: bcs.Address,\n\t\tstake: bcs.u64(),\n\t},\n});\nexport const RebateEventV2 = new MoveStruct({\n\tname: `${$moduleName}::RebateEventV2`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tclaim_amount: balances.Balances,\n\t},\n});\nexport const RebateEvent = new MoveStruct({\n\tname: `${$moduleName}::RebateEvent`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tbalance_manager_id: bcs.Address,\n\t\tepoch: bcs.u64(),\n\t\tclaim_amount: bcs.u64(),\n\t},\n});\n"],
|
|
5
|
+
"mappings": "AASA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,YAAY,WAAW;AACvB,YAAY,aAAa;AACzB,YAAY,gBAAgB;AAC5B,YAAY,cAAc;AAC1B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,WAAW;AAAA,EACnC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,UAAU,MAAM;AAAA,IAChB,SAAS,QAAQ;AAAA,IACjB,YAAY,WAAW;AAAA,EACxB;AACD,CAAC;AACM,MAAM,aAAa,IAAI,WAAW;AAAA,EACxC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,QAAQ,IAAI,IAAI;AAAA,IAChB,OAAO,IAAI,KAAK;AAAA,EACjB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,WAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,WAAW,IAAI,IAAI;AAAA,IACnB,WAAW,IAAI,IAAI;AAAA,IACnB,gBAAgB,IAAI,IAAI;AAAA,EACzB;AACD,CAAC;AACM,MAAM,YAAY,IAAI,WAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,kBAAkB,IAAI,OAAO,IAAI,OAAO;AAAA,IACxC,gBAAgB,IAAI;AAAA,IACpB,OAAO,IAAI,IAAI;AAAA,EAChB;AACD,CAAC;AACM,MAAM,gBAAgB,IAAI,WAAW;AAAA,EAC3C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,cAAc,SAAS;AAAA,EACxB;AACD,CAAC;AACM,MAAM,cAAc,IAAI,WAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,oBAAoB,IAAI;AAAA,IACxB,OAAO,IAAI,IAAI;AAAA,IACf,cAAc,IAAI,IAAI;AAAA,EACvB;AACD,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** TradeParams module contains the trade parameters for a trading pair. */
|
|
2
|
+
import { MoveStruct } from '../utils/index.js';
|
|
3
|
+
export declare const TradeParams: MoveStruct<{
|
|
4
|
+
taker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
5
|
+
maker_fee: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
6
|
+
stake_required: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
7
|
+
}, "@deepbook/core::trade_params::TradeParams">;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MoveStruct } from "../utils/index.js";
|
|
2
|
+
import { bcs } from "@haneullabs/haneul/bcs";
|
|
3
|
+
const $moduleName = "@deepbook/core::trade_params";
|
|
4
|
+
const TradeParams = new MoveStruct({
|
|
5
|
+
name: `${$moduleName}::TradeParams`,
|
|
6
|
+
fields: {
|
|
7
|
+
taker_fee: bcs.u64(),
|
|
8
|
+
maker_fee: bcs.u64(),
|
|
9
|
+
stake_required: bcs.u64()
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
export {
|
|
13
|
+
TradeParams
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=trade_params.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/contracts/deepbook/trade_params.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/** TradeParams module contains the trade parameters for a trading pair. */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nconst $moduleName = '@deepbook/core::trade_params';\nexport const TradeParams = new MoveStruct({\n\tname: `${$moduleName}::TradeParams`,\n\tfields: {\n\t\ttaker_fee: bcs.u64(),\n\t\tmaker_fee: bcs.u64(),\n\t\tstake_required: bcs.u64(),\n\t},\n});\n"],
|
|
5
|
+
"mappings": "AAKA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,MAAM,cAAc;AACb,MAAM,cAAc,IAAI,WAAW;AAAA,EACzC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,WAAW,IAAI,IAAI;AAAA,IACnB,WAAW,IAAI,IAAI;AAAA,IACnB,gBAAgB,IAAI,IAAI;AAAA,EACzB;AACD,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The vault holds all of the assets for this pool. At the end of all transaction
|
|
3
|
+
* processing, the vault is used to settle the balances for the user.
|
|
4
|
+
*/
|
|
5
|
+
import { MoveStruct } from '../utils/index.js';
|
|
6
|
+
export declare const Vault: MoveStruct<{
|
|
7
|
+
base_balance: MoveStruct<{
|
|
8
|
+
value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
9
|
+
}, "0x2::balance::Balance">;
|
|
10
|
+
quote_balance: MoveStruct<{
|
|
11
|
+
value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
12
|
+
}, "0x2::balance::Balance">;
|
|
13
|
+
deep_balance: MoveStruct<{
|
|
14
|
+
value: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
15
|
+
}, "0x2::balance::Balance">;
|
|
16
|
+
}, "@deepbook/core::vault::Vault">;
|
|
17
|
+
export declare const FlashLoan: MoveStruct<{
|
|
18
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
19
|
+
borrow_quantity: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
20
|
+
type_name: MoveStruct<{
|
|
21
|
+
name: import("@haneullabs/haneul/bcs").BcsType<string, string, "string">;
|
|
22
|
+
}, "std::type_name::TypeName">;
|
|
23
|
+
}, "@deepbook/core::vault::FlashLoan">;
|
|
24
|
+
export declare const FlashLoanBorrowed: MoveStruct<{
|
|
25
|
+
pool_id: import("@haneullabs/haneul/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
26
|
+
borrow_quantity: import("@haneullabs/haneul/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
27
|
+
type_name: MoveStruct<{
|
|
28
|
+
name: import("@haneullabs/haneul/bcs").BcsType<string, string, "string">;
|
|
29
|
+
}, "std::type_name::TypeName">;
|
|
30
|
+
}, "@deepbook/core::vault::FlashLoanBorrowed">;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MoveStruct } from "../utils/index.js";
|
|
2
|
+
import { bcs } from "@haneullabs/haneul/bcs";
|
|
3
|
+
import * as balance from "./deps/sui/balance.js";
|
|
4
|
+
import * as type_name from "./deps/std/type_name.js";
|
|
5
|
+
const $moduleName = "@deepbook/core::vault";
|
|
6
|
+
const Vault = new MoveStruct({
|
|
7
|
+
name: `${$moduleName}::Vault`,
|
|
8
|
+
fields: {
|
|
9
|
+
base_balance: balance.Balance,
|
|
10
|
+
quote_balance: balance.Balance,
|
|
11
|
+
deep_balance: balance.Balance
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
const FlashLoan = new MoveStruct({
|
|
15
|
+
name: `${$moduleName}::FlashLoan`,
|
|
16
|
+
fields: {
|
|
17
|
+
pool_id: bcs.Address,
|
|
18
|
+
borrow_quantity: bcs.u64(),
|
|
19
|
+
type_name: type_name.TypeName
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const FlashLoanBorrowed = new MoveStruct({
|
|
23
|
+
name: `${$moduleName}::FlashLoanBorrowed`,
|
|
24
|
+
fields: {
|
|
25
|
+
pool_id: bcs.Address,
|
|
26
|
+
borrow_quantity: bcs.u64(),
|
|
27
|
+
type_name: type_name.TypeName
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
export {
|
|
31
|
+
FlashLoan,
|
|
32
|
+
FlashLoanBorrowed,
|
|
33
|
+
Vault
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=vault.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/contracts/deepbook/vault.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The vault holds all of the assets for this pool. At the end of all transaction\n * processing, the vault is used to settle the balances for the user.\n */\n\nimport { MoveStruct } from '../utils/index.js';\nimport { bcs } from '@haneullabs/haneul/bcs';\nimport * as balance from './deps/sui/balance.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/core::vault';\nexport const Vault = new MoveStruct({\n\tname: `${$moduleName}::Vault`,\n\tfields: {\n\t\tbase_balance: balance.Balance,\n\t\tquote_balance: balance.Balance,\n\t\tdeep_balance: balance.Balance,\n\t},\n});\nexport const FlashLoan = new MoveStruct({\n\tname: `${$moduleName}::FlashLoan`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tborrow_quantity: bcs.u64(),\n\t\ttype_name: type_name.TypeName,\n\t},\n});\nexport const FlashLoanBorrowed = new MoveStruct({\n\tname: `${$moduleName}::FlashLoanBorrowed`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tborrow_quantity: bcs.u64(),\n\t\ttype_name: type_name.TypeName,\n\t},\n});\n"],
|
|
5
|
+
"mappings": "AAQA,SAAS,kBAAkB;AAC3B,SAAS,WAAW;AACpB,YAAY,aAAa;AACzB,YAAY,eAAe;AAC3B,MAAM,cAAc;AACb,MAAM,QAAQ,IAAI,WAAW;AAAA,EACnC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,cAAc,QAAQ;AAAA,IACtB,eAAe,QAAQ;AAAA,IACvB,cAAc,QAAQ;AAAA,EACvB;AACD,CAAC;AACM,MAAM,YAAY,IAAI,WAAW;AAAA,EACvC,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,iBAAiB,IAAI,IAAI;AAAA,IACzB,WAAW,UAAU;AAAA,EACtB;AACD,CAAC;AACM,MAAM,oBAAoB,IAAI,WAAW;AAAA,EAC/C,MAAM,GAAG,WAAW;AAAA,EACpB,QAAQ;AAAA,IACP,SAAS,IAAI;AAAA,IACb,iBAAiB,IAAI,IAAI;AAAA,IACzB,WAAW,UAAU;AAAA,EACtB;AACD,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { BcsType, TypeTag } from '@haneullabs/haneul/bcs';
|
|
2
|
+
import { BcsStruct, BcsEnum, BcsTuple } from '@haneullabs/haneul/bcs';
|
|
3
|
+
import type { TransactionArgument } from '@haneullabs/haneul/transactions';
|
|
4
|
+
export type RawTransactionArgument<T> = T | TransactionArgument;
|
|
5
|
+
/**
|
|
6
|
+
* @description Get the BCS schema for a given type tag
|
|
7
|
+
* @param {string | TypeTag} typeTag - The Move type tag to get the schema for
|
|
8
|
+
* @returns {BcsType<any> | null} The BCS schema if found, null otherwise
|
|
9
|
+
*/
|
|
10
|
+
export declare function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null;
|
|
11
|
+
/**
|
|
12
|
+
* @description Normalize Move function arguments to TransactionArguments
|
|
13
|
+
* @param {unknown[] | object} args - The arguments to normalize
|
|
14
|
+
* @param {string[]} argTypes - The expected Move type strings for each argument
|
|
15
|
+
* @param {string[]} [parameterNames] - Optional parameter names when args is an object
|
|
16
|
+
* @returns {TransactionArgument[]} Array of normalized transaction arguments
|
|
17
|
+
* @throws {Error} If arguments are invalid or don't match expected types
|
|
18
|
+
*/
|
|
19
|
+
export declare function normalizeMoveArguments(args: unknown[] | object, argTypes: string[], parameterNames?: string[]): TransactionArgument[];
|
|
20
|
+
export declare class MoveStruct<T extends Record<string, BcsType<any>>, const Name extends string = string> extends BcsStruct<T, Name> {
|
|
21
|
+
}
|
|
22
|
+
export declare class MoveEnum<T extends Record<string, BcsType<any> | null>, const Name extends string> extends BcsEnum<T, Name> {
|
|
23
|
+
}
|
|
24
|
+
export declare class MoveTuple<T extends readonly BcsType<any>[], const Name extends string> extends BcsTuple<T, Name> {
|
|
25
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from "@haneullabs/haneul/bcs";
|
|
2
|
+
import { normalizeHaneulAddress } from "@haneullabs/haneul/utils";
|
|
3
|
+
import { isArgument } from "@haneullabs/haneul/transactions";
|
|
4
|
+
import { ValidationError, ErrorMessages } from "../../utils/errors.js";
|
|
5
|
+
const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress("0x1");
|
|
6
|
+
const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress("0x2");
|
|
7
|
+
const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress("0x3");
|
|
8
|
+
function getPureBcsSchema(typeTag) {
|
|
9
|
+
const parsedTag = typeof typeTag === "string" ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
|
|
10
|
+
if ("u8" in parsedTag) {
|
|
11
|
+
return bcs.U8;
|
|
12
|
+
} else if ("u16" in parsedTag) {
|
|
13
|
+
return bcs.U16;
|
|
14
|
+
} else if ("u32" in parsedTag) {
|
|
15
|
+
return bcs.U32;
|
|
16
|
+
} else if ("u64" in parsedTag) {
|
|
17
|
+
return bcs.U64;
|
|
18
|
+
} else if ("u128" in parsedTag) {
|
|
19
|
+
return bcs.U128;
|
|
20
|
+
} else if ("u256" in parsedTag) {
|
|
21
|
+
return bcs.U256;
|
|
22
|
+
} else if ("address" in parsedTag) {
|
|
23
|
+
return bcs.Address;
|
|
24
|
+
} else if ("bool" in parsedTag) {
|
|
25
|
+
return bcs.Bool;
|
|
26
|
+
} else if ("vector" in parsedTag) {
|
|
27
|
+
const type = getPureBcsSchema(parsedTag.vector);
|
|
28
|
+
return type ? bcs.vector(type) : null;
|
|
29
|
+
} else if ("struct" in parsedTag) {
|
|
30
|
+
const structTag = parsedTag.struct;
|
|
31
|
+
const pkg = normalizeHaneulAddress(parsedTag.struct.address);
|
|
32
|
+
if (pkg === MOVE_STDLIB_ADDRESS) {
|
|
33
|
+
if ((structTag.module === "ascii" || structTag.module === "string") && structTag.name === "String") {
|
|
34
|
+
return bcs.String;
|
|
35
|
+
}
|
|
36
|
+
if (structTag.module === "option" && structTag.name === "Option") {
|
|
37
|
+
const type = getPureBcsSchema(structTag.typeParams[0]);
|
|
38
|
+
return type ? bcs.vector(type) : null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === "Object" && structTag.name === "ID") {
|
|
42
|
+
return bcs.Address;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
function normalizeMoveArguments(args, argTypes, parameterNames) {
|
|
48
|
+
const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
|
|
49
|
+
if (parameterNames && argLen !== parameterNames.length) {
|
|
50
|
+
throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));
|
|
51
|
+
}
|
|
52
|
+
const normalizedArgs = [];
|
|
53
|
+
let index = 0;
|
|
54
|
+
for (const [i, argType] of argTypes.entries()) {
|
|
55
|
+
if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {
|
|
56
|
+
normalizedArgs.push((tx) => tx.object.denyList());
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {
|
|
60
|
+
normalizedArgs.push((tx) => tx.object.random());
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {
|
|
64
|
+
normalizedArgs.push((tx) => tx.object.clock());
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {
|
|
68
|
+
normalizedArgs.push((tx) => tx.object.system());
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
let arg;
|
|
72
|
+
if (Array.isArray(args)) {
|
|
73
|
+
if (index >= args.length) {
|
|
74
|
+
throw new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));
|
|
75
|
+
}
|
|
76
|
+
arg = args[index];
|
|
77
|
+
} else {
|
|
78
|
+
if (!parameterNames) {
|
|
79
|
+
throw new ValidationError(`Expected arguments to be passed as an array`);
|
|
80
|
+
}
|
|
81
|
+
const name = parameterNames[index];
|
|
82
|
+
arg = args[name];
|
|
83
|
+
if (arg == null) {
|
|
84
|
+
throw new ValidationError(ErrorMessages.PARAMETER_REQUIRED(name));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
index += 1;
|
|
88
|
+
if (typeof arg === "function" || isArgument(arg)) {
|
|
89
|
+
normalizedArgs.push(arg);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const type = argTypes[i];
|
|
93
|
+
const bcsType = getPureBcsSchema(type);
|
|
94
|
+
if (bcsType) {
|
|
95
|
+
const bytes = bcsType.serialize(arg);
|
|
96
|
+
normalizedArgs.push((tx) => tx.pure(bytes));
|
|
97
|
+
continue;
|
|
98
|
+
} else if (typeof arg === "string") {
|
|
99
|
+
normalizedArgs.push((tx) => tx.object(arg));
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
throw new ValidationError(ErrorMessages.INVALID_ARGUMENT(stringify(arg), type));
|
|
103
|
+
}
|
|
104
|
+
return normalizedArgs;
|
|
105
|
+
}
|
|
106
|
+
class MoveStruct extends BcsStruct {
|
|
107
|
+
}
|
|
108
|
+
class MoveEnum extends BcsEnum {
|
|
109
|
+
}
|
|
110
|
+
class MoveTuple extends BcsTuple {
|
|
111
|
+
}
|
|
112
|
+
function stringify(val) {
|
|
113
|
+
if (typeof val === "object") {
|
|
114
|
+
return JSON.stringify(val, (val2) => val2);
|
|
115
|
+
}
|
|
116
|
+
if (typeof val === "bigint") {
|
|
117
|
+
return val.toString();
|
|
118
|
+
}
|
|
119
|
+
return val;
|
|
120
|
+
}
|
|
121
|
+
export {
|
|
122
|
+
MoveEnum,
|
|
123
|
+
MoveStruct,
|
|
124
|
+
MoveTuple,
|
|
125
|
+
getPureBcsSchema,
|
|
126
|
+
normalizeMoveArguments
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/contracts/utils/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport type { BcsType, TypeTag } from '@haneullabs/haneul/bcs';\nimport { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from '@haneullabs/haneul/bcs';\nimport { normalizeHaneulAddress } from '@haneullabs/haneul/utils';\nimport type { TransactionArgument } from '@haneullabs/haneul/transactions';\nimport { isArgument } from '@haneullabs/haneul/transactions';\nimport { ValidationError, ErrorMessages } from '../../utils/errors.js';\n\nconst MOVE_STDLIB_ADDRESS = normalizeHaneulAddress('0x1');\nconst HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress('0x2');\nconst HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress('0x3');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\n/**\n * @description Get the BCS schema for a given type tag\n * @param {string | TypeTag} typeTag - The Move type tag to get the schema for\n * @returns {BcsType<any> | null} The BCS schema if found, null otherwise\n */\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeHaneulAddress(parsedTag.struct.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]!);\n\t\t\t\treturn type ? bcs.vector(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (pkg === HANEUL_FRAMEWORK_ADDRESS && structTag.module === 'Object' && structTag.name === 'ID') {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n/**\n * @description Normalize Move function arguments to TransactionArguments\n * @param {unknown[] | object} args - The arguments to normalize\n * @param {string[]} argTypes - The expected Move type strings for each argument\n * @param {string[]} [parameterNames] - Optional parameter names when args is an object\n * @returns {TransactionArgument[]} Array of normalized transaction arguments\n * @throws {Error} If arguments are invalid or don't match expected types\n */\nexport function normalizeMoveArguments(\n\targs: unknown[] | object,\n\targTypes: string[],\n\tparameterNames?: string[],\n): TransactionArgument[] {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(parameterNames.length, argLen));\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::random::Random`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_FRAMEWORK_ADDRESS}::clock::Clock`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${HANEUL_SYSTEM_ADDRESS}::haneul_system::HaneulSystemState`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg;\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT_COUNT(index + 1, args.length));\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new ValidationError(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg == null) {\n\t\t\t\tthrow new ValidationError(ErrorMessages.PARAMETER_REQUIRED(name));\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i]!;\n\t\tconst bcsType = getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t} else if (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new ValidationError(ErrorMessages.INVALID_ARGUMENT(stringify(arg) as string, type));\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tT extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\n/**\n * @description Convert a value to string representation for error messages\n * @param {unknown} val - The value to stringify\n * @returns {unknown} String representation of the value\n * @private\n */\nfunction stringify(val: unknown): unknown {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["val"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { DeepBookClient } from './client.js';
|
|
2
|
+
export { DeepBookConfig } from './utils/config.js';
|
|
3
|
+
export { BalanceManagerContract } from './transactions/balanceManager.js';
|
|
4
|
+
export { DeepBookContract } from './transactions/deepbook.js';
|
|
5
|
+
export { DeepBookAdminContract } from './transactions/deepbookAdmin.js';
|
|
6
|
+
export { FlashLoanContract } from './transactions/flashLoans.js';
|
|
7
|
+
export { GovernanceContract } from './transactions/governance.js';
|
|
8
|
+
export { MarginAdminContract } from './transactions/marginAdmin.js';
|
|
9
|
+
export { MarginMaintainerContract } from './transactions/marginMaintainer.js';
|
|
10
|
+
export { MarginManagerContract } from './transactions/marginManager.js';
|
|
11
|
+
export { MarginPoolContract } from './transactions/marginPool.js';
|
|
12
|
+
export { PoolProxyContract } from './transactions/poolProxy.js';
|
|
13
|
+
export { MarginTPSLContract } from './transactions/marginTPSL.js';
|
|
14
|
+
export { HaneulPythClient, HaneulPriceServiceConnection } from './pyth/pyth.js';
|
|
15
|
+
export { Account, Balances, Order, OrderDeepPrice, VecSet } from './types/bcs.js';
|
|
16
|
+
export type { BalanceManager, Coin, Pool, MarginManager, MarginPool, Environment, Config, } from './types/index.js';
|
|
17
|
+
export type { PlaceLimitOrderParams, PlaceMarketOrderParams, PlaceMarginLimitOrderParams, PlaceMarginMarketOrderParams, SwapParams, ProposalParams, MarginProposalParams, CreatePoolAdminParams, CreatePermissionlessPoolParams, SetEwmaParams, PoolConfigParams, MarginPoolConfigParams, InterestConfigParams, } from './types/index.js';
|
|
18
|
+
export type { PendingLimitOrderParams, PendingMarketOrderParams, AddConditionalOrderParams, } from './types/index.js';
|
|
19
|
+
export { OrderType, SelfMatchingOptions } from './types/index.js';
|
|
20
|
+
export type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';
|
|
21
|
+
export { DEEP_SCALAR, FLOAT_SCALAR, GAS_BUDGET, MAX_TIMESTAMP, POOL_CREATION_FEE_DEEP, PRICE_INFO_OBJECT_MAX_AGE_MS, } from './utils/config.js';
|
|
22
|
+
export { DeepBookError, ResourceNotFoundError, ConfigurationError, ValidationError, ErrorMessages, } from './utils/errors.js';
|
|
23
|
+
export { validateRequired, validateAddress, validatePositiveNumber, validateNonNegativeNumber, validateRange, validateNonEmptyArray, } from './utils/validation.js';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { DeepBookClient } from "./client.js";
|
|
2
|
+
import { DeepBookConfig } from "./utils/config.js";
|
|
3
|
+
import { BalanceManagerContract } from "./transactions/balanceManager.js";
|
|
4
|
+
import { DeepBookContract } from "./transactions/deepbook.js";
|
|
5
|
+
import { DeepBookAdminContract } from "./transactions/deepbookAdmin.js";
|
|
6
|
+
import { FlashLoanContract } from "./transactions/flashLoans.js";
|
|
7
|
+
import { GovernanceContract } from "./transactions/governance.js";
|
|
8
|
+
import { MarginAdminContract } from "./transactions/marginAdmin.js";
|
|
9
|
+
import { MarginMaintainerContract } from "./transactions/marginMaintainer.js";
|
|
10
|
+
import { MarginManagerContract } from "./transactions/marginManager.js";
|
|
11
|
+
import { MarginPoolContract } from "./transactions/marginPool.js";
|
|
12
|
+
import { PoolProxyContract } from "./transactions/poolProxy.js";
|
|
13
|
+
import { MarginTPSLContract } from "./transactions/marginTPSL.js";
|
|
14
|
+
import { HaneulPythClient, HaneulPriceServiceConnection } from "./pyth/pyth.js";
|
|
15
|
+
import { Account, Balances, Order, OrderDeepPrice, VecSet } from "./types/bcs.js";
|
|
16
|
+
import { OrderType, SelfMatchingOptions } from "./types/index.js";
|
|
17
|
+
import {
|
|
18
|
+
DEEP_SCALAR,
|
|
19
|
+
FLOAT_SCALAR,
|
|
20
|
+
GAS_BUDGET,
|
|
21
|
+
MAX_TIMESTAMP,
|
|
22
|
+
POOL_CREATION_FEE_DEEP,
|
|
23
|
+
PRICE_INFO_OBJECT_MAX_AGE_MS
|
|
24
|
+
} from "./utils/config.js";
|
|
25
|
+
import {
|
|
26
|
+
DeepBookError,
|
|
27
|
+
ResourceNotFoundError,
|
|
28
|
+
ConfigurationError,
|
|
29
|
+
ValidationError,
|
|
30
|
+
ErrorMessages
|
|
31
|
+
} from "./utils/errors.js";
|
|
32
|
+
import {
|
|
33
|
+
validateRequired,
|
|
34
|
+
validateAddress,
|
|
35
|
+
validatePositiveNumber,
|
|
36
|
+
validateNonNegativeNumber,
|
|
37
|
+
validateRange,
|
|
38
|
+
validateNonEmptyArray
|
|
39
|
+
} from "./utils/validation.js";
|
|
40
|
+
export {
|
|
41
|
+
Account,
|
|
42
|
+
BalanceManagerContract,
|
|
43
|
+
Balances,
|
|
44
|
+
ConfigurationError,
|
|
45
|
+
DEEP_SCALAR,
|
|
46
|
+
DeepBookAdminContract,
|
|
47
|
+
DeepBookClient,
|
|
48
|
+
DeepBookConfig,
|
|
49
|
+
DeepBookContract,
|
|
50
|
+
DeepBookError,
|
|
51
|
+
ErrorMessages,
|
|
52
|
+
FLOAT_SCALAR,
|
|
53
|
+
FlashLoanContract,
|
|
54
|
+
GAS_BUDGET,
|
|
55
|
+
GovernanceContract,
|
|
56
|
+
HaneulPriceServiceConnection,
|
|
57
|
+
HaneulPythClient,
|
|
58
|
+
MAX_TIMESTAMP,
|
|
59
|
+
MarginAdminContract,
|
|
60
|
+
MarginMaintainerContract,
|
|
61
|
+
MarginManagerContract,
|
|
62
|
+
MarginPoolContract,
|
|
63
|
+
MarginTPSLContract,
|
|
64
|
+
Order,
|
|
65
|
+
OrderDeepPrice,
|
|
66
|
+
OrderType,
|
|
67
|
+
POOL_CREATION_FEE_DEEP,
|
|
68
|
+
PRICE_INFO_OBJECT_MAX_AGE_MS,
|
|
69
|
+
PoolProxyContract,
|
|
70
|
+
ResourceNotFoundError,
|
|
71
|
+
SelfMatchingOptions,
|
|
72
|
+
ValidationError,
|
|
73
|
+
VecSet,
|
|
74
|
+
validateAddress,
|
|
75
|
+
validateNonEmptyArray,
|
|
76
|
+
validateNonNegativeNumber,
|
|
77
|
+
validatePositiveNumber,
|
|
78
|
+
validateRange,
|
|
79
|
+
validateRequired
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// Main client and configuration\nexport { DeepBookClient } from './client.js';\nexport { DeepBookConfig } from './utils/config.js';\n\n// Core contract classes\nexport { BalanceManagerContract } from './transactions/balanceManager.js';\nexport { DeepBookContract } from './transactions/deepbook.js';\nexport { DeepBookAdminContract } from './transactions/deepbookAdmin.js';\nexport { FlashLoanContract } from './transactions/flashLoans.js';\nexport { GovernanceContract } from './transactions/governance.js';\n\n// Margin trading contracts\nexport { MarginAdminContract } from './transactions/marginAdmin.js';\nexport { MarginMaintainerContract } from './transactions/marginMaintainer.js';\nexport { MarginManagerContract } from './transactions/marginManager.js';\nexport { MarginPoolContract } from './transactions/marginPool.js';\nexport { PoolProxyContract } from './transactions/poolProxy.js';\nexport { MarginTPSLContract } from './transactions/marginTPSL.js';\n\n// Pyth price feed integration\nexport { HaneulPythClient, HaneulPriceServiceConnection } from './pyth/pyth.js';\n\n// BCS types for parsing on-chain data\nexport { Account, Balances, Order, OrderDeepPrice, VecSet } from './types/bcs.js';\n\n// TypeScript interfaces and types\nexport type {\n\tBalanceManager,\n\tCoin,\n\tPool,\n\tMarginManager,\n\tMarginPool,\n\tEnvironment,\n\tConfig,\n} from './types/index.js';\n\n// Trading parameter interfaces\nexport type {\n\tPlaceLimitOrderParams,\n\tPlaceMarketOrderParams,\n\tPlaceMarginLimitOrderParams,\n\tPlaceMarginMarketOrderParams,\n\tSwapParams,\n\tProposalParams,\n\tMarginProposalParams,\n\tCreatePoolAdminParams,\n\tCreatePermissionlessPoolParams,\n\tSetEwmaParams,\n\tPoolConfigParams,\n\tMarginPoolConfigParams,\n\tInterestConfigParams,\n} from './types/index.js';\n\n// TPSL (Take Profit / Stop Loss) parameter interfaces\nexport type {\n\tPendingLimitOrderParams,\n\tPendingMarketOrderParams,\n\tAddConditionalOrderParams,\n} from './types/index.js';\n\n// Enums for trading\nexport { OrderType, SelfMatchingOptions } from './types/index.js';\n\n// Constants and configuration maps\nexport type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';\nexport {\n\tDEEP_SCALAR,\n\tFLOAT_SCALAR,\n\tGAS_BUDGET,\n\tMAX_TIMESTAMP,\n\tPOOL_CREATION_FEE_DEEP,\n\tPRICE_INFO_OBJECT_MAX_AGE_MS,\n} from './utils/config.js';\n\n// Error handling utilities\nexport {\n\tDeepBookError,\n\tResourceNotFoundError,\n\tConfigurationError,\n\tValidationError,\n\tErrorMessages,\n} from './utils/errors.js';\n\n// Validation utilities\nexport {\n\tvalidateRequired,\n\tvalidateAddress,\n\tvalidatePositiveNumber,\n\tvalidateNonNegativeNumber,\n\tvalidateRange,\n\tvalidateNonEmptyArray,\n} from './utils/validation.js';\n"],
|
|
5
|
+
"mappings": "AAIA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAG/B,SAAS,8BAA8B;AACvC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAGnC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAGnC,SAAS,kBAAkB,oCAAoC;AAG/D,SAAS,SAAS,UAAU,OAAO,gBAAgB,cAAc;AAsCjE,SAAS,WAAW,2BAA2B;AAI/C;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAGP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAGP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|