@mysten/deepbook-v3 2.0.0 → 2.0.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/contracts/deepbook/account.d.mts +18 -18
  3. package/dist/contracts/deepbook/balance_manager.mjs.map +1 -1
  4. package/dist/contracts/deepbook/balances.d.mts +4 -4
  5. package/dist/contracts/deepbook/balances.d.mts.map +1 -1
  6. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  7. package/dist/contracts/deepbook/order.d.mts +12 -12
  8. package/dist/contracts/deepbook/pool.mjs.map +1 -1
  9. package/dist/contracts/deepbook/registry.mjs.map +1 -1
  10. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
  11. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -1
  12. package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -1
  13. package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -1
  14. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
  15. package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -1
  16. package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -1
  17. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
  18. package/dist/transactions/balanceManager.d.mts +12 -12
  19. package/dist/transactions/balanceManager.d.mts.map +1 -1
  20. package/dist/transactions/deepbook.d.mts +20 -20
  21. package/dist/transactions/deepbook.d.mts.map +1 -1
  22. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  23. package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
  24. package/dist/transactions/marginAdmin.d.mts +7 -7
  25. package/dist/transactions/marginMaintainer.d.mts +5 -5
  26. package/dist/transactions/marginPool.d.mts +18 -18
  27. package/dist/transactions/marginTPSL.d.mts +10 -10
  28. package/dist/types/index.d.mts.map +1 -1
  29. package/dist/types/index.mjs.map +1 -1
  30. package/dist/utils/constants.d.mts.map +1 -1
  31. package/dist/utils/constants.mjs +1 -1
  32. package/dist/utils/constants.mjs.map +1 -1
  33. package/package.json +10 -10
  34. package/src/contracts/deepbook/balance_manager.ts +1 -2
  35. package/src/contracts/deepbook/pool.ts +12 -24
  36. package/src/contracts/deepbook/registry.ts +1 -2
  37. package/src/contracts/deepbook_margin/margin_manager.ts +9 -18
  38. package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +5 -10
  39. package/src/contracts/deepbook_margin/margin_pool.ts +2 -4
  40. package/src/contracts/deepbook_margin/margin_registry.ts +3 -6
  41. package/src/contracts/deepbook_margin/pool_proxy.ts +3 -6
  42. package/src/contracts/deepbook_margin/protocol_config.ts +1 -2
  43. package/src/contracts/deepbook_margin/tpsl.ts +1 -2
  44. package/src/contracts/margin_liquidation/liquidation_vault.ts +2 -4
  45. package/src/contracts/pyth/pyth.ts +2 -4
  46. package/src/types/index.ts +1 -2
  47. package/src/utils/constants.ts +1 -7
