@haneullabs/deepbook-v3 0.1.0 → 1.2.1
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 +342 -81
- package/dist/client.d.mts +238 -0
- package/dist/client.d.mts.map +1 -0
- package/dist/client.mjs +397 -0
- package/dist/client.mjs.map +1 -0
- package/dist/contracts/deepbook/account.d.mts +37 -0
- package/dist/contracts/deepbook/account.d.mts.map +1 -0
- package/dist/contracts/deepbook/account.mjs +31 -0
- package/dist/contracts/deepbook/account.mjs.map +1 -0
- package/dist/contracts/deepbook/balances.d.mts +12 -0
- package/dist/contracts/deepbook/balances.d.mts.map +1 -0
- package/dist/contracts/deepbook/balances.mjs +24 -0
- package/dist/contracts/deepbook/balances.mjs.map +1 -0
- package/dist/contracts/deepbook/deep_price.d.mts +12 -0
- package/dist/contracts/deepbook/deep_price.d.mts.map +1 -0
- package/dist/contracts/deepbook/deep_price.mjs +49 -0
- package/dist/contracts/deepbook/deep_price.mjs.map +1 -0
- package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts +21 -0
- package/dist/contracts/deepbook/deps/haneul/vec_set.d.mts.map +1 -0
- package/dist/contracts/deepbook/deps/haneul/vec_set.mjs +26 -0
- package/dist/contracts/deepbook/deps/haneul/vec_set.mjs.map +1 -0
- package/dist/contracts/deepbook/order.d.mts +23 -0
- package/dist/contracts/deepbook/order.d.mts.map +1 -0
- package/dist/contracts/deepbook/order.mjs +63 -0
- package/dist/contracts/deepbook/order.mjs.map +1 -0
- package/dist/contracts/pyth/data_source.mjs +20 -0
- package/dist/contracts/pyth/data_source.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
- package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
- package/dist/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs +16 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs +16 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs +16 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.mjs.map +1 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs +16 -0
- package/dist/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.mjs.map +1 -0
- package/dist/contracts/pyth/i64.mjs +19 -0
- package/dist/contracts/pyth/i64.mjs.map +1 -0
- package/dist/contracts/pyth/price.mjs +22 -0
- package/dist/contracts/pyth/price.mjs.map +1 -0
- package/dist/contracts/pyth/price_feed.mjs +21 -0
- package/dist/contracts/pyth/price_feed.mjs.map +1 -0
- package/dist/contracts/pyth/price_identifier.mjs +16 -0
- package/dist/contracts/pyth/price_identifier.mjs.map +1 -0
- package/dist/contracts/pyth/price_info.mjs +28 -0
- package/dist/contracts/pyth/price_info.mjs.map +1 -0
- package/dist/contracts/pyth/state.mjs +36 -0
- package/dist/contracts/pyth/state.mjs.map +1 -0
- package/dist/contracts/utils/index.d.mts +34 -0
- package/dist/contracts/utils/index.d.mts.map +1 -0
- package/dist/contracts/utils/index.mjs +35 -0
- package/dist/contracts/utils/index.mjs.map +1 -0
- package/dist/contracts/wormhole/bytes32.mjs +16 -0
- package/dist/contracts/wormhole/bytes32.mjs.map +1 -0
- package/dist/contracts/wormhole/consumed_vaas.mjs +16 -0
- package/dist/contracts/wormhole/consumed_vaas.mjs.map +1 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs +16 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.mjs.map +1 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs +21 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.mjs.map +1 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs +19 -0
- package/dist/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.mjs.map +1 -0
- package/dist/contracts/wormhole/external_address.mjs +16 -0
- package/dist/contracts/wormhole/external_address.mjs.map +1 -0
- package/dist/contracts/wormhole/fee_collector.mjs +20 -0
- package/dist/contracts/wormhole/fee_collector.mjs.map +1 -0
- package/dist/contracts/wormhole/set.mjs +16 -0
- package/dist/contracts/wormhole/set.mjs.map +1 -0
- package/dist/contracts/wormhole/state.mjs +31 -0
- package/dist/contracts/wormhole/state.mjs.map +1 -0
- package/dist/index.d.mts +25 -0
- package/dist/index.mjs +26 -0
- package/dist/pyth/PriceServiceConnection.d.mts +26 -0
- package/dist/pyth/PriceServiceConnection.d.mts.map +1 -0
- package/dist/pyth/PriceServiceConnection.mjs +35 -0
- package/dist/pyth/PriceServiceConnection.mjs.map +1 -0
- package/dist/pyth/pyth-helpers.mjs +18 -0
- package/dist/pyth/pyth-helpers.mjs.map +1 -0
- package/dist/pyth/pyth.d.mts +69 -0
- package/dist/pyth/pyth.d.mts.map +1 -0
- package/dist/pyth/pyth.mjs +220 -0
- package/dist/pyth/pyth.mjs.map +1 -0
- package/dist/queries/accountQueries.mjs +104 -0
- package/dist/queries/accountQueries.mjs.map +1 -0
- package/dist/queries/balanceManagerQueries.mjs +113 -0
- package/dist/queries/balanceManagerQueries.mjs.map +1 -0
- package/dist/queries/context.mjs +15 -0
- package/dist/queries/context.mjs.map +1 -0
- package/dist/queries/marginManagerQueries.mjs +365 -0
- package/dist/queries/marginManagerQueries.mjs.map +1 -0
- package/dist/queries/marginPoolQueries.mjs +184 -0
- package/dist/queries/marginPoolQueries.mjs.map +1 -0
- package/dist/queries/orderQueries.mjs +165 -0
- package/dist/queries/orderQueries.mjs.map +1 -0
- package/dist/queries/poolQueries.mjs +234 -0
- package/dist/queries/poolQueries.mjs.map +1 -0
- package/dist/queries/priceFeedQueries.mjs +83 -0
- package/dist/queries/priceFeedQueries.mjs.map +1 -0
- package/dist/queries/quantityQueries.mjs +216 -0
- package/dist/queries/quantityQueries.mjs.map +1 -0
- package/dist/queries/referralQueries.mjs +96 -0
- package/dist/queries/referralQueries.mjs.map +1 -0
- package/dist/queries/registryQueries.mjs +162 -0
- package/dist/queries/registryQueries.mjs.map +1 -0
- package/dist/queries/tpslQueries.mjs +62 -0
- package/dist/queries/tpslQueries.mjs.map +1 -0
- package/dist/transactions/balanceManager.d.mts +174 -0
- package/dist/transactions/balanceManager.d.mts.map +1 -0
- package/dist/transactions/balanceManager.mjs +234 -0
- package/dist/transactions/balanceManager.mjs.map +1 -0
- package/dist/transactions/deepbook.d.mts +490 -0
- package/dist/transactions/deepbook.d.mts.map +1 -0
- package/dist/transactions/deepbook.mjs +979 -0
- package/dist/transactions/deepbook.mjs.map +1 -0
- package/dist/transactions/deepbookAdmin.d.mts +111 -0
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -0
- package/dist/transactions/deepbookAdmin.mjs +222 -0
- package/dist/transactions/deepbookAdmin.mjs.map +1 -0
- package/dist/transactions/flashLoans.d.mts +61 -0
- package/dist/transactions/flashLoans.d.mts.map +1 -0
- package/dist/transactions/flashLoans.mjs +77 -0
- package/dist/transactions/flashLoans.mjs.map +1 -0
- package/dist/transactions/governance.d.mts +47 -0
- package/dist/transactions/governance.d.mts.map +1 -0
- package/dist/transactions/governance.mjs +91 -0
- package/dist/transactions/governance.mjs.map +1 -0
- package/dist/transactions/marginAdmin.d.mts +138 -0
- package/dist/transactions/marginAdmin.d.mts.map +1 -0
- package/dist/transactions/marginAdmin.mjs +250 -0
- package/dist/transactions/marginAdmin.mjs.map +1 -0
- package/dist/transactions/marginLiquidations.d.mts +67 -0
- package/dist/transactions/marginLiquidations.d.mts.map +1 -0
- package/dist/transactions/marginLiquidations.mjs +110 -0
- package/dist/transactions/marginLiquidations.mjs.map +1 -0
- package/dist/transactions/marginMaintainer.d.mts +86 -0
- package/dist/transactions/marginMaintainer.d.mts.map +1 -0
- package/dist/transactions/marginMaintainer.mjs +161 -0
- package/dist/transactions/marginMaintainer.mjs.map +1 -0
- package/dist/transactions/marginManager.d.mts +247 -0
- package/dist/transactions/marginManager.d.mts.map +1 -0
- package/dist/transactions/marginManager.mjs +548 -0
- package/dist/transactions/marginManager.mjs.map +1 -0
- package/dist/transactions/marginPool.d.mts +140 -0
- package/dist/transactions/marginPool.d.mts.map +1 -0
- package/dist/transactions/marginPool.mjs +207 -0
- package/dist/transactions/marginPool.mjs.map +1 -0
- package/dist/transactions/marginRegistry.d.mts +100 -0
- package/dist/transactions/marginRegistry.d.mts.map +1 -0
- package/dist/transactions/marginRegistry.mjs +128 -0
- package/dist/transactions/marginRegistry.mjs.map +1 -0
- package/dist/transactions/marginTPSL.d.mts +100 -0
- package/dist/transactions/marginTPSL.d.mts.map +1 -0
- package/dist/transactions/marginTPSL.mjs +173 -0
- package/dist/transactions/marginTPSL.mjs.map +1 -0
- package/dist/transactions/poolProxy.d.mts +123 -0
- package/dist/transactions/poolProxy.d.mts.map +1 -0
- package/dist/transactions/poolProxy.mjs +336 -0
- package/dist/transactions/poolProxy.mjs.map +1 -0
- package/dist/types/bcs.d.mts +5 -0
- package/dist/types/bcs.mjs +7 -0
- package/dist/types/index.d.mts +374 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +18 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/config.d.mts +90 -0
- package/dist/utils/config.d.mts.map +1 -0
- package/dist/utils/config.mjs +104 -0
- package/dist/utils/config.mjs.map +1 -0
- package/dist/utils/constants.d.mts +93 -0
- package/dist/utils/constants.d.mts.map +1 -0
- package/dist/utils/constants.mjs +408 -0
- package/dist/utils/constants.mjs.map +1 -0
- package/dist/utils/conversion.mjs +26 -0
- package/dist/utils/conversion.mjs.map +1 -0
- package/dist/utils/errors.d.mts +46 -0
- package/dist/utils/errors.d.mts.map +1 -0
- package/dist/utils/errors.mjs +59 -0
- package/dist/utils/errors.mjs.map +1 -0
- package/dist/{cjs/utils/validation.d.ts → utils/validation.d.mts} +11 -7
- package/dist/utils/validation.d.mts.map +1 -0
- package/dist/utils/validation.mjs +76 -0
- package/dist/utils/validation.mjs.map +1 -0
- package/package.json +30 -26
- package/src/client.ts +467 -2255
- package/src/contracts/deepbook/account.ts +15 -15
- package/src/contracts/deepbook/balance_manager.ts +343 -57
- package/src/contracts/deepbook/balances.ts +3 -2
- package/src/contracts/deepbook/big_vector.ts +6 -7
- package/src/contracts/deepbook/book.ts +3 -2
- package/src/contracts/deepbook/constants.ts +95 -3
- package/src/contracts/deepbook/deep_price.ts +7 -7
- package/src/contracts/deepbook/deps/{sui → haneul}/bag.ts +8 -8
- package/src/contracts/deepbook/deps/{sui → haneul}/balance.ts +4 -3
- package/src/contracts/deepbook/deps/{sui → haneul}/table.ts +6 -6
- package/src/contracts/deepbook/deps/{sui → haneul}/vec_map.ts +4 -4
- package/src/contracts/deepbook/deps/{sui → haneul}/vec_set.ts +4 -4
- package/src/contracts/deepbook/deps/{sui → haneul}/versioned.ts +4 -4
- package/src/contracts/deepbook/deps/std/type_name.ts +3 -2
- package/src/contracts/deepbook/ewma.ts +14 -3
- package/src/contracts/deepbook/fill.ts +21 -21
- package/src/contracts/deepbook/governance.ts +4 -3
- package/src/contracts/deepbook/history.ts +4 -3
- package/src/contracts/deepbook/math.ts +15 -15
- package/src/contracts/deepbook/order.ts +16 -16
- package/src/contracts/deepbook/order_info.ts +39 -27
- package/src/contracts/deepbook/order_query.ts +12 -12
- package/src/contracts/deepbook/pool.ts +883 -526
- package/src/contracts/deepbook/registry.ts +149 -38
- package/src/contracts/deepbook/state.ts +14 -3
- package/src/contracts/deepbook/trade_params.ts +3 -2
- package/src/contracts/deepbook/vault.ts +5 -4
- package/src/contracts/pyth/batch_price_attestation.ts +92 -0
- package/src/contracts/pyth/contract_upgrade.ts +54 -0
- package/src/contracts/pyth/data_source.ts +64 -0
- package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
- package/src/contracts/pyth/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
- package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/bytes32.ts +12 -0
- package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/consumed_vaas.ts +13 -0
- package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/external_address.ts +13 -0
- package/src/contracts/pyth/deps/0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94/set.ts +12 -0
- package/src/contracts/pyth/deserialize.ts +117 -0
- package/src/contracts/pyth/event.ts +20 -0
- package/src/contracts/pyth/governance.ts +113 -0
- package/src/contracts/pyth/governance_action.ts +130 -0
- package/src/contracts/pyth/governance_instruction.ts +98 -0
- package/src/contracts/pyth/hot_potato_vector.ts +70 -0
- package/src/contracts/pyth/i64.ts +94 -0
- package/src/contracts/pyth/merkle_tree.ts +41 -0
- package/src/contracts/pyth/migrate.ts +29 -0
- package/src/contracts/pyth/price.ts +102 -0
- package/src/contracts/pyth/price_feed.ts +101 -0
- package/src/contracts/pyth/price_identifier.ts +46 -0
- package/src/contracts/pyth/price_info.ts +220 -0
- package/src/contracts/pyth/price_status.ts +74 -0
- package/src/contracts/pyth/pyth.ts +236 -0
- package/src/contracts/pyth/set.ts +93 -0
- package/src/contracts/pyth/set_data_sources.ts +14 -0
- package/src/contracts/pyth/set_fee_recipient.ts +13 -0
- package/src/contracts/pyth/set_governance_data_source.ts +16 -0
- package/src/contracts/pyth/set_stale_price_threshold.ts +13 -0
- package/src/contracts/pyth/set_update_fee.ts +14 -0
- package/src/contracts/pyth/setup.ts +12 -0
- package/src/contracts/pyth/state.ts +227 -0
- package/src/contracts/pyth/version_control.ts +25 -0
- package/src/contracts/utils/index.ts +100 -50
- package/src/contracts/wormhole/bytes32.ts +12 -0
- package/src/contracts/wormhole/consumed_vaas.ts +13 -0
- package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.ts +12 -0
- package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.ts +15 -0
- package/src/contracts/wormhole/deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.ts +13 -0
- package/src/contracts/wormhole/external_address.ts +13 -0
- package/src/contracts/wormhole/fee_collector.ts +15 -0
- package/src/contracts/wormhole/set.ts +12 -0
- package/src/contracts/wormhole/state.ts +25 -0
- package/src/index.ts +44 -3
- package/src/pyth/pyth.ts +51 -50
- package/src/queries/accountQueries.ts +117 -0
- package/src/queries/balanceManagerQueries.ts +156 -0
- package/src/queries/context.ts +44 -0
- package/src/queries/index.ts +16 -0
- package/src/queries/marginManagerQueries.ts +575 -0
- package/src/queries/marginPoolQueries.ts +226 -0
- package/src/queries/orderQueries.ts +202 -0
- package/src/queries/poolQueries.ts +266 -0
- package/src/queries/priceFeedQueries.ts +141 -0
- package/src/queries/quantityQueries.ts +266 -0
- package/src/queries/referralQueries.ts +112 -0
- package/src/queries/registryQueries.ts +185 -0
- package/src/queries/tpslQueries.ts +88 -0
- package/src/transactions/balanceManager.ts +5 -4
- package/src/transactions/deepbook.ts +117 -84
- package/src/transactions/deepbookAdmin.ts +10 -9
- package/src/transactions/flashLoans.ts +5 -4
- package/src/transactions/governance.ts +5 -4
- package/src/transactions/marginAdmin.ts +12 -8
- package/src/transactions/marginLiquidations.ts +5 -4
- package/src/transactions/marginMaintainer.ts +28 -16
- package/src/transactions/marginManager.ts +78 -29
- package/src/transactions/marginPool.ts +7 -7
- package/src/transactions/marginTPSL.ts +16 -11
- package/src/transactions/poolProxy.ts +62 -11
- package/src/types/bcs.ts +1 -1
- package/src/types/index.ts +217 -53
- package/src/utils/config.ts +38 -17
- package/src/utils/constants.ts +73 -18
- package/src/utils/conversion.ts +33 -0
- package/src/utils/validation.ts +1 -1
- package/dist/cjs/client.d.ts +0 -861
- package/dist/cjs/client.js +0 -1982
- package/dist/cjs/client.js.map +0 -7
- package/dist/cjs/contracts/deepbook/account.d.ts +0 -105
- package/dist/cjs/contracts/deepbook/account.js +0 -163
- package/dist/cjs/contracts/deepbook/account.js.map +0 -7
- package/dist/cjs/contracts/deepbook/balance_manager.d.ts +0 -268
- package/dist/cjs/contracts/deepbook/balance_manager.js +0 -361
- package/dist/cjs/contracts/deepbook/balance_manager.js.map +0 -7
- package/dist/cjs/contracts/deepbook/balances.d.ts +0 -10
- package/dist/cjs/contracts/deepbook/balances.js +0 -35
- package/dist/cjs/contracts/deepbook/balances.js.map +0 -7
- package/dist/cjs/contracts/deepbook/big_vector.d.ts +0 -62
- package/dist/cjs/contracts/deepbook/big_vector.js +0 -80
- package/dist/cjs/contracts/deepbook/big_vector.js.map +0 -7
- package/dist/cjs/contracts/deepbook/book.d.ts +0 -34
- package/dist/cjs/contracts/deepbook/book.js +0 -50
- package/dist/cjs/contracts/deepbook/book.js.map +0 -7
- package/dist/cjs/contracts/deepbook/constants.d.ts +0 -176
- package/dist/cjs/contracts/deepbook/constants.js +0 -338
- package/dist/cjs/contracts/deepbook/constants.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deep_price.d.ts +0 -60
- package/dist/cjs/contracts/deepbook/deep_price.js +0 -87
- package/dist/cjs/contracts/deepbook/deep_price.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/std/type_name.d.ts +0 -14
- package/dist/cjs/contracts/deepbook/deps/std/type_name.js +0 -42
- package/dist/cjs/contracts/deepbook/deps/std/type_name.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/bag.d.ts +0 -33
- package/dist/cjs/contracts/deepbook/deps/sui/bag.js +0 -47
- package/dist/cjs/contracts/deepbook/deps/sui/bag.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/balance.d.ts +0 -9
- package/dist/cjs/contracts/deepbook/deps/sui/balance.js +0 -33
- package/dist/cjs/contracts/deepbook/deps/sui/balance.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/object.d.ts +0 -5
- package/dist/cjs/contracts/deepbook/deps/sui/object.js +0 -33
- package/dist/cjs/contracts/deepbook/deps/sui/object.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/table.d.ts +0 -28
- package/dist/cjs/contracts/deepbook/deps/sui/table.js +0 -47
- package/dist/cjs/contracts/deepbook/deps/sui/table.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js +0 -45
- package/dist/cjs/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js +0 -35
- package/dist/cjs/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.js +0 -45
- package/dist/cjs/contracts/deepbook/deps/sui/versioned.js.map +0 -7
- package/dist/cjs/contracts/deepbook/ewma.d.ts +0 -17
- package/dist/cjs/contracts/deepbook/ewma.js +0 -39
- package/dist/cjs/contracts/deepbook/ewma.js.map +0 -7
- package/dist/cjs/contracts/deepbook/fill.d.ts +0 -153
- package/dist/cjs/contracts/deepbook/fill.js +0 -251
- package/dist/cjs/contracts/deepbook/fill.js.map +0 -7
- package/dist/cjs/contracts/deepbook/governance.d.ts +0 -63
- package/dist/cjs/contracts/deepbook/governance.js +0 -79
- package/dist/cjs/contracts/deepbook/governance.js.map +0 -7
- package/dist/cjs/contracts/deepbook/history.d.ts +0 -60
- package/dist/cjs/contracts/deepbook/history.js +0 -78
- package/dist/cjs/contracts/deepbook/history.js.map +0 -7
- package/dist/cjs/contracts/deepbook/math.d.ts +0 -94
- package/dist/cjs/contracts/deepbook/math.js +0 -132
- package/dist/cjs/contracts/deepbook/math.js.map +0 -7
- package/dist/cjs/contracts/deepbook/order.d.ts +0 -135
- package/dist/cjs/contracts/deepbook/order.js +0 -218
- package/dist/cjs/contracts/deepbook/order.js.map +0 -7
- package/dist/cjs/contracts/deepbook/order_info.d.ts +0 -296
- package/dist/cjs/contracts/deepbook/order_info.js +0 -386
- package/dist/cjs/contracts/deepbook/order_info.js.map +0 -7
- package/dist/cjs/contracts/deepbook/order_query.d.ts +0 -85
- package/dist/cjs/contracts/deepbook/order_query.js +0 -96
- package/dist/cjs/contracts/deepbook/order_query.js.map +0 -7
- package/dist/cjs/contracts/deepbook/pool.d.ts +0 -1218
- package/dist/cjs/contracts/deepbook/pool.js +0 -1236
- package/dist/cjs/contracts/deepbook/pool.js.map +0 -7
- package/dist/cjs/contracts/deepbook/registry.d.ts +0 -134
- package/dist/cjs/contracts/deepbook/registry.js +0 -182
- package/dist/cjs/contracts/deepbook/registry.js.map +0 -7
- package/dist/cjs/contracts/deepbook/state.d.ts +0 -117
- package/dist/cjs/contracts/deepbook/state.js +0 -104
- package/dist/cjs/contracts/deepbook/state.js.map +0 -7
- package/dist/cjs/contracts/deepbook/trade_params.d.ts +0 -7
- package/dist/cjs/contracts/deepbook/trade_params.js +0 -35
- package/dist/cjs/contracts/deepbook/trade_params.js.map +0 -7
- package/dist/cjs/contracts/deepbook/vault.d.ts +0 -30
- package/dist/cjs/contracts/deepbook/vault.js +0 -65
- package/dist/cjs/contracts/deepbook/vault.js.map +0 -7
- package/dist/cjs/contracts/utils/index.d.ts +0 -25
- package/dist/cjs/contracts/utils/index.js +0 -148
- package/dist/cjs/contracts/utils/index.js.map +0 -7
- package/dist/cjs/index.d.ts +0 -23
- package/dist/cjs/index.js +0 -81
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/package.json +0 -4
- package/dist/cjs/pyth/PriceServiceConnection.d.ts +0 -26
- package/dist/cjs/pyth/PriceServiceConnection.js +0 -68
- package/dist/cjs/pyth/PriceServiceConnection.js.map +0 -7
- package/dist/cjs/pyth/pyth-helpers.d.ts +0 -7
- package/dist/cjs/pyth/pyth-helpers.js +0 -36
- package/dist/cjs/pyth/pyth-helpers.js.map +0 -7
- package/dist/cjs/pyth/pyth.d.ts +0 -65
- package/dist/cjs/pyth/pyth.js +0 -269
- package/dist/cjs/pyth/pyth.js.map +0 -7
- package/dist/cjs/transactions/balanceManager.d.ts +0 -168
- package/dist/cjs/transactions/balanceManager.js +0 -384
- package/dist/cjs/transactions/balanceManager.js.map +0 -7
- package/dist/cjs/transactions/deepbook.d.ts +0 -477
- package/dist/cjs/transactions/deepbook.js +0 -1335
- package/dist/cjs/transactions/deepbook.js.map +0 -7
- package/dist/cjs/transactions/deepbookAdmin.d.ts +0 -105
- package/dist/cjs/transactions/deepbookAdmin.js +0 -334
- package/dist/cjs/transactions/deepbookAdmin.js.map +0 -7
- package/dist/cjs/transactions/flashLoans.d.ts +0 -56
- package/dist/cjs/transactions/flashLoans.js +0 -124
- package/dist/cjs/transactions/flashLoans.js.map +0 -7
- package/dist/cjs/transactions/governance.d.ts +0 -42
- package/dist/cjs/transactions/governance.js +0 -135
- package/dist/cjs/transactions/governance.js.map +0 -7
- package/dist/cjs/transactions/marginAdmin.d.ts +0 -133
- package/dist/cjs/transactions/marginAdmin.js +0 -393
- package/dist/cjs/transactions/marginAdmin.js.map +0 -7
- package/dist/cjs/transactions/marginLiquidations.d.ts +0 -61
- package/dist/cjs/transactions/marginLiquidations.js +0 -173
- package/dist/cjs/transactions/marginLiquidations.js.map +0 -7
- package/dist/cjs/transactions/marginMaintainer.d.ts +0 -80
- package/dist/cjs/transactions/marginMaintainer.js +0 -251
- package/dist/cjs/transactions/marginMaintainer.js.map +0 -7
- package/dist/cjs/transactions/marginManager.d.ts +0 -236
- package/dist/cjs/transactions/marginManager.js +0 -688
- package/dist/cjs/transactions/marginManager.js.map +0 -7
- package/dist/cjs/transactions/marginPool.d.ts +0 -134
- package/dist/cjs/transactions/marginPool.js +0 -330
- package/dist/cjs/transactions/marginPool.js.map +0 -7
- package/dist/cjs/transactions/marginRegistry.d.ts +0 -94
- package/dist/cjs/transactions/marginRegistry.js +0 -221
- package/dist/cjs/transactions/marginRegistry.js.map +0 -7
- package/dist/cjs/transactions/marginTPSL.d.ts +0 -93
- package/dist/cjs/transactions/marginTPSL.js +0 -286
- package/dist/cjs/transactions/marginTPSL.js.map +0 -7
- package/dist/cjs/transactions/poolProxy.d.ts +0 -104
- package/dist/cjs/transactions/poolProxy.js +0 -435
- package/dist/cjs/transactions/poolProxy.js.map +0 -7
- package/dist/cjs/types/bcs.d.ts +0 -5
- package/dist/cjs/types/bcs.js +0 -33
- package/dist/cjs/types/bcs.js.map +0 -7
- package/dist/cjs/types/index.d.ts +0 -218
- package/dist/cjs/types/index.js +0 -38
- package/dist/cjs/types/index.js.map +0 -7
- package/dist/cjs/utils/config.d.ts +0 -65
- package/dist/cjs/utils/config.js +0 -144
- package/dist/cjs/utils/config.js.map +0 -7
- package/dist/cjs/utils/constants.d.ts +0 -76
- package/dist/cjs/utils/constants.js +0 -382
- package/dist/cjs/utils/constants.js.map +0 -7
- package/dist/cjs/utils/errors.d.ts +0 -42
- package/dist/cjs/utils/errors.js +0 -70
- package/dist/cjs/utils/errors.js.map +0 -7
- package/dist/cjs/utils/validation.js +0 -67
- package/dist/cjs/utils/validation.js.map +0 -7
- package/dist/esm/client.d.ts +0 -861
- package/dist/esm/client.js +0 -1967
- package/dist/esm/client.js.map +0 -7
- package/dist/esm/contracts/deepbook/account.d.ts +0 -105
- package/dist/esm/contracts/deepbook/account.js +0 -133
- package/dist/esm/contracts/deepbook/account.js.map +0 -7
- package/dist/esm/contracts/deepbook/balance_manager.d.ts +0 -268
- package/dist/esm/contracts/deepbook/balance_manager.js +0 -331
- package/dist/esm/contracts/deepbook/balance_manager.js.map +0 -7
- package/dist/esm/contracts/deepbook/balances.d.ts +0 -10
- package/dist/esm/contracts/deepbook/balances.js +0 -15
- package/dist/esm/contracts/deepbook/balances.js.map +0 -7
- package/dist/esm/contracts/deepbook/big_vector.d.ts +0 -62
- package/dist/esm/contracts/deepbook/big_vector.js +0 -50
- package/dist/esm/contracts/deepbook/big_vector.js.map +0 -7
- package/dist/esm/contracts/deepbook/book.d.ts +0 -34
- package/dist/esm/contracts/deepbook/book.js +0 -20
- package/dist/esm/contracts/deepbook/book.js.map +0 -7
- package/dist/esm/contracts/deepbook/constants.d.ts +0 -176
- package/dist/esm/contracts/deepbook/constants.js +0 -318
- package/dist/esm/contracts/deepbook/constants.js.map +0 -7
- package/dist/esm/contracts/deepbook/deep_price.d.ts +0 -60
- package/dist/esm/contracts/deepbook/deep_price.js +0 -67
- package/dist/esm/contracts/deepbook/deep_price.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/std/type_name.d.ts +0 -14
- package/dist/esm/contracts/deepbook/deps/std/type_name.js +0 -22
- package/dist/esm/contracts/deepbook/deps/std/type_name.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/bag.d.ts +0 -33
- package/dist/esm/contracts/deepbook/deps/sui/bag.js +0 -17
- package/dist/esm/contracts/deepbook/deps/sui/bag.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/balance.d.ts +0 -9
- package/dist/esm/contracts/deepbook/deps/sui/balance.js +0 -13
- package/dist/esm/contracts/deepbook/deps/sui/balance.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/object.d.ts +0 -5
- package/dist/esm/contracts/deepbook/deps/sui/object.js +0 -13
- package/dist/esm/contracts/deepbook/deps/sui/object.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/table.d.ts +0 -28
- package/dist/esm/contracts/deepbook/deps/sui/table.js +0 -17
- package/dist/esm/contracts/deepbook/deps/sui/table.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.d.ts +0 -27
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.js +0 -25
- package/dist/esm/contracts/deepbook/deps/sui/vec_map.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.d.ts +0 -15
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.js +0 -15
- package/dist/esm/contracts/deepbook/deps/sui/vec_set.js.map +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/versioned.d.ts +0 -7
- package/dist/esm/contracts/deepbook/deps/sui/versioned.js +0 -15
- package/dist/esm/contracts/deepbook/deps/sui/versioned.js.map +0 -7
- package/dist/esm/contracts/deepbook/ewma.d.ts +0 -17
- package/dist/esm/contracts/deepbook/ewma.js +0 -19
- package/dist/esm/contracts/deepbook/ewma.js.map +0 -7
- package/dist/esm/contracts/deepbook/fill.d.ts +0 -153
- package/dist/esm/contracts/deepbook/fill.js +0 -221
- package/dist/esm/contracts/deepbook/fill.js.map +0 -7
- package/dist/esm/contracts/deepbook/governance.d.ts +0 -63
- package/dist/esm/contracts/deepbook/governance.js +0 -49
- package/dist/esm/contracts/deepbook/governance.js.map +0 -7
- package/dist/esm/contracts/deepbook/history.d.ts +0 -60
- package/dist/esm/contracts/deepbook/history.js +0 -48
- package/dist/esm/contracts/deepbook/history.js.map +0 -7
- package/dist/esm/contracts/deepbook/math.d.ts +0 -94
- package/dist/esm/contracts/deepbook/math.js +0 -112
- package/dist/esm/contracts/deepbook/math.js.map +0 -7
- package/dist/esm/contracts/deepbook/order.d.ts +0 -135
- package/dist/esm/contracts/deepbook/order.js +0 -188
- package/dist/esm/contracts/deepbook/order.js.map +0 -7
- package/dist/esm/contracts/deepbook/order_info.d.ts +0 -296
- package/dist/esm/contracts/deepbook/order_info.js +0 -356
- package/dist/esm/contracts/deepbook/order_info.js.map +0 -7
- package/dist/esm/contracts/deepbook/order_query.d.ts +0 -85
- package/dist/esm/contracts/deepbook/order_query.js +0 -66
- package/dist/esm/contracts/deepbook/order_query.js.map +0 -7
- package/dist/esm/contracts/deepbook/pool.d.ts +0 -1218
- package/dist/esm/contracts/deepbook/pool.js +0 -1206
- package/dist/esm/contracts/deepbook/pool.js.map +0 -7
- package/dist/esm/contracts/deepbook/registry.d.ts +0 -134
- package/dist/esm/contracts/deepbook/registry.js +0 -152
- package/dist/esm/contracts/deepbook/registry.js.map +0 -7
- package/dist/esm/contracts/deepbook/state.d.ts +0 -117
- package/dist/esm/contracts/deepbook/state.js +0 -74
- package/dist/esm/contracts/deepbook/state.js.map +0 -7
- package/dist/esm/contracts/deepbook/trade_params.d.ts +0 -7
- package/dist/esm/contracts/deepbook/trade_params.js +0 -15
- package/dist/esm/contracts/deepbook/trade_params.js.map +0 -7
- package/dist/esm/contracts/deepbook/vault.d.ts +0 -30
- package/dist/esm/contracts/deepbook/vault.js +0 -35
- package/dist/esm/contracts/deepbook/vault.js.map +0 -7
- package/dist/esm/contracts/utils/index.d.ts +0 -25
- package/dist/esm/contracts/utils/index.js +0 -128
- package/dist/esm/contracts/utils/index.js.map +0 -7
- package/dist/esm/index.d.ts +0 -23
- package/dist/esm/index.js +0 -81
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/package.json +0 -4
- package/dist/esm/pyth/PriceServiceConnection.d.ts +0 -26
- package/dist/esm/pyth/PriceServiceConnection.js +0 -38
- package/dist/esm/pyth/PriceServiceConnection.js.map +0 -7
- package/dist/esm/pyth/pyth-helpers.d.ts +0 -7
- package/dist/esm/pyth/pyth-helpers.js +0 -16
- package/dist/esm/pyth/pyth-helpers.js.map +0 -7
- package/dist/esm/pyth/pyth.d.ts +0 -65
- package/dist/esm/pyth/pyth.js +0 -249
- package/dist/esm/pyth/pyth.js.map +0 -7
- package/dist/esm/transactions/balanceManager.d.ts +0 -168
- package/dist/esm/transactions/balanceManager.js +0 -364
- package/dist/esm/transactions/balanceManager.js.map +0 -7
- package/dist/esm/transactions/deepbook.d.ts +0 -477
- package/dist/esm/transactions/deepbook.js +0 -1321
- package/dist/esm/transactions/deepbook.js.map +0 -7
- package/dist/esm/transactions/deepbookAdmin.d.ts +0 -105
- package/dist/esm/transactions/deepbookAdmin.js +0 -314
- package/dist/esm/transactions/deepbookAdmin.js.map +0 -7
- package/dist/esm/transactions/flashLoans.d.ts +0 -56
- package/dist/esm/transactions/flashLoans.js +0 -104
- package/dist/esm/transactions/flashLoans.js.map +0 -7
- package/dist/esm/transactions/governance.d.ts +0 -42
- package/dist/esm/transactions/governance.js +0 -115
- package/dist/esm/transactions/governance.js.map +0 -7
- package/dist/esm/transactions/marginAdmin.d.ts +0 -133
- package/dist/esm/transactions/marginAdmin.js +0 -373
- package/dist/esm/transactions/marginAdmin.js.map +0 -7
- package/dist/esm/transactions/marginLiquidations.d.ts +0 -61
- package/dist/esm/transactions/marginLiquidations.js +0 -153
- package/dist/esm/transactions/marginLiquidations.js.map +0 -7
- package/dist/esm/transactions/marginMaintainer.d.ts +0 -80
- package/dist/esm/transactions/marginMaintainer.js +0 -231
- package/dist/esm/transactions/marginMaintainer.js.map +0 -7
- package/dist/esm/transactions/marginManager.d.ts +0 -236
- package/dist/esm/transactions/marginManager.js +0 -668
- package/dist/esm/transactions/marginManager.js.map +0 -7
- package/dist/esm/transactions/marginPool.d.ts +0 -134
- package/dist/esm/transactions/marginPool.js +0 -310
- package/dist/esm/transactions/marginPool.js.map +0 -7
- package/dist/esm/transactions/marginRegistry.d.ts +0 -94
- package/dist/esm/transactions/marginRegistry.js +0 -201
- package/dist/esm/transactions/marginRegistry.js.map +0 -7
- package/dist/esm/transactions/marginTPSL.d.ts +0 -93
- package/dist/esm/transactions/marginTPSL.js +0 -266
- package/dist/esm/transactions/marginTPSL.js.map +0 -7
- package/dist/esm/transactions/poolProxy.d.ts +0 -104
- package/dist/esm/transactions/poolProxy.js +0 -415
- package/dist/esm/transactions/poolProxy.js.map +0 -7
- package/dist/esm/types/bcs.d.ts +0 -5
- package/dist/esm/types/bcs.js +0 -13
- package/dist/esm/types/bcs.js.map +0 -7
- package/dist/esm/types/index.d.ts +0 -218
- package/dist/esm/types/index.js +0 -18
- package/dist/esm/types/index.js.map +0 -7
- package/dist/esm/utils/config.d.ts +0 -65
- package/dist/esm/utils/config.js +0 -135
- package/dist/esm/utils/config.js.map +0 -7
- package/dist/esm/utils/constants.d.ts +0 -76
- package/dist/esm/utils/constants.js +0 -362
- package/dist/esm/utils/constants.js.map +0 -7
- package/dist/esm/utils/errors.d.ts +0 -42
- package/dist/esm/utils/errors.js +0 -50
- package/dist/esm/utils/errors.js.map +0 -7
- package/dist/esm/utils/validation.d.ts +0 -50
- package/dist/esm/utils/validation.js +0 -47
- package/dist/esm/utils/validation.js.map +0 -7
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/contracts/deepbook/deps/sui/object.ts +0 -14
|
@@ -1,23 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import {
|
|
2
|
+
bcs,
|
|
3
|
+
BcsType,
|
|
4
|
+
TypeTag,
|
|
5
|
+
TypeTagSerializer,
|
|
6
|
+
BcsStruct,
|
|
7
|
+
BcsEnum,
|
|
8
|
+
BcsTuple,
|
|
9
|
+
} from '@haneullabs/haneul/bcs';
|
|
5
10
|
import { normalizeHaneulAddress } from '@haneullabs/haneul/utils';
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import { ValidationError, ErrorMessages } from '../../utils/errors.js';
|
|
11
|
+
import { TransactionArgument, isArgument } from '@haneullabs/haneul/transactions';
|
|
12
|
+
import { ClientWithCoreApi, HaneulClientTypes } from '@haneullabs/haneul/client';
|
|
9
13
|
|
|
10
14
|
const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress('0x1');
|
|
11
15
|
const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress('0x2');
|
|
12
|
-
const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress('0x3');
|
|
13
16
|
|
|
14
17
|
export type RawTransactionArgument<T> = T | TransactionArgument;
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
export interface GetOptions<
|
|
20
|
+
Include extends Omit<HaneulClientTypes.ObjectInclude, 'content'> = {},
|
|
21
|
+
> extends HaneulClientTypes.GetObjectOptions<Include> {
|
|
22
|
+
client: ClientWithCoreApi;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface GetManyOptions<
|
|
26
|
+
Include extends Omit<HaneulClientTypes.ObjectInclude, 'content'> = {},
|
|
27
|
+
> extends HaneulClientTypes.GetObjectsOptions<Include> {
|
|
28
|
+
client: ClientWithCoreApi;
|
|
29
|
+
}
|
|
30
|
+
|
|
21
31
|
export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {
|
|
22
32
|
const parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;
|
|
23
33
|
|
|
@@ -42,7 +52,7 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
|
|
|
42
52
|
return type ? bcs.vector(type) : null;
|
|
43
53
|
} else if ('struct' in parsedTag) {
|
|
44
54
|
const structTag = parsedTag.struct;
|
|
45
|
-
const pkg = normalizeHaneulAddress(
|
|
55
|
+
const pkg = normalizeHaneulAddress(structTag.address);
|
|
46
56
|
|
|
47
57
|
if (pkg === MOVE_STDLIB_ADDRESS) {
|
|
48
58
|
if (
|
|
@@ -53,12 +63,16 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
|
|
|
53
63
|
}
|
|
54
64
|
|
|
55
65
|
if (structTag.module === 'option' && structTag.name === 'Option') {
|
|
56
|
-
const type = getPureBcsSchema(structTag.typeParams[0]
|
|
57
|
-
return type ? bcs.
|
|
66
|
+
const type = getPureBcsSchema(structTag.typeParams[0]);
|
|
67
|
+
return type ? bcs.option(type) : null;
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
|
|
61
|
-
if (
|
|
71
|
+
if (
|
|
72
|
+
pkg === HANEUL_FRAMEWORK_ADDRESS &&
|
|
73
|
+
structTag.module === 'object' &&
|
|
74
|
+
(structTag.name === 'ID' || structTag.name === 'UID')
|
|
75
|
+
) {
|
|
62
76
|
return bcs.Address;
|
|
63
77
|
}
|
|
64
78
|
}
|
|
@@ -66,44 +80,38 @@ export function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null
|
|
|
66
80
|
return null;
|
|
67
81
|
}
|
|
68
82
|
|
|
69
|
-
/**
|
|
70
|
-
* @description Normalize Move function arguments to TransactionArguments
|
|
71
|
-
* @param {unknown[] | object} args - The arguments to normalize
|
|
72
|
-
* @param {string[]} argTypes - The expected Move type strings for each argument
|
|
73
|
-
* @param {string[]} [parameterNames] - Optional parameter names when args is an object
|
|
74
|
-
* @returns {TransactionArgument[]} Array of normalized transaction arguments
|
|
75
|
-
* @throws {Error} If arguments are invalid or don't match expected types
|
|
76
|
-
*/
|
|
77
83
|
export function normalizeMoveArguments(
|
|
78
84
|
args: unknown[] | object,
|
|
79
|
-
argTypes: string[],
|
|
85
|
+
argTypes: readonly (string | null)[],
|
|
80
86
|
parameterNames?: string[],
|
|
81
|
-
)
|
|
87
|
+
) {
|
|
82
88
|
const argLen = Array.isArray(args) ? args.length : Object.keys(args).length;
|
|
83
89
|
if (parameterNames && argLen !== parameterNames.length) {
|
|
84
|
-
throw new
|
|
90
|
+
throw new Error(
|
|
91
|
+
`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,
|
|
92
|
+
);
|
|
85
93
|
}
|
|
86
94
|
|
|
87
95
|
const normalizedArgs: TransactionArgument[] = [];
|
|
88
96
|
|
|
89
97
|
let index = 0;
|
|
90
98
|
for (const [i, argType] of argTypes.entries()) {
|
|
91
|
-
if (argType ===
|
|
92
|
-
normalizedArgs.push((tx) => tx.object.
|
|
99
|
+
if (argType === '0x2::clock::Clock') {
|
|
100
|
+
normalizedArgs.push((tx) => tx.object.clock());
|
|
93
101
|
continue;
|
|
94
102
|
}
|
|
95
103
|
|
|
96
|
-
if (argType ===
|
|
104
|
+
if (argType === '0x2::random::Random') {
|
|
97
105
|
normalizedArgs.push((tx) => tx.object.random());
|
|
98
106
|
continue;
|
|
99
107
|
}
|
|
100
108
|
|
|
101
|
-
if (argType ===
|
|
102
|
-
normalizedArgs.push((tx) => tx.object.
|
|
109
|
+
if (argType === '0x2::deny_list::DenyList') {
|
|
110
|
+
normalizedArgs.push((tx) => tx.object.denyList());
|
|
103
111
|
continue;
|
|
104
112
|
}
|
|
105
113
|
|
|
106
|
-
if (argType ===
|
|
114
|
+
if (argType === '0x3::haneul_system::HaneulSystemState') {
|
|
107
115
|
normalizedArgs.push((tx) => tx.object.system());
|
|
108
116
|
continue;
|
|
109
117
|
}
|
|
@@ -111,18 +119,20 @@ export function normalizeMoveArguments(
|
|
|
111
119
|
let arg;
|
|
112
120
|
if (Array.isArray(args)) {
|
|
113
121
|
if (index >= args.length) {
|
|
114
|
-
throw new
|
|
122
|
+
throw new Error(
|
|
123
|
+
`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`,
|
|
124
|
+
);
|
|
115
125
|
}
|
|
116
126
|
arg = args[index];
|
|
117
127
|
} else {
|
|
118
128
|
if (!parameterNames) {
|
|
119
|
-
throw new
|
|
129
|
+
throw new Error(`Expected arguments to be passed as an array`);
|
|
120
130
|
}
|
|
121
131
|
const name = parameterNames[index];
|
|
122
132
|
arg = args[name as keyof typeof args];
|
|
123
133
|
|
|
124
|
-
if (arg
|
|
125
|
-
throw new
|
|
134
|
+
if (arg === undefined) {
|
|
135
|
+
throw new Error(`Parameter ${name} is required`);
|
|
126
136
|
}
|
|
127
137
|
}
|
|
128
138
|
|
|
@@ -133,8 +143,8 @@ export function normalizeMoveArguments(
|
|
|
133
143
|
continue;
|
|
134
144
|
}
|
|
135
145
|
|
|
136
|
-
const type = argTypes[i]
|
|
137
|
-
const bcsType = getPureBcsSchema(type);
|
|
146
|
+
const type = argTypes[i];
|
|
147
|
+
const bcsType = type === null ? null : getPureBcsSchema(type);
|
|
138
148
|
|
|
139
149
|
if (bcsType) {
|
|
140
150
|
const bytes = bcsType.serialize(arg as never);
|
|
@@ -145,7 +155,7 @@ export function normalizeMoveArguments(
|
|
|
145
155
|
continue;
|
|
146
156
|
}
|
|
147
157
|
|
|
148
|
-
throw new
|
|
158
|
+
throw new Error(`Invalid argument ${stringify(arg)} for type ${type}`);
|
|
149
159
|
}
|
|
150
160
|
|
|
151
161
|
return normalizedArgs;
|
|
@@ -154,7 +164,53 @@ export function normalizeMoveArguments(
|
|
|
154
164
|
export class MoveStruct<
|
|
155
165
|
T extends Record<string, BcsType<any>>,
|
|
156
166
|
const Name extends string = string,
|
|
157
|
-
> extends BcsStruct<T, Name> {
|
|
167
|
+
> extends BcsStruct<T, Name> {
|
|
168
|
+
async get<Include extends Omit<HaneulClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
|
|
169
|
+
objectId,
|
|
170
|
+
...options
|
|
171
|
+
}: GetOptions<Include>): Promise<
|
|
172
|
+
HaneulClientTypes.Object<Include & { content: true; json: true }> & {
|
|
173
|
+
json: BcsStruct<T>['$inferType'];
|
|
174
|
+
}
|
|
175
|
+
> {
|
|
176
|
+
const [res] = await this.getMany<Include>({
|
|
177
|
+
...options,
|
|
178
|
+
objectIds: [objectId],
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
return res;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
async getMany<Include extends Omit<HaneulClientTypes.ObjectInclude, 'content' | 'json'> = {}>({
|
|
185
|
+
client,
|
|
186
|
+
...options
|
|
187
|
+
}: GetManyOptions<Include>): Promise<
|
|
188
|
+
Array<
|
|
189
|
+
HaneulClientTypes.Object<Include & { content: true; json: true }> & {
|
|
190
|
+
json: BcsStruct<T>['$inferType'];
|
|
191
|
+
}
|
|
192
|
+
>
|
|
193
|
+
> {
|
|
194
|
+
const response = (await client.core.getObjects({
|
|
195
|
+
...options,
|
|
196
|
+
include: {
|
|
197
|
+
...options.include,
|
|
198
|
+
content: true,
|
|
199
|
+
},
|
|
200
|
+
})) as HaneulClientTypes.GetObjectsResponse<Include & { content: true }>;
|
|
201
|
+
|
|
202
|
+
return response.objects.map((obj) => {
|
|
203
|
+
if (obj instanceof Error) {
|
|
204
|
+
throw obj;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return {
|
|
208
|
+
...obj,
|
|
209
|
+
json: this.parse(obj.content),
|
|
210
|
+
};
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
158
214
|
|
|
159
215
|
export class MoveEnum<
|
|
160
216
|
T extends Record<string, BcsType<any> | null>,
|
|
@@ -162,17 +218,11 @@ export class MoveEnum<
|
|
|
162
218
|
> extends BcsEnum<T, Name> {}
|
|
163
219
|
|
|
164
220
|
export class MoveTuple<
|
|
165
|
-
T extends readonly BcsType<any>[],
|
|
221
|
+
const T extends readonly BcsType<any>[],
|
|
166
222
|
const Name extends string,
|
|
167
223
|
> extends BcsTuple<T, Name> {}
|
|
168
224
|
|
|
169
|
-
|
|
170
|
-
* @description Convert a value to string representation for error messages
|
|
171
|
-
* @param {unknown} val - The value to stringify
|
|
172
|
-
* @returns {unknown} String representation of the value
|
|
173
|
-
* @private
|
|
174
|
-
*/
|
|
175
|
-
function stringify(val: unknown): unknown {
|
|
225
|
+
function stringify(val: unknown) {
|
|
176
226
|
if (typeof val === 'object') {
|
|
177
227
|
return JSON.stringify(val, (val: unknown) => val);
|
|
178
228
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::bytes32';
|
|
7
|
+
export const Bytes32 = new MoveStruct({
|
|
8
|
+
name: `${$moduleName}::Bytes32`,
|
|
9
|
+
fields: {
|
|
10
|
+
data: bcs.vector(bcs.u8()),
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import * as set from './set.js';
|
|
6
|
+
const $moduleName =
|
|
7
|
+
'0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::consumed_vaas';
|
|
8
|
+
export const ConsumedVAAs = new MoveStruct({
|
|
9
|
+
name: `${$moduleName}::ConsumedVAAs`,
|
|
10
|
+
fields: {
|
|
11
|
+
hashes: set.Set,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../../../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
const $moduleName = '0x2::balance';
|
|
7
|
+
export const Balance = new MoveStruct({
|
|
8
|
+
name: `${$moduleName}::Balance`,
|
|
9
|
+
fields: {
|
|
10
|
+
value: bcs.u64(),
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../../../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
const $moduleName = '0x2::package';
|
|
7
|
+
export const UpgradeCap = new MoveStruct({
|
|
8
|
+
name: `${$moduleName}::UpgradeCap`,
|
|
9
|
+
fields: {
|
|
10
|
+
id: bcs.Address,
|
|
11
|
+
package: bcs.Address,
|
|
12
|
+
version: bcs.u64(),
|
|
13
|
+
policy: bcs.u8(),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../../../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
const $moduleName = '0x2::table';
|
|
7
|
+
export const Table = new MoveStruct({
|
|
8
|
+
name: `${$moduleName}::Table`,
|
|
9
|
+
fields: {
|
|
10
|
+
id: bcs.Address,
|
|
11
|
+
size: bcs.u64(),
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import * as bytes32 from './bytes32.js';
|
|
6
|
+
const $moduleName =
|
|
7
|
+
'0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::external_address';
|
|
8
|
+
export const ExternalAddress = new MoveStruct({
|
|
9
|
+
name: `${$moduleName}::ExternalAddress`,
|
|
10
|
+
fields: {
|
|
11
|
+
value: bytes32.Bytes32,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
import * as balance from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/balance.js';
|
|
7
|
+
const $moduleName =
|
|
8
|
+
'0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::fee_collector';
|
|
9
|
+
export const FeeCollector = new MoveStruct({
|
|
10
|
+
name: `${$moduleName}::FeeCollector`,
|
|
11
|
+
fields: {
|
|
12
|
+
fee_amount: bcs.u64(),
|
|
13
|
+
balance: balance.Balance,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import * as table from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.js';
|
|
6
|
+
const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::set';
|
|
7
|
+
export const Set = new MoveStruct({
|
|
8
|
+
name: `${$moduleName}::Set`,
|
|
9
|
+
fields: {
|
|
10
|
+
items: table.Table,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
import { MoveStruct } from '../utils/index.js';
|
|
5
|
+
import { bcs } from '@haneullabs/haneul/bcs';
|
|
6
|
+
import * as external_address from './external_address.js';
|
|
7
|
+
import * as table from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/table.js';
|
|
8
|
+
import * as consumed_vaas from './consumed_vaas.js';
|
|
9
|
+
import * as fee_collector from './fee_collector.js';
|
|
10
|
+
import * as _package from './deps/0x0000000000000000000000000000000000000000000000000000000000000002/package.js';
|
|
11
|
+
const $moduleName = '0xf47329f4344f3bf0f8e436e2f7b485466cff300f12a166563995d3888c296a94::state';
|
|
12
|
+
export const State = new MoveStruct({
|
|
13
|
+
name: `${$moduleName}::State`,
|
|
14
|
+
fields: {
|
|
15
|
+
id: bcs.Address,
|
|
16
|
+
governance_chain: bcs.u16(),
|
|
17
|
+
governance_contract: external_address.ExternalAddress,
|
|
18
|
+
guardian_set_index: bcs.u32(),
|
|
19
|
+
guardian_sets: table.Table,
|
|
20
|
+
guardian_set_seconds_to_live: bcs.u32(),
|
|
21
|
+
consumed_vaas: consumed_vaas.ConsumedVAAs,
|
|
22
|
+
fee_collector: fee_collector.FeeCollector,
|
|
23
|
+
upgrade_cap: _package.UpgradeCap,
|
|
24
|
+
},
|
|
25
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
// Main client and configuration
|
|
5
|
-
export { DeepBookClient } from './client.js';
|
|
5
|
+
export { DeepBookClient, deepbook } from './client.js';
|
|
6
|
+
export type { DeepBookCompatibleClient, DeepBookOptions, DeepBookClientOptions } from './client.js';
|
|
6
7
|
export { DeepBookConfig } from './utils/config.js';
|
|
7
8
|
|
|
8
9
|
// Core contract classes
|
|
@@ -33,10 +34,36 @@ export type {
|
|
|
33
34
|
Pool,
|
|
34
35
|
MarginManager,
|
|
35
36
|
MarginPool,
|
|
36
|
-
Environment,
|
|
37
37
|
Config,
|
|
38
38
|
} from './types/index.js';
|
|
39
39
|
|
|
40
|
+
// Named return types
|
|
41
|
+
export type {
|
|
42
|
+
ManagerBalance,
|
|
43
|
+
VaultBalances,
|
|
44
|
+
LockedBalances,
|
|
45
|
+
ReferralBalances,
|
|
46
|
+
PoolTradeParams,
|
|
47
|
+
PoolBookParams,
|
|
48
|
+
PoolDeepPrice,
|
|
49
|
+
QuoteQuantityOut,
|
|
50
|
+
BaseQuantityOut,
|
|
51
|
+
QuantityOut,
|
|
52
|
+
BaseQuantityIn,
|
|
53
|
+
QuoteQuantityIn,
|
|
54
|
+
OrderDeepRequiredResult,
|
|
55
|
+
Level2Range,
|
|
56
|
+
Level2TicksFromMid,
|
|
57
|
+
AccountBalances,
|
|
58
|
+
AccountInfo,
|
|
59
|
+
DecodedOrderId,
|
|
60
|
+
MarginManagerState,
|
|
61
|
+
MarginManagerAssets,
|
|
62
|
+
MarginManagerDebts,
|
|
63
|
+
MarginManagerBalancesResult,
|
|
64
|
+
BorrowedShares,
|
|
65
|
+
} from './types/index.js';
|
|
66
|
+
|
|
40
67
|
// Trading parameter interfaces
|
|
41
68
|
export type {
|
|
42
69
|
PlaceLimitOrderParams,
|
|
@@ -65,7 +92,21 @@ export type {
|
|
|
65
92
|
export { OrderType, SelfMatchingOptions } from './types/index.js';
|
|
66
93
|
|
|
67
94
|
// Constants and configuration maps
|
|
68
|
-
export type { CoinMap, PoolMap, MarginPoolMap } from './utils/constants.js';
|
|
95
|
+
export type { CoinMap, PoolMap, MarginPoolMap, DeepbookPackageIds } from './utils/constants.js';
|
|
96
|
+
|
|
97
|
+
// Default configurations for mainnet and testnet
|
|
98
|
+
export {
|
|
99
|
+
mainnetCoins,
|
|
100
|
+
testnetCoins,
|
|
101
|
+
mainnetPools,
|
|
102
|
+
testnetPools,
|
|
103
|
+
mainnetMarginPools,
|
|
104
|
+
testnetMarginPools,
|
|
105
|
+
mainnetPackageIds,
|
|
106
|
+
testnetPackageIds,
|
|
107
|
+
mainnetPythConfigs,
|
|
108
|
+
testnetPythConfigs,
|
|
109
|
+
} from './utils/constants.js';
|
|
69
110
|
export {
|
|
70
111
|
DEEP_SCALAR,
|
|
71
112
|
FLOAT_SCALAR,
|
package/src/pyth/pyth.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { bcs } from '@haneullabs/haneul/bcs';
|
|
5
|
-
import type {
|
|
5
|
+
import type { ClientWithCoreApi } from '@haneullabs/haneul/client';
|
|
6
6
|
import type { Transaction } from '@haneullabs/haneul/transactions';
|
|
7
7
|
import { coinWithBalance } from '@haneullabs/haneul/transactions';
|
|
8
8
|
import { fromBase64, fromHex, parseStructTag } from '@haneullabs/haneul/utils';
|
|
@@ -10,6 +10,8 @@ import { fromBase64, fromHex, parseStructTag } from '@haneullabs/haneul/utils';
|
|
|
10
10
|
import type { HexString } from './PriceServiceConnection.js';
|
|
11
11
|
import { PriceServiceConnection } from './PriceServiceConnection.js';
|
|
12
12
|
import { extractVaaBytesFromAccumulatorMessage } from './pyth-helpers.js';
|
|
13
|
+
import { State as PythState } from '../contracts/pyth/state.js';
|
|
14
|
+
import { State as WormholeState } from '../contracts/wormhole/state.js';
|
|
13
15
|
|
|
14
16
|
const MAX_ARGUMENT_SIZE = 16 * 1024;
|
|
15
17
|
export type ObjectId = string;
|
|
@@ -31,11 +33,11 @@ export class HaneulPythClient {
|
|
|
31
33
|
#priceFeedObjectIdCache: Map<HexString, Promise<ObjectId>> = new Map();
|
|
32
34
|
#priceTableInfo?: Promise<{ id: ObjectId; fieldType: ObjectId }>;
|
|
33
35
|
#baseUpdateFee?: Promise<number>;
|
|
34
|
-
provider:
|
|
36
|
+
provider: ClientWithCoreApi;
|
|
35
37
|
pythStateId: ObjectId;
|
|
36
38
|
wormholeStateId: ObjectId;
|
|
37
39
|
|
|
38
|
-
constructor(provider:
|
|
40
|
+
constructor(provider: ClientWithCoreApi, pythStateId: ObjectId, wormholeStateId: ObjectId) {
|
|
39
41
|
this.provider = provider;
|
|
40
42
|
this.pythStateId = pythStateId;
|
|
41
43
|
this.wormholeStateId = wormholeStateId;
|
|
@@ -147,25 +149,28 @@ export class HaneulPythClient {
|
|
|
147
149
|
*/
|
|
148
150
|
async #fetchPriceFeedObjectId(feedId: HexString): Promise<ObjectId> {
|
|
149
151
|
const { id: tableId, fieldType } = await this.getPriceTableInfo();
|
|
150
|
-
|
|
152
|
+
|
|
153
|
+
// Serialize the PriceIdentifier name using BCS (vector of bytes)
|
|
154
|
+
const nameBytes = bcs
|
|
155
|
+
.byteVector()
|
|
156
|
+
.serialize(Array.from(fromHex(feedId)))
|
|
157
|
+
.toBytes();
|
|
158
|
+
|
|
159
|
+
const result = await this.provider.core.getDynamicField({
|
|
151
160
|
parentId: tableId,
|
|
152
161
|
name: {
|
|
153
162
|
type: `${fieldType}::price_identifier::PriceIdentifier`,
|
|
154
|
-
|
|
155
|
-
bytes: Array.from(fromHex(feedId)),
|
|
156
|
-
},
|
|
163
|
+
bcs: nameBytes,
|
|
157
164
|
},
|
|
158
165
|
});
|
|
159
166
|
|
|
160
|
-
if (!result.
|
|
167
|
+
if (!result.dynamicField) {
|
|
161
168
|
throw new Error(`Price feed object ID for feed ID ${feedId} not found.`);
|
|
162
169
|
}
|
|
163
|
-
if (result.data.content.dataType !== 'moveObject') {
|
|
164
|
-
throw new Error('Price feed type mismatch');
|
|
165
|
-
}
|
|
166
170
|
|
|
167
|
-
|
|
168
|
-
|
|
171
|
+
// The value in the table is just the object ID (address)
|
|
172
|
+
const objectId = bcs.Address.parse(result.dynamicField.value.bcs);
|
|
173
|
+
return objectId;
|
|
169
174
|
}
|
|
170
175
|
|
|
171
176
|
/**
|
|
@@ -191,26 +196,27 @@ export class HaneulPythClient {
|
|
|
191
196
|
* @returns Price table object ID and field type
|
|
192
197
|
*/
|
|
193
198
|
async #fetchPriceTableInfo(): Promise<{ id: ObjectId; fieldType: ObjectId }> {
|
|
194
|
-
const result = await this.provider.
|
|
199
|
+
const result = await this.provider.core.getDynamicObjectField({
|
|
195
200
|
parentId: this.pythStateId,
|
|
196
201
|
name: {
|
|
197
202
|
type: 'vector<u8>',
|
|
198
|
-
|
|
203
|
+
bcs: bcs.string().serialize('price_info').toBytes(),
|
|
199
204
|
},
|
|
200
205
|
});
|
|
201
206
|
|
|
202
|
-
if (!result.
|
|
207
|
+
if (!result.object) {
|
|
203
208
|
throw new Error('Price Table not found, contract may not be initialized');
|
|
204
209
|
}
|
|
205
210
|
|
|
206
|
-
const
|
|
211
|
+
const tableType = parseStructTag(result.object.type);
|
|
212
|
+
const priceIdentifier = tableType.typeParams[0];
|
|
207
213
|
if (
|
|
208
214
|
typeof priceIdentifier === 'object' &&
|
|
209
215
|
priceIdentifier !== null &&
|
|
210
216
|
priceIdentifier.name === 'PriceIdentifier' &&
|
|
211
217
|
'address' in priceIdentifier
|
|
212
218
|
) {
|
|
213
|
-
return { id: result.
|
|
219
|
+
return { id: result.object.objectId, fieldType: priceIdentifier.address };
|
|
214
220
|
} else {
|
|
215
221
|
throw new Error('fieldType not found');
|
|
216
222
|
}
|
|
@@ -229,7 +235,17 @@ export class HaneulPythClient {
|
|
|
229
235
|
* Fetches the package ID for the Wormhole contract (no caching).
|
|
230
236
|
*/
|
|
231
237
|
async #fetchWormholePackageId(): Promise<ObjectId> {
|
|
232
|
-
|
|
238
|
+
const result = await this.provider.core.getObject({
|
|
239
|
+
objectId: this.wormholeStateId,
|
|
240
|
+
include: { content: true },
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
if (!result.object?.content) {
|
|
244
|
+
throw new Error('Unable to fetch Wormhole state object');
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const state = WormholeState.parse(result.object.content);
|
|
248
|
+
return state.upgrade_cap.package;
|
|
233
249
|
}
|
|
234
250
|
|
|
235
251
|
/**
|
|
@@ -246,51 +262,36 @@ export class HaneulPythClient {
|
|
|
246
262
|
* Fetches the package ID for the Pyth contract (no caching).
|
|
247
263
|
*/
|
|
248
264
|
async #fetchPythPackageId(): Promise<ObjectId> {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
/**
|
|
253
|
-
* Fetches the package ID for a given object.
|
|
254
|
-
*
|
|
255
|
-
* @param objectId Object ID to fetch the package ID for.
|
|
256
|
-
*/
|
|
257
|
-
async #getPackageId(objectId: ObjectId): Promise<ObjectId> {
|
|
258
|
-
const result = await this.provider.getObject({
|
|
259
|
-
id: objectId,
|
|
260
|
-
options: { showContent: true },
|
|
265
|
+
const result = await this.provider.core.getObject({
|
|
266
|
+
objectId: this.pythStateId,
|
|
267
|
+
include: { content: true },
|
|
261
268
|
});
|
|
262
269
|
|
|
263
|
-
if (
|
|
264
|
-
|
|
265
|
-
'upgrade_cap' in result.data.content.fields
|
|
266
|
-
) {
|
|
267
|
-
const fields = result.data.content.fields as {
|
|
268
|
-
upgrade_cap: {
|
|
269
|
-
fields: {
|
|
270
|
-
package: ObjectId;
|
|
271
|
-
};
|
|
272
|
-
};
|
|
273
|
-
};
|
|
274
|
-
return fields.upgrade_cap.fields.package;
|
|
270
|
+
if (!result.object?.content) {
|
|
271
|
+
throw new Error(`Cannot fetch Pyth package ID for object ${this.pythStateId}`);
|
|
275
272
|
}
|
|
276
273
|
|
|
277
|
-
|
|
274
|
+
// Parse the BCS content to get the upgrade_cap.package field
|
|
275
|
+
const state = PythState.parse(result.object.content);
|
|
276
|
+
return state.upgrade_cap.package;
|
|
278
277
|
}
|
|
278
|
+
|
|
279
279
|
/**
|
|
280
280
|
* Gets the base update fee from the Pyth state object.
|
|
281
281
|
*/
|
|
282
282
|
async #fetchBaseUpdateFee(): Promise<number> {
|
|
283
|
-
const result = await this.provider.getObject({
|
|
284
|
-
|
|
285
|
-
|
|
283
|
+
const result = await this.provider.core.getObject({
|
|
284
|
+
objectId: this.pythStateId,
|
|
285
|
+
include: { content: true },
|
|
286
286
|
});
|
|
287
287
|
|
|
288
|
-
if (!result.
|
|
288
|
+
if (!result.object?.content) {
|
|
289
289
|
throw new Error('Unable to fetch Pyth state object');
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
|
|
293
|
-
|
|
292
|
+
// Parse the BCS content to get the base_update_fee field
|
|
293
|
+
const state = PythState.parse(result.object.content);
|
|
294
|
+
return Number(state.base_update_fee);
|
|
294
295
|
}
|
|
295
296
|
|
|
296
297
|
/**
|