@@ -1 +1 @@
1
- {"version":3,"file":"margin_registry.mjs","names":["versioned.Versioned","vec_set.VecSet","table.Table","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/margin_registry.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Registry holds all margin pools. */\n\nimport {\n\tMoveStruct,\n\tMoveTuple,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as versioned from './deps/sui/versioned.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as table from './deps/sui/table.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::margin_registry';\nexport const MARGIN_REGISTRY = new MoveStruct({\n\tname: `${$moduleName}::MARGIN_REGISTRY`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const MarginRegistry = new MoveStruct({\n\tname: `${$moduleName}::MarginRegistry`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tinner: versioned.Versioned,\n\t},\n});\nexport const MarginRegistryInner = new MoveStruct({\n\tname: `${$moduleName}::MarginRegistryInner`,\n\tfields: {\n\t\tregistry_id: bcs.Address,\n\t\tallowed_versions: vec_set.VecSet(bcs.u64()),\n\t\tpool_registry: table.Table,\n\t\tmargin_pools: table.Table,\n\t\tmargin_managers: table.Table,\n\t\tallowed_maintainers: vec_set.VecSet(bcs.Address),\n\t\tallowed_pause_caps: vec_set.VecSet(bcs.Address),\n\t},\n});\nexport const RiskRatios = new MoveStruct({\n\tname: `${$moduleName}::RiskRatios`,\n\tfields: {\n\t\tmin_withdraw_risk_ratio: bcs.u64(),\n\t\tmin_borrow_risk_ratio: bcs.u64(),\n\t\tliquidation_risk_ratio: bcs.u64(),\n\t\ttarget_liquidation_risk_ratio: bcs.u64(),\n\t},\n});\nexport const PoolConfig = new MoveStruct({\n\tname: `${$moduleName}::PoolConfig`,\n\tfields: {\n\t\tbase_margin_pool_id: bcs.Address,\n\t\tquote_margin_pool_id: bcs.Address,\n\t\trisk_ratios: RiskRatios,\n\t\tuser_liquidation_reward: bcs.u64(),\n\t\tpool_liquidation_reward: bcs.u64(),\n\t\tenabled: bcs.bool(),\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport const ConfigKey = new MoveStruct({\n\tname: `${$moduleName}::ConfigKey<phantom Config>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const CurrentPriceKey = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceKey`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t},\n});\nexport const CurrentPriceData = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceData`,\n\tfields: {\n\t\tprice: bcs.u64(),\n\t\tlast_price_update_ms: bcs.u64(),\n\t\ttolerance: bcs.u64(),\n\t\tmax_price_age_ms: bcs.u64(),\n\t},\n});\nexport const MaxOrderTtlKey = new MoveTuple({\n\tname: `${$moduleName}::MaxOrderTtlKey`,\n\tfields: [bcs.Address],\n});\nexport const MinOpenRiskRatioKey = new MoveTuple({\n\tname: `${$moduleName}::MinOpenRiskRatioKey`,\n\tfields: [bcs.Address],\n});\nexport const MarginAdminCap = new MoveStruct({\n\tname: `${$moduleName}::MarginAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPauseCap = new MoveStruct({\n\tname: `${$moduleName}::MarginPauseCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MaintainerCap = new MoveStruct({\n\tname: `${$moduleName}::MaintainerCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPoolCap = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t},\n});\nexport const MaintainerCapUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaintainerCapUpdated`,\n\tfields: {\n\t\tmaintainer_cap_id: bcs.Address,\n\t\tallowed: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const PauseCapUpdated = new MoveStruct({\n\tname: `${$moduleName}::PauseCapUpdated`,\n\tfields: {\n\t\tpause_cap_id: bcs.Address,\n\t\tallowed: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolRegistered = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolRegistered`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tconfig: PoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tenabled: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolConfigUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolConfigUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tconfig: PoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const CurrentPriceUpdated = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tprice: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const PriceToleranceUpdated = new MoveStruct({\n\tname: `${$moduleName}::PriceToleranceUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\ttolerance: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaxPriceAgeUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaxPriceAgeUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmax_age_ms: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaxOrderTtlUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaxOrderTtlUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmax_order_ttl_ms: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MinOpenRiskRatioUpdated = new MoveStruct({\n\tname: `${$moduleName}::MinOpenRiskRatioUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmin_open_risk_ratio: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport interface MintMaintainerCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintMaintainerCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintMaintainerCapArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n}\n/**\n * Mint a `MaintainerCap`, only admin can mint a `MaintainerCap`. This function\n * does not have version restrictions\n */\nexport function mintMaintainerCap(options: MintMaintainerCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'mint_maintainer_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RevokeMaintainerCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tmaintainerCapId: RawTransactionArgument<string>;\n}\nexport interface RevokeMaintainerCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RevokeMaintainerCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tmaintainerCapId: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Revoke a `MaintainerCap`. Only the admin can revoke a `MaintainerCap`. This\n * function does not have version restrictions\n */\nexport function revokeMaintainerCap(options: RevokeMaintainerCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'AdminCap', 'maintainerCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'revoke_maintainer_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RegisterDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tpoolConfig: TransactionArgument;\n}\nexport interface RegisterDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RegisterDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tpoolConfig: TransactionArgument,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Register a margin pool for margin trading with existing margin pools */\nexport function registerDeepbookPool(options: RegisterDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'poolConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'register_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface EnableDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Enables a deepbook pool for margin trading. */\nexport function enableDeepbookPool(options: EnableDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'enable_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DisableDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface DisableDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Disables a deepbook pool from margin trading. Only reduce only orders, cancels,\n * and withdraw settled amounts are allowed.\n */\nexport function disableDeepbookPool(options: DisableDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateRiskParamsArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tpoolConfig: TransactionArgument;\n}\nexport interface UpdateRiskParamsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateRiskParamsArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tpoolConfig: TransactionArgument,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Updates risk params for a deepbook pool as the admin. */\nexport function updateRiskParams(options: UpdateRiskParamsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'poolConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'update_risk_params',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AddConfigArguments<Config extends BcsType<any>> {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<Config>;\n}\nexport interface AddConfigOptions<Config extends BcsType<any>> {\n\tpackage?: string;\n\targuments:\n\t\t| AddConfigArguments<Config>\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tconfig: RawTransactionArgument<Config>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Add Pyth Config to the MarginRegistry. */\nexport function addConfig<Config extends BcsType<any>>(options: AddConfigOptions<Config>) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, `${options.typeArguments[0]}`] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'config'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'add_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RemoveConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface RemoveConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RemoveConfigArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Remove Pyth Config from the MarginRegistry. */\nexport function removeConfig(options: RemoveConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'remove_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface EnableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Enables a package version Only Admin can enable a package version This function\n * does not have version restrictions\n */\nexport function enableVersion(options: EnableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'enable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DisableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface DisableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Disables a package version Only Admin can disable a package version This\n * function does not have version restrictions\n */\nexport function disableVersion(options: DisableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DisableVersionPauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface DisableVersionPauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableVersionPauseCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tpauseCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Disables a package version Pause Cap must be valid and can disable the version\n * This function does not have version restrictions\n */\nexport function disableVersionPauseCap(options: DisableVersionPauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_version_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MintPauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintPauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintPauseCapArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n}\n/**\n * Mint a pause cap Only Admin can mint a pause cap This function does not have\n * version restrictions\n */\nexport function mintPauseCap(options: MintPauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RevokePauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpauseCapId: RawTransactionArgument<string>;\n}\nexport interface RevokePauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RevokePauseCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpauseCapId: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Revoke a pause cap Only Admin can revoke a pause cap This function does not have\n * version restrictions\n */\nexport function revokePauseCap(options: RevokePauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock', '0x2::object::ID'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pauseCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'revoke_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SetPriceToleranceArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\ttolerance: RawTransactionArgument<number | bigint>;\n}\nexport interface SetPriceToleranceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetPriceToleranceArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\ttolerance: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set price deviation tolerance for a pool tolerance is in 9 decimals where 1.0 =\n * 1_000_000_000 (e.g., 100_000_000 = 0.1 = 10%) Only Admin can set tolerance\n * Requires price to be initialized first via update_current_price\n */\nexport function setPriceTolerance(options: SetPriceToleranceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'tolerance'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_price_tolerance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMaxPriceAgeArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tmaxAgeMs: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxPriceAgeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMaxPriceAgeArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tmaxAgeMs: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set maximum price age in milliseconds for a pool Only Admin can set max price\n * age Requires price to be initialized first via update_current_price\n */\nexport function setMaxPriceAge(options: SetMaxPriceAgeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'maxAgeMs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_max_price_age',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMaxOrderTtlArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tmaxOrderTtlMs: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxOrderTtlOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMaxOrderTtlArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tmaxOrderTtlMs: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set the maximum lifetime (in ms) of margin limit orders for a pool.\n * User-supplied `expire_timestamp` on margin limit-order placements is clamped to\n * at most `now + max_order_ttl_ms`. Bounds margin orders' exposure to stale-price\n * exploitation if liquidity disappears after placement. Only Admin can set max\n * order TTL.\n */\nexport function setMaxOrderTtl(options: SetMaxOrderTtlOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'maxOrderTtlMs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_max_order_ttl',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMinOpenRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tminOpenRiskRatio: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMinOpenRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMinOpenRiskRatioArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tminOpenRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set the per-pool `min_open_risk_ratio` override — the post-trade solvency floor\n * enforced on opening (risk-increasing) orders. Must sit in\n * `(liquidation_risk_ratio, min_borrow_risk_ratio]`: above liquidation so an open\n * can't land in the liquidatable zone, at or below the borrow floor. Absent an\n * override the floor defaults to the midpoint of liquidation and min_borrow. Only\n * Admin can set it.\n */\nexport function setMinOpenRiskRatio(options: SetMinOpenRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'minOpenRiskRatio'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_min_open_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tminWithdrawRiskRatio: RawTransactionArgument<number | bigint>;\n\tminBorrowRiskRatio: RawTransactionArgument<number | bigint>;\n\tliquidationRiskRatio: RawTransactionArgument<number | bigint>;\n\ttargetLiquidationRiskRatio: RawTransactionArgument<number | bigint>;\n\tuserLiquidationReward: RawTransactionArgument<number | bigint>;\n\tpoolLiquidationReward: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPoolConfigArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tminWithdrawRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrowRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tliquidationRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\ttargetLiquidationRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tuserLiquidationReward: RawTransactionArgument<number | bigint>,\n\t\t\t\tpoolLiquidationReward: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Create a PoolConfig with margin pool IDs and risk parameters Enable is false by\n * default, must be enabled after registration\n */\nexport function newPoolConfig(options: NewPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', 'u64', 'u64', 'u64', 'u64', 'u64'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'minWithdrawRiskRatio',\n\t\t'minBorrowRiskRatio',\n\t\t'liquidationRiskRatio',\n\t\t'targetLiquidationRiskRatio',\n\t\t'userLiquidationReward',\n\t\t'poolLiquidationReward',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'new_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPoolConfigWithLeverageArguments {\n\tself: RawTransactionArgument<string>;\n\tleverage: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPoolConfigWithLeverageOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPoolConfigWithLeverageArguments\n\t\t| [self: RawTransactionArgument<string>, leverage: RawTransactionArgument<number | bigint>];\n\ttypeArguments: [string, string];\n}\n/** Create a PoolConfig with default risk parameters based on leverage */\nexport function newPoolConfigWithLeverage(options: NewPoolConfigWithLeverageOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'leverage'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'new_pool_config_with_leverage',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PoolEnabledArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface PoolEnabledOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PoolEnabledArguments\n\t\t| [self: RawTransactionArgument<string>, pool: RawTransactionArgument<string>];\n\ttypeArguments: [string, string];\n}\n/** Check if a deepbook pool is registered for margin trading */\nexport function poolEnabled(options: PoolEnabledOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'pool_enabled',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface GetMarginPoolIdOptions {\n\tpackage?: string;\n\targuments: GetMarginPoolIdArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Get the margin pool id for the given asset. */\nexport function getMarginPoolId(options: GetMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetDeepbookPoolMarginPoolIdsArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface GetDeepbookPoolMarginPoolIdsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetDeepbookPoolMarginPoolIdsArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/** Get the margin pool IDs for a deepbook pool */\nexport function getDeepbookPoolMarginPoolIds(options: GetDeepbookPoolMarginPoolIdsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_deepbook_pool_margin_pool_ids',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface GetMarginManagerIdsArguments {\n\tself: RawTransactionArgument<string>;\n\towner: RawTransactionArgument<string>;\n}\nexport interface GetMarginManagerIdsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetMarginManagerIdsArguments\n\t\t| [self: RawTransactionArgument<string>, owner: RawTransactionArgument<string>];\n}\n/** Get the margin manager IDs for a given owner */\nexport function getMarginManagerIds(options: GetMarginManagerIdsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'owner'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_margin_manager_ids',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface CanLiquidateArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\triskRatio: RawTransactionArgument<number | bigint>;\n}\nexport interface CanLiquidateOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CanLiquidateArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\triskRatio: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function canLiquidate(options: CanLiquidateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId', 'riskRatio'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'can_liquidate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface BaseMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface BaseMarginPoolIdOptions {\n\tpackage?: string;\n\targuments:\n\t\t| BaseMarginPoolIdArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function baseMarginPoolId(options: BaseMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'base_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface QuoteMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface QuoteMarginPoolIdOptions {\n\tpackage?: string;\n\targuments:\n\t\t| QuoteMarginPoolIdArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function quoteMarginPoolId(options: QuoteMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'quote_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinWithdrawRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinWithdrawRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinWithdrawRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function minWithdrawRiskRatio(options: MinWithdrawRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_withdraw_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinBorrowRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinBorrowRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinBorrowRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function minBorrowRiskRatio(options: MinBorrowRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_borrow_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface LiquidationRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface LiquidationRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidationRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function liquidationRiskRatio(options: LiquidationRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'liquidation_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface TargetLiquidationRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface TargetLiquidationRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| TargetLiquidationRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function targetLiquidationRiskRatio(options: TargetLiquidationRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'target_liquidation_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinOpenRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinOpenRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinOpenRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/**\n * Post-trade solvency floor for _opening_ (risk-increasing) orders, sitting in\n * `(liquidation_risk_ratio, min_borrow_risk_ratio]`. Lets a max-leverage open\n * absorb the opening trade's spread — which lands the post-trade ratio just under\n * the borrow floor — without aborting, while staying above the liquidatable zone.\n * Defaults to the midpoint of liquidation and min_borrow; an admin override\n * (`set_min_open_risk_ratio`) is honored only while it stays in the valid band, so\n * a later risk-param change can't strand it below liquidation.\n */\nexport function minOpenRiskRatio(options: MinOpenRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_open_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface UserLiquidationRewardArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface UserLiquidationRewardOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserLiquidationRewardArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function userLiquidationReward(options: UserLiquidationRewardOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'user_liquidation_reward',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface PoolLiquidationRewardArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface PoolLiquidationRewardOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PoolLiquidationRewardArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function poolLiquidationReward(options: PoolLiquidationRewardOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'pool_liquidation_reward',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AllowedMaintainersArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface AllowedMaintainersOptions {\n\tpackage?: string;\n\targuments: AllowedMaintainersArguments | [self: RawTransactionArgument<string>];\n}\nexport function allowedMaintainers(options: AllowedMaintainersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'allowed_maintainers',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AllowedPauseCapsArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface AllowedPauseCapsOptions {\n\tpackage?: string;\n\targuments: AllowedPauseCapsArguments | [self: RawTransactionArgument<string>];\n}\nexport function allowedPauseCaps(options: AllowedPauseCapsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'allowed_pause_caps',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface GetPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface GetPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetPoolConfigArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/** Get the pool configuration for a deepbook pool */\nexport function getPoolConfig(options: GetPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"margin_registry.mjs","names":["versioned.Versioned","vec_set.VecSet","table.Table","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/margin_registry.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Registry holds all margin pools. */\n\nimport {\n\tMoveStruct,\n\tMoveTuple,\n\tnormalizeMoveArguments,\n\ttype RawTransactionArgument,\n} from '../utils/index.js';\nimport { bcs, type BcsType } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as versioned from './deps/sui/versioned.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as table from './deps/sui/table.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::margin_registry';\nexport const MARGIN_REGISTRY = new MoveStruct({\n\tname: `${$moduleName}::MARGIN_REGISTRY`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const MarginRegistry = new MoveStruct({\n\tname: `${$moduleName}::MarginRegistry`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tinner: versioned.Versioned,\n\t},\n});\nexport const MarginRegistryInner = new MoveStruct({\n\tname: `${$moduleName}::MarginRegistryInner`,\n\tfields: {\n\t\tregistry_id: bcs.Address,\n\t\tallowed_versions: vec_set.VecSet(bcs.u64()),\n\t\tpool_registry: table.Table,\n\t\tmargin_pools: table.Table,\n\t\tmargin_managers: table.Table,\n\t\tallowed_maintainers: vec_set.VecSet(bcs.Address),\n\t\tallowed_pause_caps: vec_set.VecSet(bcs.Address),\n\t},\n});\nexport const RiskRatios = new MoveStruct({\n\tname: `${$moduleName}::RiskRatios`,\n\tfields: {\n\t\tmin_withdraw_risk_ratio: bcs.u64(),\n\t\tmin_borrow_risk_ratio: bcs.u64(),\n\t\tliquidation_risk_ratio: bcs.u64(),\n\t\ttarget_liquidation_risk_ratio: bcs.u64(),\n\t},\n});\nexport const PoolConfig = new MoveStruct({\n\tname: `${$moduleName}::PoolConfig`,\n\tfields: {\n\t\tbase_margin_pool_id: bcs.Address,\n\t\tquote_margin_pool_id: bcs.Address,\n\t\trisk_ratios: RiskRatios,\n\t\tuser_liquidation_reward: bcs.u64(),\n\t\tpool_liquidation_reward: bcs.u64(),\n\t\tenabled: bcs.bool(),\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport const ConfigKey = new MoveStruct({\n\tname: `${$moduleName}::ConfigKey<phantom Config>`,\n\tfields: {\n\t\tdummy_field: bcs.bool(),\n\t},\n});\nexport const CurrentPriceKey = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceKey`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t},\n});\nexport const CurrentPriceData = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceData`,\n\tfields: {\n\t\tprice: bcs.u64(),\n\t\tlast_price_update_ms: bcs.u64(),\n\t\ttolerance: bcs.u64(),\n\t\tmax_price_age_ms: bcs.u64(),\n\t},\n});\nexport const MaxOrderTtlKey = new MoveTuple({\n\tname: `${$moduleName}::MaxOrderTtlKey`,\n\tfields: [bcs.Address],\n});\nexport const MinOpenRiskRatioKey = new MoveTuple({\n\tname: `${$moduleName}::MinOpenRiskRatioKey`,\n\tfields: [bcs.Address],\n});\nexport const MarginAdminCap = new MoveStruct({\n\tname: `${$moduleName}::MarginAdminCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPauseCap = new MoveStruct({\n\tname: `${$moduleName}::MarginPauseCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MaintainerCap = new MoveStruct({\n\tname: `${$moduleName}::MaintainerCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPoolCap = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tmargin_pool_id: bcs.Address,\n\t},\n});\nexport const MaintainerCapUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaintainerCapUpdated`,\n\tfields: {\n\t\tmaintainer_cap_id: bcs.Address,\n\t\tallowed: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const PauseCapUpdated = new MoveStruct({\n\tname: `${$moduleName}::PauseCapUpdated`,\n\tfields: {\n\t\tpause_cap_id: bcs.Address,\n\t\tallowed: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolRegistered = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolRegistered`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tconfig: PoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tenabled: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolConfigUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolConfigUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tconfig: PoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const CurrentPriceUpdated = new MoveStruct({\n\tname: `${$moduleName}::CurrentPriceUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tprice: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const PriceToleranceUpdated = new MoveStruct({\n\tname: `${$moduleName}::PriceToleranceUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\ttolerance: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaxPriceAgeUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaxPriceAgeUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmax_age_ms: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaxOrderTtlUpdated = new MoveStruct({\n\tname: `${$moduleName}::MaxOrderTtlUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmax_order_ttl_ms: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MinOpenRiskRatioUpdated = new MoveStruct({\n\tname: `${$moduleName}::MinOpenRiskRatioUpdated`,\n\tfields: {\n\t\tpool_id: bcs.Address,\n\t\tmin_open_risk_ratio: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport interface MintMaintainerCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintMaintainerCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintMaintainerCapArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n}\n/**\n * Mint a `MaintainerCap`, only admin can mint a `MaintainerCap`. This function\n * does not have version restrictions\n */\nexport function mintMaintainerCap(options: MintMaintainerCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'mint_maintainer_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RevokeMaintainerCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tmaintainerCapId: RawTransactionArgument<string>;\n}\nexport interface RevokeMaintainerCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RevokeMaintainerCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tmaintainerCapId: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Revoke a `MaintainerCap`. Only the admin can revoke a `MaintainerCap`. This\n * function does not have version restrictions\n */\nexport function revokeMaintainerCap(options: RevokeMaintainerCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'AdminCap', 'maintainerCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'revoke_maintainer_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RegisterDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tpoolConfig: TransactionArgument;\n}\nexport interface RegisterDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RegisterDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tpoolConfig: TransactionArgument,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Register a margin pool for margin trading with existing margin pools */\nexport function registerDeepbookPool(options: RegisterDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'poolConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'register_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface EnableDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Enables a deepbook pool for margin trading. */\nexport function enableDeepbookPool(options: EnableDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'enable_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DisableDeepbookPoolArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface DisableDeepbookPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableDeepbookPoolArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Disables a deepbook pool from margin trading. Only reduce only orders, cancels,\n * and withdraw settled amounts are allowed.\n */\nexport function disableDeepbookPool(options: DisableDeepbookPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_deepbook_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateRiskParamsArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tpoolConfig: TransactionArgument;\n}\nexport interface UpdateRiskParamsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateRiskParamsArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tpoolConfig: TransactionArgument,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Updates risk params for a deepbook pool as the admin. */\nexport function updateRiskParams(options: UpdateRiskParamsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'poolConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'update_risk_params',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AddConfigArguments<Config extends BcsType<any>> {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tconfig: RawTransactionArgument<Config>;\n}\nexport interface AddConfigOptions<Config extends BcsType<any>> {\n\tpackage?: string;\n\targuments:\n\t\t| AddConfigArguments<Config>\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tconfig: RawTransactionArgument<Config>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Add Pyth Config to the MarginRegistry. */\nexport function addConfig<Config extends BcsType<any>>(options: AddConfigOptions<Config>) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, `${options.typeArguments[0]}`] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'config'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'add_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RemoveConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface RemoveConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RemoveConfigArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Remove Pyth Config from the MarginRegistry. */\nexport function removeConfig(options: RemoveConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'remove_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface EnableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Enables a package version Only Admin can enable a package version This function\n * does not have version restrictions\n */\nexport function enableVersion(options: EnableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'enable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DisableVersionArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface DisableVersionOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableVersionArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Disables a package version Only Admin can disable a package version This\n * function does not have version restrictions\n */\nexport function disableVersion(options: DisableVersionOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_version',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface DisableVersionPauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tversion: RawTransactionArgument<number | bigint>;\n\tpauseCap: RawTransactionArgument<string>;\n}\nexport interface DisableVersionPauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableVersionPauseCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tversion: RawTransactionArgument<number | bigint>,\n\t\t\t\tpauseCap: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Disables a package version Pause Cap must be valid and can disable the version\n * This function does not have version restrictions\n */\nexport function disableVersionPauseCap(options: DisableVersionPauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'version', 'pauseCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'disable_version_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MintPauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface MintPauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintPauseCapArguments\n\t\t| [self: RawTransactionArgument<string>, AdminCap: RawTransactionArgument<string>];\n}\n/**\n * Mint a pause cap Only Admin can mint a pause cap This function does not have\n * version restrictions\n */\nexport function mintPauseCap(options: MintPauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'mint_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface RevokePauseCapArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpauseCapId: RawTransactionArgument<string>;\n}\nexport interface RevokePauseCapOptions {\n\tpackage?: string;\n\targuments:\n\t\t| RevokePauseCapArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpauseCapId: RawTransactionArgument<string>,\n\t\t ];\n}\n/**\n * Revoke a pause cap Only Admin can revoke a pause cap This function does not have\n * version restrictions\n */\nexport function revokePauseCap(options: RevokePauseCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock', '0x2::object::ID'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pauseCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'revoke_pause_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SetPriceToleranceArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\ttolerance: RawTransactionArgument<number | bigint>;\n}\nexport interface SetPriceToleranceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetPriceToleranceArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\ttolerance: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set price deviation tolerance for a pool tolerance is in 9 decimals where 1.0 =\n * 1_000_000_000 (e.g., 100_000_000 = 0.1 = 10%) Only Admin can set tolerance\n * Requires price to be initialized first via update_current_price\n */\nexport function setPriceTolerance(options: SetPriceToleranceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'tolerance'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_price_tolerance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMaxPriceAgeArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tmaxAgeMs: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxPriceAgeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMaxPriceAgeArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tmaxAgeMs: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set maximum price age in milliseconds for a pool Only Admin can set max price\n * age Requires price to be initialized first via update_current_price\n */\nexport function setMaxPriceAge(options: SetMaxPriceAgeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'maxAgeMs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_max_price_age',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMaxOrderTtlArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tmaxOrderTtlMs: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxOrderTtlOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMaxOrderTtlArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tmaxOrderTtlMs: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set the maximum lifetime (in ms) of margin limit orders for a pool.\n * User-supplied `expire_timestamp` on margin limit-order placements is clamped to\n * at most `now + max_order_ttl_ms`. Bounds margin orders' exposure to stale-price\n * exploitation if liquidity disappears after placement. Only Admin can set max\n * order TTL.\n */\nexport function setMaxOrderTtl(options: SetMaxOrderTtlOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'maxOrderTtlMs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_max_order_ttl',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SetMinOpenRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tminOpenRiskRatio: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMinOpenRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SetMinOpenRiskRatioArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tminOpenRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Set the per-pool `min_open_risk_ratio` override — the post-trade solvency floor\n * enforced on opening (risk-increasing) orders. Must sit in\n * `(liquidation_risk_ratio, min_borrow_risk_ratio]`: above liquidation so an open\n * can't land in the liquidatable zone, at or below the borrow floor. Absent an\n * override the floor defaults to the midpoint of liquidation and min_borrow. Only\n * Admin can set it.\n */\nexport function setMinOpenRiskRatio(options: SetMinOpenRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'pool', 'minOpenRiskRatio'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'set_min_open_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tminWithdrawRiskRatio: RawTransactionArgument<number | bigint>;\n\tminBorrowRiskRatio: RawTransactionArgument<number | bigint>;\n\tliquidationRiskRatio: RawTransactionArgument<number | bigint>;\n\ttargetLiquidationRiskRatio: RawTransactionArgument<number | bigint>;\n\tuserLiquidationReward: RawTransactionArgument<number | bigint>;\n\tpoolLiquidationReward: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPoolConfigArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tminWithdrawRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrowRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tliquidationRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\ttargetLiquidationRiskRatio: RawTransactionArgument<number | bigint>,\n\t\t\t\tuserLiquidationReward: RawTransactionArgument<number | bigint>,\n\t\t\t\tpoolLiquidationReward: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Create a PoolConfig with margin pool IDs and risk parameters Enable is false by\n * default, must be enabled after registration\n */\nexport function newPoolConfig(options: NewPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64', 'u64', 'u64', 'u64', 'u64', 'u64'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = [\n\t\t'self',\n\t\t'minWithdrawRiskRatio',\n\t\t'minBorrowRiskRatio',\n\t\t'liquidationRiskRatio',\n\t\t'targetLiquidationRiskRatio',\n\t\t'userLiquidationReward',\n\t\t'poolLiquidationReward',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'new_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPoolConfigWithLeverageArguments {\n\tself: RawTransactionArgument<string>;\n\tleverage: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPoolConfigWithLeverageOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPoolConfigWithLeverageArguments\n\t\t| [self: RawTransactionArgument<string>, leverage: RawTransactionArgument<number | bigint>];\n\ttypeArguments: [string, string];\n}\n/** Create a PoolConfig with default risk parameters based on leverage */\nexport function newPoolConfigWithLeverage(options: NewPoolConfigWithLeverageOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'leverage'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'new_pool_config_with_leverage',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PoolEnabledArguments {\n\tself: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface PoolEnabledOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PoolEnabledArguments\n\t\t| [self: RawTransactionArgument<string>, pool: RawTransactionArgument<string>];\n\ttypeArguments: [string, string];\n}\n/** Check if a deepbook pool is registered for margin trading */\nexport function poolEnabled(options: PoolEnabledOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'pool_enabled',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface GetMarginPoolIdOptions {\n\tpackage?: string;\n\targuments: GetMarginPoolIdArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Get the margin pool id for the given asset. */\nexport function getMarginPoolId(options: GetMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetDeepbookPoolMarginPoolIdsArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface GetDeepbookPoolMarginPoolIdsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetDeepbookPoolMarginPoolIdsArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/** Get the margin pool IDs for a deepbook pool */\nexport function getDeepbookPoolMarginPoolIds(options: GetDeepbookPoolMarginPoolIdsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_deepbook_pool_margin_pool_ids',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface GetMarginManagerIdsArguments {\n\tself: RawTransactionArgument<string>;\n\towner: RawTransactionArgument<string>;\n}\nexport interface GetMarginManagerIdsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetMarginManagerIdsArguments\n\t\t| [self: RawTransactionArgument<string>, owner: RawTransactionArgument<string>];\n}\n/** Get the margin manager IDs for a given owner */\nexport function getMarginManagerIds(options: GetMarginManagerIdsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'address'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'owner'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_margin_manager_ids',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface CanLiquidateArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\triskRatio: RawTransactionArgument<number | bigint>;\n}\nexport interface CanLiquidateOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CanLiquidateArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\triskRatio: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function canLiquidate(options: CanLiquidateOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId', 'riskRatio'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'can_liquidate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface BaseMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface BaseMarginPoolIdOptions {\n\tpackage?: string;\n\targuments:\n\t\t| BaseMarginPoolIdArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function baseMarginPoolId(options: BaseMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'base_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface QuoteMarginPoolIdArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface QuoteMarginPoolIdOptions {\n\tpackage?: string;\n\targuments:\n\t\t| QuoteMarginPoolIdArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function quoteMarginPoolId(options: QuoteMarginPoolIdOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'quote_margin_pool_id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinWithdrawRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinWithdrawRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinWithdrawRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function minWithdrawRiskRatio(options: MinWithdrawRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_withdraw_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinBorrowRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinBorrowRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinBorrowRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function minBorrowRiskRatio(options: MinBorrowRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_borrow_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface LiquidationRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface LiquidationRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| LiquidationRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function liquidationRiskRatio(options: LiquidationRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'liquidation_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface TargetLiquidationRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface TargetLiquidationRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| TargetLiquidationRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function targetLiquidationRiskRatio(options: TargetLiquidationRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'target_liquidation_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface MinOpenRiskRatioArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface MinOpenRiskRatioOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MinOpenRiskRatioArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/**\n * Post-trade solvency floor for _opening_ (risk-increasing) orders, sitting in\n * `(liquidation_risk_ratio, min_borrow_risk_ratio]`. Lets a max-leverage open\n * absorb the opening trade's spread — which lands the post-trade ratio just under\n * the borrow floor — without aborting, while staying above the liquidatable zone.\n * Defaults to the midpoint of liquidation and min_borrow; an admin override\n * (`set_min_open_risk_ratio`) is honored only while it stays in the valid band, so\n * a later risk-param change can't strand it below liquidation.\n */\nexport function minOpenRiskRatio(options: MinOpenRiskRatioOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'min_open_risk_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface UserLiquidationRewardArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface UserLiquidationRewardOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserLiquidationRewardArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function userLiquidationReward(options: UserLiquidationRewardOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'user_liquidation_reward',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface PoolLiquidationRewardArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface PoolLiquidationRewardOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PoolLiquidationRewardArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\nexport function poolLiquidationReward(options: PoolLiquidationRewardOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'pool_liquidation_reward',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AllowedMaintainersArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface AllowedMaintainersOptions {\n\tpackage?: string;\n\targuments: AllowedMaintainersArguments | [self: RawTransactionArgument<string>];\n}\nexport function allowedMaintainers(options: AllowedMaintainersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'allowed_maintainers',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface AllowedPauseCapsArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface AllowedPauseCapsOptions {\n\tpackage?: string;\n\targuments: AllowedPauseCapsArguments | [self: RawTransactionArgument<string>];\n}\nexport function allowedPauseCaps(options: AllowedPauseCapsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null] satisfies (string | null)[];\n\tconst parameterNames = ['self'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'allowed_pause_caps',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface GetPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface GetPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| GetPoolConfigArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n}\n/** Get the pool configuration for a deepbook pool */\nexport function getPoolConfig(options: GetPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'deepbookPoolId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_registry',\n\t\t\tfunction: 'get_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool_proxy.mjs","names":[],"sources":["../../../src/contracts/deepbook_margin/pool_proxy.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type Transaction } from '@mysten/sui/transactions';\nimport { normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nexport interface UpdateCurrentPriceArguments {\n\tregistry: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n}\nexport interface UpdateCurrentPriceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateCurrentPriceArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbasePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tquotePriceInfoObject: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Updates the current price for a pool using safe oracle price calculation. Anyone\n * can call this to update the price oracle used for order validation. Updates the\n * current price for a pool using safe oracle price calculation. Anyone can call\n * this to update the price oracle used for order validation. Twin:\n * `pool_proxy_upgraded::update_current_price`. Edit both.\n */\nexport function updateCurrentPrice(options: UpdateCurrentPriceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'pool', 'basePriceInfoObject', 'quotePriceInfoObject'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'update_current_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceLimitOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tOrderType: RawTransactionArgument<number>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tPrice: RawTransactionArgument<number | bigint>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n\tExpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceLimitOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tOrderType: RawTransactionArgument<number>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tPrice: RawTransactionArgument<number | bigint>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\tExpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** DEPRECATED. Use `place_limit_order_v2`. */\nexport function placeLimitOrder(options: PlaceLimitOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'ClientOrderId',\n\t\t'OrderType',\n\t\t'SelfMatchingOption',\n\t\t'Price',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t\t'ExpireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_limit_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** DEPRECATED. Use `place_market_order_v2`. */\nexport function placeMarketOrder(options: PlaceMarketOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'ClientOrderId',\n\t\t'SelfMatchingOption',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tMarginPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tOrderType: RawTransactionArgument<number>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tPrice: RawTransactionArgument<number | bigint>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n\tExpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tMarginPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tOrderType: RawTransactionArgument<number>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tPrice: RawTransactionArgument<number | bigint>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\tExpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** DEPRECATED. Use `place_reduce_only_limit_order_v2`. */\nexport function placeReduceOnlyLimitOrder(options: PlaceReduceOnlyLimitOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'MarginPool',\n\t\t'ClientOrderId',\n\t\t'OrderType',\n\t\t'SelfMatchingOption',\n\t\t'Price',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t\t'ExpireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tMarginPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tMarginPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** DEPRECATED. Use `place_reduce_only_market_order_v2`. */\nexport function placeReduceOnlyMarketOrder(options: PlaceReduceOnlyMarketOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'MarginPool',\n\t\t'ClientOrderId',\n\t\t'SelfMatchingOption',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ModifyOrderArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n\tnewQuantity: RawTransactionArgument<number | bigint>;\n}\nexport interface ModifyOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ModifyOrderArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tnewQuantity: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Modifies an order */\nexport function modifyOrder(options: ModifyOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u128', 'u64', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderId', 'newQuantity'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'modify_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelOrderArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n}\nexport interface CancelOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelOrderArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderId: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancels an order */\nexport function cancelOrder(options: CancelOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u128', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelOrdersArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderIds: RawTransactionArgument<Array<number | bigint>>;\n}\nexport interface CancelOrdersOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelOrdersArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderIds: RawTransactionArgument<Array<number | bigint>>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancel multiple orders within a vector. */\nexport function cancelOrders(options: CancelOrdersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'vector<u128>', '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderIds'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_orders',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelAllOrdersArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface CancelAllOrdersOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelAllOrdersArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancels all orders for the given account. */\nexport function cancelAllOrders(options: CancelAllOrdersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_all_orders',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawSettledAmountsArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface WithdrawSettledAmountsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawSettledAmountsArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Withdraw settled amounts to balance_manager. */\nexport function withdrawSettledAmounts(options: WithdrawSettledAmountsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'withdraw_settled_amounts',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawSettledAmountsPermissionlessArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface WithdrawSettledAmountsPermissionlessOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawSettledAmountsPermissionlessArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Withdraw settled amounts to balance_manager permissionlessly. Anyone can call\n * this function to settle balances for a margin manager.\n */\nexport function withdrawSettledAmountsPermissionless(\n\toptions: WithdrawSettledAmountsPermissionlessOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'withdraw_settled_amounts_permissionless',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface StakeArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint>;\n}\nexport interface StakeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| StakeArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Stake DEEP tokens to the pool. */\nexport function stake(options: StakeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'stake',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UnstakeArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface UnstakeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UnstakeArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Unstake DEEP tokens from the pool. */\nexport function unstake(options: UnstakeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'unstake',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SubmitProposalArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\ttakerFee: RawTransactionArgument<number | bigint>;\n\tmakerFee: RawTransactionArgument<number | bigint>;\n\tstakeRequired: RawTransactionArgument<number | bigint>;\n}\nexport interface SubmitProposalOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SubmitProposalArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\ttakerFee: RawTransactionArgument<number | bigint>,\n\t\t\t\tmakerFee: RawTransactionArgument<number | bigint>,\n\t\t\t\tstakeRequired: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Submit proposal using the margin manager. */\nexport function submitProposal(options: SubmitProposalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'takerFee',\n\t\t'makerFee',\n\t\t'stakeRequired',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'submit_proposal',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface VoteArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tproposalId: RawTransactionArgument<string>;\n}\nexport interface VoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| VoteArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tproposalId: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Vote on a proposal using the margin manager. */\nexport function vote(options: VoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'proposalId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'vote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ClaimRebatesArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface ClaimRebatesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ClaimRebatesArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function claimRebates(options: ClaimRebatesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'claim_rebates',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a limit order in the pool. Twin:\n * `pool_proxy_upgraded::place_limit_order_v2`. Edit both.\n */\nexport function placeLimitOrderV2(options: PlaceLimitOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a market order in the pool. Twin:\n * `pool_proxy_upgraded::place_market_order_v2`. Edit both.\n */\nexport function placeMarketOrderV2(options: PlaceMarketOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a reduce-only order in the pool. Used when margin trading is disabled.\n * Twin: `pool_proxy_upgraded::place_reduce_only_limit_order_v2`. Edit both.\n */\nexport function placeReduceOnlyLimitOrderV2(options: PlaceReduceOnlyLimitOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a reduce-only market order in the pool. Used when margin trading is\n * disabled.\n *\n * Superseded by `place_reduce_only_market_order_and_repay_loan`. A market (taker)\n * fill always pays the spread, which lowers the oracle-valued `risk_ratio` while\n * the debt is unchanged, so the swap-only monotonic check here rejects essentially\n * every taker fill. The `_and_repay` variant deleverages with the proceeds so the\n * net-state ratio actually improves. Kept callable for existing integrators; its\n * reduce-only _direction_ guard matches the other entries — a bid needs base\n * (short-side) debt, the ask needs quote (long-side) debt and sells up to gross\n * base held — with no size cap. Twin:\n * `pool_proxy_upgraded::place_reduce_only_market_order_v2`. Edit both.\n */\nexport function placeReduceOnlyMarketOrderV2(options: PlaceReduceOnlyMarketOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Atomically winds down a leveraged position: places a reduce-only market order,\n * repays the loan with the proceeds, then requires the net (post-repay) risk ratio\n * to be at least the pre-trade ratio.\n *\n * The post-repay check is the point. A market close pays the spread, which alone\n * lowers the oracle-valued ratio (debt is unchanged until repay) and would abort\n * the plain reduce-only path. Repaying first deleverages and absorbs the slippage\n * (still bounded by the `assert_price` band), and lets a manager in the\n * `liquidation..min_borrow` band climb out — it cannot reach the borrow floor in a\n * single swap. Twin:\n * `pool_proxy_upgraded::place_reduce_only_market_order_and_repay_loan`. Edit both.\n */\nexport function placeReduceOnlyMarketOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyMarketOrderAndRepayLoanOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Reduce-only **limit** order that atomically repays the loan with the taker\n * fills. It is the limit/maker behaviour of `place_reduce_only_limit_order_v2`\n * plus the repay-then-net-monotonic gate of\n * `place_reduce_only_market_order_and_repay_loan`: the portion that crosses the\n * book fills immediately and settles, the rest rests as a maker, then the settled\n * (taker) proceeds repay the debt before the monotonic check on the net\n * (post-repay) state.\n *\n * This is the danger-band tool for a _price-bounded_ reduce: a crossing\n * reduce-only limit pays the spread on its taker fills, which alone would abort\n * `place_reduce_only_limit_order_v2`'s swap-only monotonic check; repaying first\n * deleverages so the net ratio holds. The resting remainder only locks balance\n * (counted in assets), so it doesn't move the ratio. Unfilled-and-resting behaves\n * exactly like `place_reduce_only_limit_order_v2` (nothing to repay). Twin:\n * `pool_proxy_upgraded::place_reduce_only_limit_order_and_repay_loan`. Edit both.\n */\nexport function placeReduceOnlyLimitOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyLimitOrderAndRepayLoanOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Atomically places a market order and repays the loan with the proceeds, gating\n * on a **monotonic** net-state check: if any debt remains after the repay, the\n * post-repay `risk_ratio` must be at least the pre-trade ratio (improve-or-hold).\n * A full close drives debt to 0 (`risk_ratio` MAX), which always passes.\n *\n * This is the everyday close / deleverage tool. The monotonic gate — rather than\n * the `min_open` opening floor used by `place_market_order_v2` — lets a position\n * in the `liquidation..min_borrow` danger band wind down _partially_: a small\n * close that lifts the ratio from, say, 1.12 to 1.15 is allowed even though 1.15\n * is still below `min_open`, which the opening floor would reject.\n *\n * Not reduce-only and uncapped, but the monotonic check makes a quantity cap\n * unnecessary: a market (taker) fill settles immediately, so any genuinely\n * exposure-_increasing_ trade lowers the ratio and aborts here, while any\n * deleveraging trade is allowed at any size — an overshoot past the debt is fine\n * (surplus is the manager's own holding) and `assert_price` still bounds slippage.\n * Requires margin trading enabled; in reduce-only mode use\n * `place_reduce_only_market_order_and_repay_loan`. Twin:\n * `pool_proxy_upgraded::place_market_order_and_repay_loan`. Edit both.\n */\nexport function placeMarketOrderAndRepayLoan(options: PlaceMarketOrderAndRepayLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"pool_proxy.mjs","names":[],"sources":["../../../src/contracts/deepbook_margin/pool_proxy.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type Transaction } from '@mysten/sui/transactions';\nimport { normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nexport interface UpdateCurrentPriceArguments {\n\tregistry: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbasePriceInfoObject: RawTransactionArgument<string>;\n\tquotePriceInfoObject: RawTransactionArgument<string>;\n}\nexport interface UpdateCurrentPriceOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateCurrentPriceArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbasePriceInfoObject: RawTransactionArgument<string>,\n\t\t\t\tquotePriceInfoObject: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Updates the current price for a pool using safe oracle price calculation. Anyone\n * can call this to update the price oracle used for order validation. Updates the\n * current price for a pool using safe oracle price calculation. Anyone can call\n * this to update the price oracle used for order validation. Twin:\n * `pool_proxy_upgraded::update_current_price`. Edit both.\n */\nexport function updateCurrentPrice(options: UpdateCurrentPriceOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'pool', 'basePriceInfoObject', 'quotePriceInfoObject'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'update_current_price',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceLimitOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tOrderType: RawTransactionArgument<number>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tPrice: RawTransactionArgument<number | bigint>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n\tExpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceLimitOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tOrderType: RawTransactionArgument<number>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tPrice: RawTransactionArgument<number | bigint>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\tExpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** DEPRECATED. Use `place_limit_order_v2`. */\nexport function placeLimitOrder(options: PlaceLimitOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'ClientOrderId',\n\t\t'OrderType',\n\t\t'SelfMatchingOption',\n\t\t'Price',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t\t'ExpireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_limit_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** DEPRECATED. Use `place_market_order_v2`. */\nexport function placeMarketOrder(options: PlaceMarketOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'ClientOrderId',\n\t\t'SelfMatchingOption',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tMarginPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tOrderType: RawTransactionArgument<number>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tPrice: RawTransactionArgument<number | bigint>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n\tExpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tMarginPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tOrderType: RawTransactionArgument<number>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tPrice: RawTransactionArgument<number | bigint>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\tExpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** DEPRECATED. Use `place_reduce_only_limit_order_v2`. */\nexport function placeReduceOnlyLimitOrder(options: PlaceReduceOnlyLimitOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'MarginPool',\n\t\t'ClientOrderId',\n\t\t'OrderType',\n\t\t'SelfMatchingOption',\n\t\t'Price',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t\t'ExpireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderArguments {\n\tRegistry: RawTransactionArgument<string>;\n\tMarginManager: RawTransactionArgument<string>;\n\tPool: RawTransactionArgument<string>;\n\tMarginPool: RawTransactionArgument<string>;\n\tClientOrderId: RawTransactionArgument<number | bigint>;\n\tSelfMatchingOption: RawTransactionArgument<number>;\n\tQuantity: RawTransactionArgument<number | bigint>;\n\tIsBid: RawTransactionArgument<boolean>;\n\tPayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderArguments\n\t\t| [\n\t\t\t\tRegistry: RawTransactionArgument<string>,\n\t\t\t\tMarginManager: RawTransactionArgument<string>,\n\t\t\t\tPool: RawTransactionArgument<string>,\n\t\t\t\tMarginPool: RawTransactionArgument<string>,\n\t\t\t\tClientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tSelfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tQuantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tIsBid: RawTransactionArgument<boolean>,\n\t\t\t\tPayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string, string];\n}\n/** DEPRECATED. Use `place_reduce_only_market_order_v2`. */\nexport function placeReduceOnlyMarketOrder(options: PlaceReduceOnlyMarketOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'Registry',\n\t\t'MarginManager',\n\t\t'Pool',\n\t\t'MarginPool',\n\t\t'ClientOrderId',\n\t\t'SelfMatchingOption',\n\t\t'Quantity',\n\t\t'IsBid',\n\t\t'PayWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ModifyOrderArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n\tnewQuantity: RawTransactionArgument<number | bigint>;\n}\nexport interface ModifyOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ModifyOrderArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tnewQuantity: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Modifies an order */\nexport function modifyOrder(options: ModifyOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u128', 'u64', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderId', 'newQuantity'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'modify_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelOrderArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderId: RawTransactionArgument<number | bigint>;\n}\nexport interface CancelOrderOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelOrderArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderId: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancels an order */\nexport function cancelOrder(options: CancelOrderOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u128', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_order',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelOrdersArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\torderIds: RawTransactionArgument<Array<number | bigint>>;\n}\nexport interface CancelOrdersOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelOrdersArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\torderIds: RawTransactionArgument<Array<number | bigint>>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancel multiple orders within a vector. */\nexport function cancelOrders(options: CancelOrdersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'vector<u128>', '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'orderIds'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_orders',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface CancelAllOrdersArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface CancelAllOrdersOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CancelAllOrdersArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Cancels all orders for the given account. */\nexport function cancelAllOrders(options: CancelAllOrdersOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'cancel_all_orders',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawSettledAmountsArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface WithdrawSettledAmountsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawSettledAmountsArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Withdraw settled amounts to balance_manager. */\nexport function withdrawSettledAmounts(options: WithdrawSettledAmountsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'withdraw_settled_amounts',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawSettledAmountsPermissionlessArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface WithdrawSettledAmountsPermissionlessOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawSettledAmountsPermissionlessArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Withdraw settled amounts to balance_manager permissionlessly. Anyone can call\n * this function to settle balances for a margin manager.\n */\nexport function withdrawSettledAmountsPermissionless(\n\toptions: WithdrawSettledAmountsPermissionlessOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'withdraw_settled_amounts_permissionless',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface StakeArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint>;\n}\nexport interface StakeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| StakeArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Stake DEEP tokens to the pool. */\nexport function stake(options: StakeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'stake',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UnstakeArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface UnstakeOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UnstakeArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Unstake DEEP tokens from the pool. */\nexport function unstake(options: UnstakeOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'unstake',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SubmitProposalArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\ttakerFee: RawTransactionArgument<number | bigint>;\n\tmakerFee: RawTransactionArgument<number | bigint>;\n\tstakeRequired: RawTransactionArgument<number | bigint>;\n}\nexport interface SubmitProposalOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SubmitProposalArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\ttakerFee: RawTransactionArgument<number | bigint>,\n\t\t\t\tmakerFee: RawTransactionArgument<number | bigint>,\n\t\t\t\tstakeRequired: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Submit proposal using the margin manager. */\nexport function submitProposal(options: SubmitProposalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'takerFee',\n\t\t'makerFee',\n\t\t'stakeRequired',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'submit_proposal',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface VoteArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tproposalId: RawTransactionArgument<string>;\n}\nexport interface VoteOptions {\n\tpackage?: string;\n\targuments:\n\t\t| VoteArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tproposalId: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/** Vote on a proposal using the margin manager. */\nexport function vote(options: VoteOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool', 'proposalId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'vote',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ClaimRebatesArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n}\nexport interface ClaimRebatesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| ClaimRebatesArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\nexport function claimRebates(options: ClaimRebatesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'marginManager', 'pool'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'claim_rebates',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a limit order in the pool. Twin:\n * `pool_proxy_upgraded::place_limit_order_v2`. Edit both.\n */\nexport function placeLimitOrderV2(options: PlaceLimitOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a market order in the pool. Twin:\n * `pool_proxy_upgraded::place_market_order_v2`. Edit both.\n */\nexport function placeMarketOrderV2(options: PlaceMarketOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a reduce-only order in the pool. Used when margin trading is disabled.\n * Twin: `pool_proxy_upgraded::place_reduce_only_limit_order_v2`. Edit both.\n */\nexport function placeReduceOnlyLimitOrderV2(options: PlaceReduceOnlyLimitOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderV2Arguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderV2Options {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderV2Arguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Places a reduce-only market order in the pool. Used when margin trading is\n * disabled.\n *\n * Superseded by `place_reduce_only_market_order_and_repay_loan`. A market (taker)\n * fill always pays the spread, which lowers the oracle-valued `risk_ratio` while\n * the debt is unchanged, so the swap-only monotonic check here rejects essentially\n * every taker fill. The `_and_repay` variant deleverages with the proceeds so the\n * net-state ratio actually improves. Kept callable for existing integrators; its\n * reduce-only _direction_ guard matches the other entries — a bid needs base\n * (short-side) debt, the ask needs quote (long-side) debt and sells up to gross\n * base held — with no size cap. Twin:\n * `pool_proxy_upgraded::place_reduce_only_market_order_v2`. Edit both.\n */\nexport function placeReduceOnlyMarketOrderV2(options: PlaceReduceOnlyMarketOrderV2Options) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order_v2',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceReduceOnlyMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Atomically winds down a leveraged position: places a reduce-only market order,\n * repays the loan with the proceeds, then requires the net (post-repay) risk ratio\n * to be at least the pre-trade ratio.\n *\n * The post-repay check is the point. A market close pays the spread, which alone\n * lowers the oracle-valued ratio (debt is unchanged until repay) and would abort\n * the plain reduce-only path. Repaying first deleverages and absorbs the slippage\n * (still bounded by the `assert_price` band), and lets a manager in the\n * `liquidation..min_borrow` band climb out — it cannot reach the borrow floor in a\n * single swap. Twin:\n * `pool_proxy_upgraded::place_reduce_only_market_order_and_repay_loan`. Edit both.\n */\nexport function placeReduceOnlyMarketOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyMarketOrderAndRepayLoanOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\torderType: RawTransactionArgument<number>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tprice: RawTransactionArgument<number | bigint>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n\texpireTimestamp: RawTransactionArgument<number | bigint>;\n}\nexport interface PlaceReduceOnlyLimitOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceReduceOnlyLimitOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\torderType: RawTransactionArgument<number>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tprice: RawTransactionArgument<number | bigint>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t\t\texpireTimestamp: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Reduce-only **limit** order that atomically repays the loan with the taker\n * fills. It is the limit/maker behaviour of `place_reduce_only_limit_order_v2`\n * plus the repay-then-net-monotonic gate of\n * `place_reduce_only_market_order_and_repay_loan`: the portion that crosses the\n * book fills immediately and settles, the rest rests as a maker, then the settled\n * (taker) proceeds repay the debt before the monotonic check on the net\n * (post-repay) state.\n *\n * This is the danger-band tool for a _price-bounded_ reduce: a crossing\n * reduce-only limit pays the spread on its taker fills, which alone would abort\n * `place_reduce_only_limit_order_v2`'s swap-only monotonic check; repaying first\n * deleverages so the net ratio holds. The resting remainder only locks balance\n * (counted in assets), so it doesn't move the ratio. Unfilled-and-resting behaves\n * exactly like `place_reduce_only_limit_order_v2` (nothing to repay). Twin:\n * `pool_proxy_upgraded::place_reduce_only_limit_order_and_repay_loan`. Edit both.\n */\nexport function placeReduceOnlyLimitOrderAndRepayLoan(\n\toptions: PlaceReduceOnlyLimitOrderAndRepayLoanOptions,\n) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u8',\n\t\t'u64',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'u64',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'orderType',\n\t\t'selfMatchingOption',\n\t\t'price',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t\t'expireTimestamp',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_reduce_only_limit_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface PlaceMarketOrderAndRepayLoanArguments {\n\tregistry: RawTransactionArgument<string>;\n\tmarginManager: RawTransactionArgument<string>;\n\tpool: RawTransactionArgument<string>;\n\tbaseMarginPool: RawTransactionArgument<string>;\n\tquoteMarginPool: RawTransactionArgument<string>;\n\tbaseOracle: RawTransactionArgument<string>;\n\tquoteOracle: RawTransactionArgument<string>;\n\tclientOrderId: RawTransactionArgument<number | bigint>;\n\tselfMatchingOption: RawTransactionArgument<number>;\n\tquantity: RawTransactionArgument<number | bigint>;\n\tisBid: RawTransactionArgument<boolean>;\n\tpayWithDeep: RawTransactionArgument<boolean>;\n}\nexport interface PlaceMarketOrderAndRepayLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| PlaceMarketOrderAndRepayLoanArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginManager: RawTransactionArgument<string>,\n\t\t\t\tpool: RawTransactionArgument<string>,\n\t\t\t\tbaseMarginPool: RawTransactionArgument<string>,\n\t\t\t\tquoteMarginPool: RawTransactionArgument<string>,\n\t\t\t\tbaseOracle: RawTransactionArgument<string>,\n\t\t\t\tquoteOracle: RawTransactionArgument<string>,\n\t\t\t\tclientOrderId: RawTransactionArgument<number | bigint>,\n\t\t\t\tselfMatchingOption: RawTransactionArgument<number>,\n\t\t\t\tquantity: RawTransactionArgument<number | bigint>,\n\t\t\t\tisBid: RawTransactionArgument<boolean>,\n\t\t\t\tpayWithDeep: RawTransactionArgument<boolean>,\n\t\t ];\n\ttypeArguments: [string, string];\n}\n/**\n * Atomically places a market order and repays the loan with the proceeds, gating\n * on a **monotonic** net-state check: if any debt remains after the repay, the\n * post-repay `risk_ratio` must be at least the pre-trade ratio (improve-or-hold).\n * A full close drives debt to 0 (`risk_ratio` MAX), which always passes.\n *\n * This is the everyday close / deleverage tool. The monotonic gate — rather than\n * the `min_open` opening floor used by `place_market_order_v2` — lets a position\n * in the `liquidation..min_borrow` danger band wind down _partially_: a small\n * close that lifts the ratio from, say, 1.12 to 1.15 is allowed even though 1.15\n * is still below `min_open`, which the opening floor would reject.\n *\n * Not reduce-only and uncapped, but the monotonic check makes a quantity cap\n * unnecessary: a market (taker) fill settles immediately, so any genuinely\n * exposure-_increasing_ trade lowers the ratio and aborts here, while any\n * deleveraging trade is allowed at any size — an overshoot past the debt is fine\n * (surplus is the manager's own holding) and `assert_price` still bounds slippage.\n * Requires margin trading enabled; in reduce-only mode use\n * `place_reduce_only_market_order_and_repay_loan`. Twin:\n * `pool_proxy_upgraded::place_market_order_and_repay_loan`. Edit both.\n */\nexport function placeMarketOrderAndRepayLoan(options: PlaceMarketOrderAndRepayLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'u64',\n\t\t'u8',\n\t\t'u64',\n\t\t'bool',\n\t\t'bool',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = [\n\t\t'registry',\n\t\t'marginManager',\n\t\t'pool',\n\t\t'baseMarginPool',\n\t\t'quoteMarginPool',\n\t\t'baseOracle',\n\t\t'quoteOracle',\n\t\t'clientOrderId',\n\t\t'selfMatchingOption',\n\t\t'quantity',\n\t\t'isBid',\n\t\t'payWithDeep',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'pool_proxy',\n\t\t\tfunction: 'place_market_order_and_repay_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_config.mjs","names":["vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/protocol_config.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::protocol_config';\nexport const MarginPoolConfig = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolConfig`,\n\tfields: {\n\t\tsupply_cap: bcs.u64(),\n\t\tmax_utilization_rate: bcs.u64(),\n\t\tprotocol_spread: bcs.u64(),\n\t\tmin_borrow: bcs.u64(),\n\t\trate_limit_capacity: bcs.u64(),\n\t\trate_limit_refill_rate_per_ms: bcs.u64(),\n\t\trate_limit_enabled: bcs.bool(),\n\t},\n});\nexport const InterestConfig = new MoveStruct({\n\tname: `${$moduleName}::InterestConfig`,\n\tfields: {\n\t\tbase_rate: bcs.u64(),\n\t\tbase_slope: bcs.u64(),\n\t\toptimal_utilization: bcs.u64(),\n\t\texcess_slope: bcs.u64(),\n\t},\n});\nexport const ProtocolConfig = new MoveStruct({\n\tname: `${$moduleName}::ProtocolConfig`,\n\tfields: {\n\t\tmargin_pool_config: MarginPoolConfig,\n\t\tinterest_config: InterestConfig,\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport interface NewProtocolConfigArguments {\n\tmarginPoolConfig: TransactionArgument;\n\tinterestConfig: TransactionArgument;\n}\nexport interface NewProtocolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewProtocolConfigArguments\n\t\t| [marginPoolConfig: TransactionArgument, interestConfig: TransactionArgument];\n}\nexport function newProtocolConfig(options: NewProtocolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['marginPoolConfig', 'interestConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_protocol_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewMarginPoolConfigArguments {\n\tsupplyCap: RawTransactionArgument<number | bigint>;\n\tmaxUtilizationRate: RawTransactionArgument<number | bigint>;\n\tprotocolSpread: RawTransactionArgument<number | bigint>;\n\tminBorrow: RawTransactionArgument<number | bigint>;\n}\nexport interface NewMarginPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewMarginPoolConfigArguments\n\t\t| [\n\t\t\t\tsupplyCap: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxUtilizationRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tprotocolSpread: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrow: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function newMarginPoolConfig(options: NewMarginPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['supplyCap', 'maxUtilizationRate', 'protocolSpread', 'minBorrow'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_margin_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewMarginPoolConfigWithRateLimitArguments {\n\tsupplyCap: RawTransactionArgument<number | bigint>;\n\tmaxUtilizationRate: RawTransactionArgument<number | bigint>;\n\tprotocolSpread: RawTransactionArgument<number | bigint>;\n\tminBorrow: RawTransactionArgument<number | bigint>;\n\trateLimitCapacity: RawTransactionArgument<number | bigint>;\n\trateLimitRefillRatePerMs: RawTransactionArgument<number | bigint>;\n\trateLimitEnabled: RawTransactionArgument<boolean>;\n}\nexport interface NewMarginPoolConfigWithRateLimitOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewMarginPoolConfigWithRateLimitArguments\n\t\t| [\n\t\t\t\tsupplyCap: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxUtilizationRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tprotocolSpread: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrow: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitCapacity: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitRefillRatePerMs: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitEnabled: RawTransactionArgument<boolean>,\n\t\t ];\n}\nexport function newMarginPoolConfigWithRateLimit(options: NewMarginPoolConfigWithRateLimitOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64', 'u64', 'u64', 'bool'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = [\n\t\t'supplyCap',\n\t\t'maxUtilizationRate',\n\t\t'protocolSpread',\n\t\t'minBorrow',\n\t\t'rateLimitCapacity',\n\t\t'rateLimitRefillRatePerMs',\n\t\t'rateLimitEnabled',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_margin_pool_config_with_rate_limit',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewInterestConfigArguments {\n\tbaseRate: RawTransactionArgument<number | bigint>;\n\tbaseSlope: RawTransactionArgument<number | bigint>;\n\toptimalUtilization: RawTransactionArgument<number | bigint>;\n\texcessSlope: RawTransactionArgument<number | bigint>;\n}\nexport interface NewInterestConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewInterestConfigArguments\n\t\t| [\n\t\t\t\tbaseRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tbaseSlope: RawTransactionArgument<number | bigint>,\n\t\t\t\toptimalUtilization: RawTransactionArgument<number | bigint>,\n\t\t\t\texcessSlope: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function newInterestConfig(options: NewInterestConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['baseRate', 'baseSlope', 'optimalUtilization', 'excessSlope'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_interest_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;AAOA,MAAM,cAAc;AACpB,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAY,IAAI,KAAK;EACrB,sBAAsB,IAAI,KAAK;EAC/B,iBAAiB,IAAI,KAAK;EAC1B,YAAY,IAAI,KAAK;EACrB,qBAAqB,IAAI,KAAK;EAC9B,+BAA+B,IAAI,KAAK;EACxC,oBAAoB,IAAI,MAAM;EAC9B;CACD,CAAC;AACF,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,WAAW,IAAI,KAAK;EACpB,YAAY,IAAI,KAAK;EACrB,qBAAqB,IAAI,KAAK;EAC9B,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,oBAAoB;EACpB,iBAAiB;EACjB,cAAcA,OAAe,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC;EACrD;CACD,CAAC;AAWF,SAAgB,kBAAkB,SAAmC;CACpE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,MAAM,KAAK;CACnC,MAAM,iBAAiB,CAAC,oBAAoB,iBAAiB;AAC7D,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAmBJ,SAAgB,oBAAoB,SAAqC;CACxE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAM;CACnD,MAAM,iBAAiB;EAAC;EAAa;EAAsB;EAAkB;EAAY;AACzF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAyBJ,SAAgB,iCAAiC,SAAkD;CAClG,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;CAIzE,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAmBJ,SAAgB,kBAAkB,SAAmC;CACpE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAM;CACnD,MAAM,iBAAiB;EAAC;EAAY;EAAa;EAAsB;EAAc;AACrF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}
1
+ {"version":3,"file":"protocol_config.mjs","names":["vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/protocol_config.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::protocol_config';\nexport const MarginPoolConfig = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolConfig`,\n\tfields: {\n\t\tsupply_cap: bcs.u64(),\n\t\tmax_utilization_rate: bcs.u64(),\n\t\tprotocol_spread: bcs.u64(),\n\t\tmin_borrow: bcs.u64(),\n\t\trate_limit_capacity: bcs.u64(),\n\t\trate_limit_refill_rate_per_ms: bcs.u64(),\n\t\trate_limit_enabled: bcs.bool(),\n\t},\n});\nexport const InterestConfig = new MoveStruct({\n\tname: `${$moduleName}::InterestConfig`,\n\tfields: {\n\t\tbase_rate: bcs.u64(),\n\t\tbase_slope: bcs.u64(),\n\t\toptimal_utilization: bcs.u64(),\n\t\texcess_slope: bcs.u64(),\n\t},\n});\nexport const ProtocolConfig = new MoveStruct({\n\tname: `${$moduleName}::ProtocolConfig`,\n\tfields: {\n\t\tmargin_pool_config: MarginPoolConfig,\n\t\tinterest_config: InterestConfig,\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport interface NewProtocolConfigArguments {\n\tmarginPoolConfig: TransactionArgument;\n\tinterestConfig: TransactionArgument;\n}\nexport interface NewProtocolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewProtocolConfigArguments\n\t\t| [marginPoolConfig: TransactionArgument, interestConfig: TransactionArgument];\n}\nexport function newProtocolConfig(options: NewProtocolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null] satisfies (string | null)[];\n\tconst parameterNames = ['marginPoolConfig', 'interestConfig'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_protocol_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewMarginPoolConfigArguments {\n\tsupplyCap: RawTransactionArgument<number | bigint>;\n\tmaxUtilizationRate: RawTransactionArgument<number | bigint>;\n\tprotocolSpread: RawTransactionArgument<number | bigint>;\n\tminBorrow: RawTransactionArgument<number | bigint>;\n}\nexport interface NewMarginPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewMarginPoolConfigArguments\n\t\t| [\n\t\t\t\tsupplyCap: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxUtilizationRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tprotocolSpread: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrow: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function newMarginPoolConfig(options: NewMarginPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['supplyCap', 'maxUtilizationRate', 'protocolSpread', 'minBorrow'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_margin_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewMarginPoolConfigWithRateLimitArguments {\n\tsupplyCap: RawTransactionArgument<number | bigint>;\n\tmaxUtilizationRate: RawTransactionArgument<number | bigint>;\n\tprotocolSpread: RawTransactionArgument<number | bigint>;\n\tminBorrow: RawTransactionArgument<number | bigint>;\n\trateLimitCapacity: RawTransactionArgument<number | bigint>;\n\trateLimitRefillRatePerMs: RawTransactionArgument<number | bigint>;\n\trateLimitEnabled: RawTransactionArgument<boolean>;\n}\nexport interface NewMarginPoolConfigWithRateLimitOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewMarginPoolConfigWithRateLimitArguments\n\t\t| [\n\t\t\t\tsupplyCap: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxUtilizationRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tprotocolSpread: RawTransactionArgument<number | bigint>,\n\t\t\t\tminBorrow: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitCapacity: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitRefillRatePerMs: RawTransactionArgument<number | bigint>,\n\t\t\t\trateLimitEnabled: RawTransactionArgument<boolean>,\n\t\t ];\n}\nexport function newMarginPoolConfigWithRateLimit(options: NewMarginPoolConfigWithRateLimitOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64', 'u64', 'u64', 'bool'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = [\n\t\t'supplyCap',\n\t\t'maxUtilizationRate',\n\t\t'protocolSpread',\n\t\t'minBorrow',\n\t\t'rateLimitCapacity',\n\t\t'rateLimitRefillRatePerMs',\n\t\t'rateLimitEnabled',\n\t];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_margin_pool_config_with_rate_limit',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface NewInterestConfigArguments {\n\tbaseRate: RawTransactionArgument<number | bigint>;\n\tbaseSlope: RawTransactionArgument<number | bigint>;\n\toptimalUtilization: RawTransactionArgument<number | bigint>;\n\texcessSlope: RawTransactionArgument<number | bigint>;\n}\nexport interface NewInterestConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewInterestConfigArguments\n\t\t| [\n\t\t\t\tbaseRate: RawTransactionArgument<number | bigint>,\n\t\t\t\tbaseSlope: RawTransactionArgument<number | bigint>,\n\t\t\t\toptimalUtilization: RawTransactionArgument<number | bigint>,\n\t\t\t\texcessSlope: RawTransactionArgument<number | bigint>,\n\t\t ];\n}\nexport function newInterestConfig(options: NewInterestConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['u64', 'u64', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['baseRate', 'baseSlope', 'optimalUtilization', 'excessSlope'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'protocol_config',\n\t\t\tfunction: 'new_interest_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;AAOA,MAAM,cAAc;AACpB,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAY,IAAI,KAAK;EACrB,sBAAsB,IAAI,KAAK;EAC/B,iBAAiB,IAAI,KAAK;EAC1B,YAAY,IAAI,KAAK;EACrB,qBAAqB,IAAI,KAAK;EAC9B,+BAA+B,IAAI,KAAK;EACxC,oBAAoB,IAAI,MAAM;EAC9B;CACD,CAAC;AACF,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,WAAW,IAAI,KAAK;EACpB,YAAY,IAAI,KAAK;EACrB,qBAAqB,IAAI,KAAK;EAC9B,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,iBAAiB,IAAI,WAAW;CAC5C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,oBAAoB;EACpB,iBAAiB;EACjB,cAAcA,OAAe,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC;EACrD;CACD,CAAC;AAWF,SAAgB,kBAAkB,SAAmC;CACpE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,MAAM,KAAK;CACnC,MAAM,iBAAiB,CAAC,oBAAoB,iBAAiB;AAC7D,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAmBJ,SAAgB,oBAAoB,SAAqC;CACxE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAM;CACnD,MAAM,iBAAiB;EAAC;EAAa;EAAsB;EAAkB;EAAY;AACzF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAyBJ,SAAgB,iCAAiC,SAAkD;CAClG,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;EAAO;CAGzE,MAAM,iBAAiB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC;;AAmBJ,SAAgB,kBAAkB,SAAmC;CACpE,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAO;EAAO;EAAO;EAAM;CACnD,MAAM,iBAAiB;EAAC;EAAY;EAAa;EAAsB;EAAc;AACrF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}