@mysten/deepbook-v3 1.6.7 → 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 (104) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/_virtual/rolldown_runtime.mjs +18 -0
  3. package/dist/client.d.mts +9 -6
  4. package/dist/client.d.mts.map +1 -1
  5. package/dist/client.mjs +3 -2
  6. package/dist/client.mjs.map +1 -1
  7. package/dist/contracts/deepbook/account.d.mts +18 -18
  8. package/dist/contracts/deepbook/account.d.mts.map +1 -1
  9. package/dist/contracts/deepbook/balance_manager.mjs.map +1 -1
  10. package/dist/contracts/deepbook/balances.d.mts +4 -4
  11. package/dist/contracts/deepbook/balances.d.mts.map +1 -1
  12. package/dist/contracts/deepbook/deep_price.d.mts +3 -3
  13. package/dist/contracts/deepbook/deep_price.d.mts.map +1 -1
  14. package/dist/contracts/deepbook/order.d.mts +12 -12
  15. package/dist/contracts/deepbook/pool.mjs.map +1 -1
  16. package/dist/contracts/deepbook/registry.mjs.map +1 -1
  17. package/dist/contracts/deepbook_margin/margin_manager.mjs +1 -319
  18. package/dist/contracts/deepbook_margin/margin_manager.mjs.map +1 -1
  19. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs +386 -0
  20. package/dist/contracts/deepbook_margin/margin_manager_upgraded.mjs.map +1 -0
  21. package/dist/contracts/deepbook_margin/margin_pool.mjs.map +1 -1
  22. package/dist/contracts/deepbook_margin/margin_registry.mjs.map +1 -1
  23. package/dist/contracts/deepbook_margin/oracle.mjs +9 -0
  24. package/dist/contracts/deepbook_margin/oracle.mjs.map +1 -1
  25. package/dist/contracts/deepbook_margin/pool_proxy.mjs +1 -383
  26. package/dist/contracts/deepbook_margin/pool_proxy.mjs.map +1 -1
  27. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs +340 -0
  28. package/dist/contracts/deepbook_margin/pool_proxy_upgraded.mjs.map +1 -0
  29. package/dist/contracts/deepbook_margin/protocol_config.mjs.map +1 -1
  30. package/dist/contracts/deepbook_margin/tpsl.mjs.map +1 -1
  31. package/dist/contracts/margin_liquidation/liquidation_vault.mjs +33 -17
  32. package/dist/contracts/margin_liquidation/liquidation_vault.mjs.map +1 -1
  33. package/dist/index.d.mts +4 -3
  34. package/dist/index.mjs +2 -2
  35. package/dist/pyth/PriceServiceConnection.d.mts +18 -3
  36. package/dist/pyth/PriceServiceConnection.d.mts.map +1 -1
  37. package/dist/pyth/PriceServiceConnection.mjs +35 -4
  38. package/dist/pyth/PriceServiceConnection.mjs.map +1 -1
  39. package/dist/queries/priceFeedQueries.mjs +50 -18
  40. package/dist/queries/priceFeedQueries.mjs.map +1 -1
  41. package/dist/transactions/balanceManager.d.mts +12 -12
  42. package/dist/transactions/balanceManager.d.mts.map +1 -1
  43. package/dist/transactions/deepbook.d.mts +20 -20
  44. package/dist/transactions/deepbook.d.mts.map +1 -1
  45. package/dist/transactions/deepbookAdmin.d.mts +4 -4
  46. package/dist/transactions/marginAdmin.d.mts +7 -7
  47. package/dist/transactions/marginAdmin.d.mts.map +1 -1
  48. package/dist/transactions/marginAdmin.mjs +2 -2
  49. package/dist/transactions/marginAdmin.mjs.map +1 -1
  50. package/dist/transactions/marginLiquidations.d.mts.map +1 -1
  51. package/dist/transactions/marginLiquidations.mjs +19 -7
  52. package/dist/transactions/marginLiquidations.mjs.map +1 -1
  53. package/dist/transactions/marginMaintainer.d.mts +5 -5
  54. package/dist/transactions/marginManager.d.mts +32 -32
  55. package/dist/transactions/marginManager.d.mts.map +1 -1
  56. package/dist/transactions/marginManager.mjs +43 -34
  57. package/dist/transactions/marginManager.mjs.map +1 -1
  58. package/dist/transactions/marginPool.d.mts +18 -18
  59. package/dist/transactions/marginTPSL.d.mts +10 -10
  60. package/dist/transactions/marginTPSL.d.mts.map +1 -1
  61. package/dist/transactions/marginTPSL.mjs +19 -10
  62. package/dist/transactions/marginTPSL.mjs.map +1 -1
  63. package/dist/transactions/poolProxy.d.mts +8 -8
  64. package/dist/transactions/poolProxy.d.mts.map +1 -1
  65. package/dist/transactions/poolProxy.mjs +34 -27
  66. package/dist/transactions/poolProxy.mjs.map +1 -1
  67. package/dist/types/index.d.mts +16 -1
  68. package/dist/types/index.d.mts.map +1 -1
  69. package/dist/types/index.mjs.map +1 -1
  70. package/dist/utils/config.d.mts +30 -10
  71. package/dist/utils/config.d.mts.map +1 -1
  72. package/dist/utils/config.mjs +33 -4
  73. package/dist/utils/config.mjs.map +1 -1
  74. package/dist/utils/constants.d.mts +32 -1
  75. package/dist/utils/constants.d.mts.map +1 -1
  76. package/dist/utils/constants.mjs +55 -24
  77. package/dist/utils/constants.mjs.map +1 -1
  78. package/package.json +10 -10
  79. package/src/client.ts +9 -1
  80. package/src/contracts/deepbook/balance_manager.ts +1 -2
  81. package/src/contracts/deepbook/pool.ts +12 -24
  82. package/src/contracts/deepbook/registry.ts +1 -2
  83. package/src/contracts/deepbook_margin/margin_manager.ts +149 -28
  84. package/src/contracts/deepbook_margin/margin_manager_upgraded.ts +646 -0
  85. package/src/contracts/deepbook_margin/margin_pool.ts +2 -4
  86. package/src/contracts/deepbook_margin/margin_registry.ts +3 -6
  87. package/src/contracts/deepbook_margin/oracle.ts +59 -0
  88. package/src/contracts/deepbook_margin/pool_proxy.ts +597 -584
  89. package/src/contracts/deepbook_margin/pool_proxy_upgraded.ts +614 -0
  90. package/src/contracts/deepbook_margin/protocol_config.ts +1 -2
  91. package/src/contracts/deepbook_margin/tpsl.ts +1 -2
  92. package/src/contracts/margin_liquidation/liquidation_vault.ts +144 -4
  93. package/src/contracts/pyth/pyth.ts +2 -4
  94. package/src/index.ts +4 -0
  95. package/src/pyth/PriceServiceConnection.ts +69 -8
  96. package/src/queries/priceFeedQueries.ts +74 -24
  97. package/src/transactions/marginAdmin.ts +2 -4
  98. package/src/transactions/marginLiquidations.ts +20 -6
  99. package/src/transactions/marginManager.ts +43 -33
  100. package/src/transactions/marginTPSL.ts +19 -9
  101. package/src/transactions/poolProxy.ts +34 -30
  102. package/src/types/index.ts +17 -2
  103. package/src/utils/config.ts +69 -9
  104. package/src/utils/constants.ts +83 -26
@@ -1 +1 @@
1
- {"version":3,"file":"margin_pool.mjs","names":["balance.Balance","margin_state.State","protocol_config.ProtocolConfig","protocol_fees.ProtocolFees","position_manager.PositionManager","vec_set.VecSet","rate_limiter.RateLimiter","vec_map.VecMap","type_name.TypeName","protocol_config.InterestConfig","protocol_config.MarginPoolConfig"],"sources":["../../../src/contracts/deepbook_margin/margin_pool.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 balance from './deps/sui/balance.js';\nimport * as margin_state from './margin_state.js';\nimport * as protocol_config from './protocol_config.js';\nimport * as protocol_fees from './protocol_fees.js';\nimport * as position_manager from './position_manager.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as rate_limiter from './rate_limiter.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/margin::margin_pool';\nexport const MarginPool = new MoveStruct({\n\tname: `${$moduleName}::MarginPool<phantom Asset>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: balance.Balance,\n\t\tstate: margin_state.State,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\tprotocol_fees: protocol_fees.ProtocolFees,\n\t\tpositions: position_manager.PositionManager,\n\t\tallowed_deepbook_pools: vec_set.VecSet(bcs.Address),\n\t\trate_limiter: rate_limiter.RateLimiter,\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport const SupplierCap = new MoveStruct({\n\tname: `${$moduleName}::SupplierCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPoolCreated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolCreated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmaintainer_cap_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaintainerFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::MaintainerFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmargin_pool_cap_id: bcs.Address,\n\t\tmaintainer_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const ProtocolFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::ProtocolFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tprotocol_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tdeepbook_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tenabled: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const InterestParamsUpdated = new MoveStruct({\n\tname: `${$moduleName}::InterestParamsUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tinterest_config: protocol_config.InterestConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MarginPoolConfigUpdated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolConfigUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tmargin_pool_config: protocol_config.MarginPoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetSupplied = new MoveStruct({\n\tname: `${$moduleName}::AssetSupplied`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\tsupply_amount: bcs.u64(),\n\t\tsupply_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::AssetWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\twithdraw_amount: bcs.u64(),\n\t\twithdraw_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplierCapMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplierCapMinted`,\n\tfields: {\n\t\tsupplier_cap_id: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplyReferralMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplyReferralMinted`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tsupply_referral_id: bcs.Address,\n\t\towner: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport interface CreateMarginPoolArguments {\n\tregistry: RawTransactionArgument<string>;\n\tconfig: TransactionArgument;\n\tmaintainerCap: RawTransactionArgument<string>;\n}\nexport interface CreateMarginPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CreateMarginPoolArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tconfig: TransactionArgument,\n\t\t\t\tmaintainerCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates and registers a new margin pool. If a same asset pool already exists,\n * abort. Sends a `MarginPoolCap` to the pool creator. Returns the created margin\n * pool id.\n */\nexport function createMarginPool(options: CreateMarginPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'maintainerCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'create_margin_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface EnableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Allow a margin manager tied to a deepbook pool to borrow from the margin pool. */\nexport function enableDeepbookPoolForLoan(options: EnableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'enable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DisableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface DisableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Disable a margin manager tied to a deepbook pool from borrowing from the margin\n * pool.\n */\nexport function disableDeepbookPoolForLoan(options: DisableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\t| string\n\t\t| null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'disable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateInterestParamsArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tinterestConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateInterestParamsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateInterestParamsArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tinterestConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates interest params for the margin pool */\nexport function updateInterestParams(options: UpdateInterestParamsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'interestConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_interest_params',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateMarginPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateMarginPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateMarginPoolConfigArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates margin pool config */\nexport function updateMarginPoolConfig(options: UpdateMarginPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_margin_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminInjectCapitalArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface AdminInjectCapitalOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminInjectCapitalArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Inject capital into the margin pool without minting supplier shares. */\nexport function adminInjectCapital(options: AdminInjectCapitalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_inject_capital',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplierCapArguments {\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplierCapOptions {\n\tpackage?: string;\n\targuments: MintSupplierCapArguments | [registry: RawTransactionArgument<string>];\n}\n/**\n * Mint a new SupplierCap, which is used to supply and withdraw from margin pools.\n * One SupplierCap can be used to supply and withdraw from multiple margin pools.\n */\nexport function mintSupplierCap(options: MintSupplierCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supplier_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SupplyArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string | null>;\n}\nexport interface SupplyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SupplyArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Supply to the margin pool using a SupplierCap. Returns the new supply shares.\n * The `referral` parameter should be the ID of a SupplyReferral object if referral\n * tracking is desired.\n */\nexport function supply(options: SupplyOptions) {\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'0x1::option::Option<0x2::object::ID>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'coin', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface WithdrawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw from the margin pool using a SupplierCap. Returns the withdrawn coin. */\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplyReferralArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplyReferralOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintSupplyReferralArguments\n\t\t| [self: RawTransactionArgument<string>, registry: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Mint a supply referral. */\nexport function mintSupplyReferral(options: MintSupplyReferralOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supply_referral',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string>;\n}\nexport interface WithdrawReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the referral fees. */\nexport function withdrawReferralFees(options: WithdrawReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminWithdrawDefaultReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface AdminWithdrawDefaultReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminWithdrawDefaultReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the default referral fees (admin only). The default referral at 0x0\n * doesn't have a SupplyReferral object,\n */\nexport function adminWithdrawDefaultReferralFees(options: AdminWithdrawDefaultReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_withdraw_default_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawMaintainerFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawMaintainerFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawMaintainerFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the maintainer fees. The `margin_pool_cap` parameter is used to ensure\n * the correct margin pool is being withdrawn from.\n */\nexport function withdrawMaintainerFees(options: WithdrawMaintainerFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_maintainer_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawProtocolFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawProtocolFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the protocol fees. */\nexport function withdrawProtocolFees(options: WithdrawProtocolFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IdArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n\tpackage?: string;\n\targuments: IdArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the ID of the margin pool. */\nexport function id(options: IdOptions) {\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_pool',\n\t\t\tfunction: 'id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DeepbookPoolAllowedArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface DeepbookPoolAllowedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeepbookPoolAllowedArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return whether a margin manager for a given deepbook pool is allowed to borrow\n * from the margin pool.\n */\nexport function deepbookPoolAllowed(options: DeepbookPoolAllowedOptions) {\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_pool',\n\t\t\tfunction: 'deepbook_pool_allowed',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyOptions {\n\tpackage?: string;\n\targuments: TotalSupplyArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool. */\nexport function totalSupply(options: TotalSupplyOptions) {\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_pool',\n\t\t\tfunction: 'total_supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyWithInterestArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyWithInterestOptions {\n\tpackage?: string;\n\targuments: TotalSupplyWithInterestArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool including accrued interest. */\nexport function totalSupplyWithInterest(options: TotalSupplyWithInterestOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] 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_pool',\n\t\t\tfunction: 'total_supply_with_interest',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplySharesOptions {\n\tpackage?: string;\n\targuments: SupplySharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply shares of the margin pool. */\nexport function supplyShares(options: SupplySharesOptions) {\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_pool',\n\t\t\tfunction: 'supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyRatioOptions {\n\tpackage?: string;\n\targuments: SupplyRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current supply ratio of the margin pool. */\nexport function supplyRatio(options: SupplyRatioOptions) {\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_pool',\n\t\t\tfunction: 'supply_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalBorrowOptions {\n\tpackage?: string;\n\targuments: TotalBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow of the margin pool. */\nexport function totalBorrow(options: TotalBorrowOptions) {\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_pool',\n\t\t\tfunction: 'total_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowSharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowSharesOptions {\n\tpackage?: string;\n\targuments: BorrowSharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow shares of the margin pool. */\nexport function borrowShares(options: BorrowSharesOptions) {\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_pool',\n\t\t\tfunction: 'borrow_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowRatioOptions {\n\tpackage?: string;\n\targuments: BorrowRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current borrow ratio of the margin pool. */\nexport function borrowRatio(options: BorrowRatioOptions) {\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_pool',\n\t\t\tfunction: 'borrow_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LastUpdateTimestampArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface LastUpdateTimestampOptions {\n\tpackage?: string;\n\targuments: LastUpdateTimestampArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the last update timestamp of the margin pool. */\nexport function lastUpdateTimestamp(options: LastUpdateTimestampOptions) {\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_pool',\n\t\t\tfunction: 'last_update_timestamp',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyCapArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyCapOptions {\n\tpackage?: string;\n\targuments: SupplyCapArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the supply cap of the margin pool. */\nexport function supplyCap(options: SupplyCapOptions) {\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_pool',\n\t\t\tfunction: 'supply_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolFeesOptions {\n\tpackage?: string;\n\targuments: ProtocolFeesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol fees of the margin pool. */\nexport function protocolFees(options: ProtocolFeesOptions) {\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_pool',\n\t\t\tfunction: 'protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MaxUtilizationRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MaxUtilizationRateOptions {\n\tpackage?: string;\n\targuments: MaxUtilizationRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current max utilization rate of the margin pool. */\nexport function maxUtilizationRate(options: MaxUtilizationRateOptions) {\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_pool',\n\t\t\tfunction: 'max_utilization_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolSpreadArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolSpreadOptions {\n\tpackage?: string;\n\targuments: ProtocolSpreadArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol spread of the margin pool. */\nexport function protocolSpread(options: ProtocolSpreadOptions) {\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_pool',\n\t\t\tfunction: 'protocol_spread',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MinBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MinBorrowOptions {\n\tpackage?: string;\n\targuments: MinBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current min borrow of the margin pool. */\nexport function minBorrow(options: MinBorrowOptions) {\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_pool',\n\t\t\tfunction: 'min_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface InterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface InterestRateOptions {\n\tpackage?: string;\n\targuments: InterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return the current interest rate of the margin pool. Represented in 9 decimal\n * places.\n */\nexport function interestRate(options: InterestRateOptions) {\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_pool',\n\t\t\tfunction: 'interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TrueInterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TrueInterestRateOptions {\n\tpackage?: string;\n\targuments: TrueInterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function trueInterestRate(options: TrueInterestRateOptions) {\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_pool',\n\t\t\tfunction: 'true_interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplySharesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplySharesArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply shares of the margin pool. */\nexport function userSupplyShares(options: UserSupplySharesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface VaultBalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface VaultBalanceOptions {\n\tpackage?: string;\n\targuments: VaultBalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current vault balance of the margin pool. */\nexport function vaultBalance(options: VaultBalanceOptions) {\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_pool',\n\t\t\tfunction: 'vault_balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplyAmountArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplyAmountOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplyAmountArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply amount of the margin pool. */\nexport function userSupplyAmount(options: UserSupplyAmountOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_amount',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetAvailableWithdrawalArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface GetAvailableWithdrawalOptions {\n\tpackage?: string;\n\targuments: GetAvailableWithdrawalArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the maximum amount that can be withdrawn without hitting rate limits */\nexport function getAvailableWithdrawal(options: GetAvailableWithdrawalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] 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_pool',\n\t\t\tfunction: 'get_available_withdrawal',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IsRateLimitEnabledArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IsRateLimitEnabledOptions {\n\tpackage?: string;\n\targuments: IsRateLimitEnabledArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns whether rate limiting is enabled */\nexport function isRateLimitEnabled(options: IsRateLimitEnabledOptions) {\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_pool',\n\t\t\tfunction: 'is_rate_limit_enabled',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitCapacityArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitCapacityOptions {\n\tpackage?: string;\n\targuments: RateLimitCapacityArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit capacity (max bucket size) */\nexport function rateLimitCapacity(options: RateLimitCapacityOptions) {\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_pool',\n\t\t\tfunction: 'rate_limit_capacity',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitRefillRatePerMsArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitRefillRatePerMsOptions {\n\tpackage?: string;\n\targuments: RateLimitRefillRatePerMsArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit refill rate per millisecond */\nexport function rateLimitRefillRatePerMs(options: RateLimitRefillRatePerMsOptions) {\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_pool',\n\t\t\tfunction: 'rate_limit_refill_rate_per_ms',\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":"margin_pool.mjs","names":["balance.Balance","margin_state.State","protocol_config.ProtocolConfig","protocol_fees.ProtocolFees","position_manager.PositionManager","vec_set.VecSet","rate_limiter.RateLimiter","vec_map.VecMap","type_name.TypeName","protocol_config.InterestConfig","protocol_config.MarginPoolConfig"],"sources":["../../../src/contracts/deepbook_margin/margin_pool.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 balance from './deps/sui/balance.js';\nimport * as margin_state from './margin_state.js';\nimport * as protocol_config from './protocol_config.js';\nimport * as protocol_fees from './protocol_fees.js';\nimport * as position_manager from './position_manager.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as rate_limiter from './rate_limiter.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nimport * as type_name from './deps/std/type_name.js';\nconst $moduleName = '@deepbook/margin::margin_pool';\nexport const MarginPool = new MoveStruct({\n\tname: `${$moduleName}::MarginPool<phantom Asset>`,\n\tfields: {\n\t\tid: bcs.Address,\n\t\tvault: balance.Balance,\n\t\tstate: margin_state.State,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\tprotocol_fees: protocol_fees.ProtocolFees,\n\t\tpositions: position_manager.PositionManager,\n\t\tallowed_deepbook_pools: vec_set.VecSet(bcs.Address),\n\t\trate_limiter: rate_limiter.RateLimiter,\n\t\textra_fields: vec_map.VecMap(bcs.string(), bcs.u64()),\n\t},\n});\nexport const SupplierCap = new MoveStruct({\n\tname: `${$moduleName}::SupplierCap`,\n\tfields: {\n\t\tid: bcs.Address,\n\t},\n});\nexport const MarginPoolCreated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolCreated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmaintainer_cap_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tconfig: protocol_config.ProtocolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MaintainerFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::MaintainerFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tmargin_pool_cap_id: bcs.Address,\n\t\tmaintainer_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const ProtocolFeesWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::ProtocolFeesWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tprotocol_fees: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const DeepbookPoolUpdated = new MoveStruct({\n\tname: `${$moduleName}::DeepbookPoolUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tdeepbook_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tenabled: bcs.bool(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const InterestParamsUpdated = new MoveStruct({\n\tname: `${$moduleName}::InterestParamsUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tinterest_config: protocol_config.InterestConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const MarginPoolConfigUpdated = new MoveStruct({\n\tname: `${$moduleName}::MarginPoolConfigUpdated`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tpool_cap_id: bcs.Address,\n\t\tmargin_pool_config: protocol_config.MarginPoolConfig,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetSupplied = new MoveStruct({\n\tname: `${$moduleName}::AssetSupplied`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\tsupply_amount: bcs.u64(),\n\t\tsupply_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const AssetWithdrawn = new MoveStruct({\n\tname: `${$moduleName}::AssetWithdrawn`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tasset_type: type_name.TypeName,\n\t\tsupplier_cap_id: bcs.Address,\n\t\twithdraw_amount: bcs.u64(),\n\t\twithdraw_shares: bcs.u64(),\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplierCapMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplierCapMinted`,\n\tfields: {\n\t\tsupplier_cap_id: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport const SupplyReferralMinted = new MoveStruct({\n\tname: `${$moduleName}::SupplyReferralMinted`,\n\tfields: {\n\t\tmargin_pool_id: bcs.Address,\n\t\tsupply_referral_id: bcs.Address,\n\t\towner: bcs.Address,\n\t\ttimestamp: bcs.u64(),\n\t},\n});\nexport interface CreateMarginPoolArguments {\n\tregistry: RawTransactionArgument<string>;\n\tconfig: TransactionArgument;\n\tmaintainerCap: RawTransactionArgument<string>;\n}\nexport interface CreateMarginPoolOptions {\n\tpackage?: string;\n\targuments:\n\t\t| CreateMarginPoolArguments\n\t\t| [\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tconfig: TransactionArgument,\n\t\t\t\tmaintainerCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates and registers a new margin pool. If a same asset pool already exists,\n * abort. Sends a `MarginPoolCap` to the pool creator. Returns the created margin\n * pool id.\n */\nexport function createMarginPool(options: CreateMarginPoolOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry', 'config', 'maintainerCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'create_margin_pool',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface EnableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface EnableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| EnableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Allow a margin manager tied to a deepbook pool to borrow from the margin pool. */\nexport function enableDeepbookPoolForLoan(options: EnableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'enable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DisableDeepbookPoolForLoanArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface DisableDeepbookPoolForLoanOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DisableDeepbookPoolForLoanArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tdeepbookPoolId: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Disable a margin manager tied to a deepbook pool from borrowing from the margin\n * pool.\n */\nexport function disableDeepbookPoolForLoan(options: DisableDeepbookPoolForLoanOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::object::ID', null, '0x2::clock::Clock'] satisfies (\n\t\tstring | null\n\t)[];\n\tconst parameterNames = ['self', 'registry', 'deepbookPoolId', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'disable_deepbook_pool_for_loan',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateInterestParamsArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tinterestConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateInterestParamsOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateInterestParamsArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tinterestConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates interest params for the margin pool */\nexport function updateInterestParams(options: UpdateInterestParamsOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'interestConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_interest_params',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UpdateMarginPoolConfigArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolConfig: TransactionArgument;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface UpdateMarginPoolConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UpdateMarginPoolConfigArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolConfig: TransactionArgument,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Updates margin pool config */\nexport function updateMarginPoolConfig(options: UpdateMarginPoolConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolConfig', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'update_margin_pool_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminInjectCapitalArguments {\n\tself: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n}\nexport interface AdminInjectCapitalOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminInjectCapitalArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Inject capital into the margin pool without minting supplier shares. */\nexport function adminInjectCapital(options: AdminInjectCapitalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'AdminCap', 'coin'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_inject_capital',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplierCapArguments {\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplierCapOptions {\n\tpackage?: string;\n\targuments: MintSupplierCapArguments | [registry: RawTransactionArgument<string>];\n}\n/**\n * Mint a new SupplierCap, which is used to supply and withdraw from margin pools.\n * One SupplierCap can be used to supply and withdraw from multiple margin pools.\n */\nexport function mintSupplierCap(options: MintSupplierCapOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supplier_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\nexport interface SupplyArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tcoin: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string | null>;\n}\nexport interface SupplyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| SupplyArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tcoin: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Supply to the margin pool using a SupplierCap. Returns the new supply shares.\n * The `referral` parameter should be the ID of a SupplyReferral object if referral\n * tracking is desired.\n */\nexport function supply(options: SupplyOptions) {\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'0x1::option::Option<0x2::object::ID>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'coin', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tsupplierCap: RawTransactionArgument<string>;\n\tamount: RawTransactionArgument<number | bigint | null>;\n}\nexport interface WithdrawOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tsupplierCap: RawTransactionArgument<string>,\n\t\t\t\tamount: RawTransactionArgument<number | bigint | null>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw from the margin pool using a SupplierCap. Returns the withdrawn coin. */\nexport function withdraw(options: WithdrawOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [\n\t\tnull,\n\t\tnull,\n\t\tnull,\n\t\t'0x1::option::Option<u64>',\n\t\t'0x2::clock::Clock',\n\t] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'supplierCap', 'amount'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MintSupplyReferralArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n}\nexport interface MintSupplyReferralOptions {\n\tpackage?: string;\n\targuments:\n\t\t| MintSupplyReferralArguments\n\t\t| [self: RawTransactionArgument<string>, registry: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Mint a supply referral. */\nexport function mintSupplyReferral(options: MintSupplyReferralOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'mint_supply_referral',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\treferral: RawTransactionArgument<string>;\n}\nexport interface WithdrawReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\treferral: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the referral fees. */\nexport function withdrawReferralFees(options: WithdrawReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'referral'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface AdminWithdrawDefaultReferralFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface AdminWithdrawDefaultReferralFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| AdminWithdrawDefaultReferralFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the default referral fees (admin only). The default referral at 0x0\n * doesn't have a SupplyReferral object,\n */\nexport function adminWithdrawDefaultReferralFees(options: AdminWithdrawDefaultReferralFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'admin_withdraw_default_referral_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawMaintainerFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tmarginPoolCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawMaintainerFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawMaintainerFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tmarginPoolCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Withdraw the maintainer fees. The `margin_pool_cap` parameter is used to ensure\n * the correct margin pool is being withdrawn from.\n */\nexport function withdrawMaintainerFees(options: WithdrawMaintainerFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'marginPoolCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_maintainer_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface WithdrawProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n\tregistry: RawTransactionArgument<string>;\n\tAdminCap: RawTransactionArgument<string>;\n}\nexport interface WithdrawProtocolFeesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| WithdrawProtocolFeesArguments\n\t\t| [\n\t\t\t\tself: RawTransactionArgument<string>,\n\t\t\t\tregistry: RawTransactionArgument<string>,\n\t\t\t\tAdminCap: RawTransactionArgument<string>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/** Withdraw the protocol fees. */\nexport function withdrawProtocolFees(options: WithdrawProtocolFeesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, null, null, '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'registry', 'AdminCap'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'withdraw_protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IdArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n\tpackage?: string;\n\targuments: IdArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the ID of the margin pool. */\nexport function id(options: IdOptions) {\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_pool',\n\t\t\tfunction: 'id',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface DeepbookPoolAllowedArguments {\n\tself: RawTransactionArgument<string>;\n\tdeepbookPoolId: RawTransactionArgument<string>;\n}\nexport interface DeepbookPoolAllowedOptions {\n\tpackage?: string;\n\targuments:\n\t\t| DeepbookPoolAllowedArguments\n\t\t| [self: RawTransactionArgument<string>, deepbookPoolId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return whether a margin manager for a given deepbook pool is allowed to borrow\n * from the margin pool.\n */\nexport function deepbookPoolAllowed(options: DeepbookPoolAllowedOptions) {\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_pool',\n\t\t\tfunction: 'deepbook_pool_allowed',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyOptions {\n\tpackage?: string;\n\targuments: TotalSupplyArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool. */\nexport function totalSupply(options: TotalSupplyOptions) {\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_pool',\n\t\t\tfunction: 'total_supply',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalSupplyWithInterestArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyWithInterestOptions {\n\tpackage?: string;\n\targuments: TotalSupplyWithInterestArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply of the margin pool including accrued interest. */\nexport function totalSupplyWithInterest(options: TotalSupplyWithInterestOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] 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_pool',\n\t\t\tfunction: 'total_supply_with_interest',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplySharesOptions {\n\tpackage?: string;\n\targuments: SupplySharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total supply shares of the margin pool. */\nexport function supplyShares(options: SupplySharesOptions) {\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_pool',\n\t\t\tfunction: 'supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyRatioOptions {\n\tpackage?: string;\n\targuments: SupplyRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current supply ratio of the margin pool. */\nexport function supplyRatio(options: SupplyRatioOptions) {\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_pool',\n\t\t\tfunction: 'supply_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TotalBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TotalBorrowOptions {\n\tpackage?: string;\n\targuments: TotalBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow of the margin pool. */\nexport function totalBorrow(options: TotalBorrowOptions) {\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_pool',\n\t\t\tfunction: 'total_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowSharesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowSharesOptions {\n\tpackage?: string;\n\targuments: BorrowSharesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current total borrow shares of the margin pool. */\nexport function borrowShares(options: BorrowSharesOptions) {\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_pool',\n\t\t\tfunction: 'borrow_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface BorrowRatioArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface BorrowRatioOptions {\n\tpackage?: string;\n\targuments: BorrowRatioArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current borrow ratio of the margin pool. */\nexport function borrowRatio(options: BorrowRatioOptions) {\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_pool',\n\t\t\tfunction: 'borrow_ratio',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface LastUpdateTimestampArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface LastUpdateTimestampOptions {\n\tpackage?: string;\n\targuments: LastUpdateTimestampArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the last update timestamp of the margin pool. */\nexport function lastUpdateTimestamp(options: LastUpdateTimestampOptions) {\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_pool',\n\t\t\tfunction: 'last_update_timestamp',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface SupplyCapArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface SupplyCapOptions {\n\tpackage?: string;\n\targuments: SupplyCapArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the supply cap of the margin pool. */\nexport function supplyCap(options: SupplyCapOptions) {\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_pool',\n\t\t\tfunction: 'supply_cap',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolFeesArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolFeesOptions {\n\tpackage?: string;\n\targuments: ProtocolFeesArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol fees of the margin pool. */\nexport function protocolFees(options: ProtocolFeesOptions) {\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_pool',\n\t\t\tfunction: 'protocol_fees',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MaxUtilizationRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MaxUtilizationRateOptions {\n\tpackage?: string;\n\targuments: MaxUtilizationRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current max utilization rate of the margin pool. */\nexport function maxUtilizationRate(options: MaxUtilizationRateOptions) {\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_pool',\n\t\t\tfunction: 'max_utilization_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface ProtocolSpreadArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface ProtocolSpreadOptions {\n\tpackage?: string;\n\targuments: ProtocolSpreadArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current protocol spread of the margin pool. */\nexport function protocolSpread(options: ProtocolSpreadOptions) {\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_pool',\n\t\t\tfunction: 'protocol_spread',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface MinBorrowArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface MinBorrowOptions {\n\tpackage?: string;\n\targuments: MinBorrowArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current min borrow of the margin pool. */\nexport function minBorrow(options: MinBorrowOptions) {\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_pool',\n\t\t\tfunction: 'min_borrow',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface InterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface InterestRateOptions {\n\tpackage?: string;\n\targuments: InterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/**\n * Return the current interest rate of the margin pool. Represented in 9 decimal\n * places.\n */\nexport function interestRate(options: InterestRateOptions) {\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_pool',\n\t\t\tfunction: 'interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface TrueInterestRateArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface TrueInterestRateOptions {\n\tpackage?: string;\n\targuments: TrueInterestRateArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\nexport function trueInterestRate(options: TrueInterestRateOptions) {\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_pool',\n\t\t\tfunction: 'true_interest_rate',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplySharesArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplySharesOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplySharesArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply shares of the margin pool. */\nexport function userSupplyShares(options: UserSupplySharesOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_shares',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface VaultBalanceArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface VaultBalanceOptions {\n\tpackage?: string;\n\targuments: VaultBalanceArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current vault balance of the margin pool. */\nexport function vaultBalance(options: VaultBalanceOptions) {\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_pool',\n\t\t\tfunction: 'vault_balance',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface UserSupplyAmountArguments {\n\tself: RawTransactionArgument<string>;\n\tsupplierCapId: RawTransactionArgument<string>;\n}\nexport interface UserSupplyAmountOptions {\n\tpackage?: string;\n\targuments:\n\t\t| UserSupplyAmountArguments\n\t\t| [self: RawTransactionArgument<string>, supplierCapId: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Return the current user supply amount of the margin pool. */\nexport function userSupplyAmount(options: UserSupplyAmountOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::object::ID', '0x2::clock::Clock'] satisfies (string | null)[];\n\tconst parameterNames = ['self', 'supplierCapId'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'margin_pool',\n\t\t\tfunction: 'user_supply_amount',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface GetAvailableWithdrawalArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface GetAvailableWithdrawalOptions {\n\tpackage?: string;\n\targuments: GetAvailableWithdrawalArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the maximum amount that can be withdrawn without hitting rate limits */\nexport function getAvailableWithdrawal(options: GetAvailableWithdrawalOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, '0x2::clock::Clock'] 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_pool',\n\t\t\tfunction: 'get_available_withdrawal',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface IsRateLimitEnabledArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface IsRateLimitEnabledOptions {\n\tpackage?: string;\n\targuments: IsRateLimitEnabledArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns whether rate limiting is enabled */\nexport function isRateLimitEnabled(options: IsRateLimitEnabledOptions) {\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_pool',\n\t\t\tfunction: 'is_rate_limit_enabled',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitCapacityArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitCapacityOptions {\n\tpackage?: string;\n\targuments: RateLimitCapacityArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit capacity (max bucket size) */\nexport function rateLimitCapacity(options: RateLimitCapacityOptions) {\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_pool',\n\t\t\tfunction: 'rate_limit_capacity',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface RateLimitRefillRatePerMsArguments {\n\tself: RawTransactionArgument<string>;\n}\nexport interface RateLimitRefillRatePerMsOptions {\n\tpackage?: string;\n\targuments: RateLimitRefillRatePerMsArguments | [self: RawTransactionArgument<string>];\n\ttypeArguments: [string];\n}\n/** Returns the rate limit refill rate per millisecond */\nexport function rateLimitRefillRatePerMs(options: RateLimitRefillRatePerMsOptions) {\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_pool',\n\t\t\tfunction: 'rate_limit_refill_rate_per_ms',\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":"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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"}
@@ -35,6 +35,15 @@ const ConversionConfig = new MoveStruct({
35
35
  pyth_decimals: bcs.u8()
36
36
  }
37
37
  });
38
+ const PythReading = new MoveStruct({
39
+ name: `${$moduleName}::PythReading`,
40
+ fields: {
41
+ price: bcs.u64(),
42
+ decimals: bcs.u8(),
43
+ conf: bcs.option(bcs.u64()),
44
+ coin_type: TypeName
45
+ }
46
+ });
38
47
  /**
39
48
  * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors
40
49
  * in decimals.
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.mjs","names":["type_name.TypeName","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/oracle.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Oracle module for margin trading. */\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 type_name from './deps/std/type_name.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::oracle';\nexport const CoinTypeData = new MoveStruct({\n\tname: `${$moduleName}::CoinTypeData`,\n\tfields: {\n\t\tdecimals: bcs.u8(),\n\t\tprice_feed_id: bcs.vector(bcs.u8()),\n\t\ttype_name: type_name.TypeName,\n\t\tmax_conf_bps: bcs.u64(),\n\t\tmax_ewma_difference_bps: bcs.u64(),\n\t},\n});\nexport const PythConfig = new MoveStruct({\n\tname: `${$moduleName}::PythConfig`,\n\tfields: {\n\t\tcurrencies: vec_map.VecMap(type_name.TypeName, CoinTypeData),\n\t\tmax_age_secs: bcs.u64(),\n\t},\n});\nexport const ConversionConfig = new MoveStruct({\n\tname: `${$moduleName}::ConversionConfig`,\n\tfields: {\n\t\ttarget_decimals: bcs.u8(),\n\t\tbase_decimals: bcs.u8(),\n\t\tpyth_price: bcs.u64(),\n\t\tpyth_decimals: bcs.u8(),\n\t},\n});\nexport interface NewCoinTypeDataFromCurrencyArguments {\n\tcurrency: RawTransactionArgument<string>;\n\tpriceFeedId: RawTransactionArgument<Array<number>>;\n\tmaxConfBps: RawTransactionArgument<number | bigint>;\n\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataFromCurrencyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataFromCurrencyArguments\n\t\t| [\n\t\t\t\tcurrency: RawTransactionArgument<string>,\n\t\t\t\tpriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tmaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors\n * in decimals.\n */\nexport function newCoinTypeDataFromCurrency(options: NewCoinTypeDataFromCurrencyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['currency', 'priceFeedId', 'maxConfBps', 'maxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data_from_currency',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPythConfigArguments {\n\tsetups: TransactionArgument;\n\tmaxAgeSecs: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPythConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPythConfigArguments\n\t\t| [setups: TransactionArgument, maxAgeSecs: RawTransactionArgument<number | bigint>];\n}\n/**\n * Creates a new PythConfig struct. Can be attached by the Admin to MarginRegistry\n * to allow oracle to work.\n */\nexport function newPythConfig(options: NewPythConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['vector<null>', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['setups', 'maxAgeSecs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_pyth_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAc;AACpB,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,IAAI;EAClB,eAAe,IAAI,OAAO,IAAI,IAAI,CAAC;EACnC,WAAWA;EACX,cAAc,IAAI,KAAK;EACvB,yBAAyB,IAAI,KAAK;EAClC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAYC,OAAeD,UAAoB,aAAa;EAC5D,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,iBAAiB,IAAI,IAAI;EACzB,eAAe,IAAI,IAAI;EACvB,YAAY,IAAI,KAAK;EACrB,eAAe,IAAI,IAAI;EACvB;CACD,CAAC;;;;;AAuBF,SAAgB,4BAA4B,SAA6C;CACxF,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAc;EAAO;EAAM;CACzD,MAAM,iBAAiB;EAAC;EAAY;EAAe;EAAc;EAAuB;AACxF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;;;;AAgBJ,SAAgB,cAAc,SAA+B;CAC5D,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,gBAAgB,MAAM;CAC9C,MAAM,iBAAiB,CAAC,UAAU,aAAa;AAC/C,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}
1
+ {"version":3,"file":"oracle.mjs","names":["type_name.TypeName","vec_map.VecMap"],"sources":["../../../src/contracts/deepbook_margin/oracle.ts"],"sourcesContent":["/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n/** Oracle module for margin trading. */\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 type_name from './deps/std/type_name.js';\nimport * as vec_map from './deps/sui/vec_map.js';\nconst $moduleName = '@deepbook/margin::oracle';\nexport const CoinTypeData = new MoveStruct({\n\tname: `${$moduleName}::CoinTypeData`,\n\tfields: {\n\t\tdecimals: bcs.u8(),\n\t\tprice_feed_id: bcs.vector(bcs.u8()),\n\t\ttype_name: type_name.TypeName,\n\t\tmax_conf_bps: bcs.u64(),\n\t\tmax_ewma_difference_bps: bcs.u64(),\n\t},\n});\nexport const PythConfig = new MoveStruct({\n\tname: `${$moduleName}::PythConfig`,\n\tfields: {\n\t\tcurrencies: vec_map.VecMap(type_name.TypeName, CoinTypeData),\n\t\tmax_age_secs: bcs.u64(),\n\t},\n});\nexport const ConversionConfig = new MoveStruct({\n\tname: `${$moduleName}::ConversionConfig`,\n\tfields: {\n\t\ttarget_decimals: bcs.u8(),\n\t\tbase_decimals: bcs.u8(),\n\t\tpyth_price: bcs.u64(),\n\t\tpyth_decimals: bcs.u8(),\n\t},\n});\nexport const PythReading = new MoveStruct({\n\tname: `${$moduleName}::PythReading`,\n\tfields: {\n\t\tprice: bcs.u64(),\n\t\tdecimals: bcs.u8(),\n\t\t/**\n\t\t * `some` only for validated reads. The confidence bound is a _pricing_ guard, not\n\t\t * a read guard: it is asserted in `price_config`, so a reading taken purely for\n\t\t * telemetry (the deposit event) is never rejected for a wide interval. Unvalidated\n\t\t * reads carry `none` and skip the check, as they always have.\n\t\t */\n\t\tconf: bcs.option(bcs.u64()),\n\t\t/**\n\t\t * The asset this price is _for_, stamped by the reader from the same config row\n\t\t * the feed id was checked against. `price_config` asserts it matches the type it\n\t\t * is being consumed as, so a reading routed to the wrong leg aborts instead of\n\t\t * silently mis-pricing. Without it, transposing the base and quote readings at a\n\t\t * call site is invisible: both are well-formed, both pass every other guard.\n\t\t */\n\t\tcoin_type: type_name.TypeName,\n\t},\n});\nexport interface NewCoinTypeDataArguments {\n\tCoinMetadata: RawTransactionArgument<string>;\n\tPriceFeedId: RawTransactionArgument<Array<number>>;\n\tMaxConfBps: RawTransactionArgument<number | bigint>;\n\tMaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataArguments\n\t\t| [\n\t\t\t\tCoinMetadata: RawTransactionArgument<string>,\n\t\t\t\tPriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tMaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tMaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Superseded by `new_coin_type_data_from_currency`, which reads decimals from\n * `Currency` instead of trusting the caller-supplied `CoinMetadata`. Retained as\n * an aborting stub because it is public in the deployed package: a `compatible`\n * upgrade cannot drop a public function.\n */\nexport function newCoinTypeData(options: NewCoinTypeDataOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['CoinMetadata', 'PriceFeedId', 'MaxConfBps', 'MaxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewCoinTypeDataFromCurrencyArguments {\n\tcurrency: RawTransactionArgument<string>;\n\tpriceFeedId: RawTransactionArgument<Array<number>>;\n\tmaxConfBps: RawTransactionArgument<number | bigint>;\n\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>;\n}\nexport interface NewCoinTypeDataFromCurrencyOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewCoinTypeDataFromCurrencyArguments\n\t\t| [\n\t\t\t\tcurrency: RawTransactionArgument<string>,\n\t\t\t\tpriceFeedId: RawTransactionArgument<Array<number>>,\n\t\t\t\tmaxConfBps: RawTransactionArgument<number | bigint>,\n\t\t\t\tmaxEwmaDifferenceBps: RawTransactionArgument<number | bigint>,\n\t\t ];\n\ttypeArguments: [string];\n}\n/**\n * Creates a new CoinTypeData struct of type T. Uses Currency to avoid any errors\n * in decimals.\n */\nexport function newCoinTypeDataFromCurrency(options: NewCoinTypeDataFromCurrencyOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = [null, 'vector<u8>', 'u64', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['currency', 'priceFeedId', 'maxConfBps', 'maxEwmaDifferenceBps'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_coin_type_data_from_currency',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t\ttypeArguments: options.typeArguments,\n\t\t});\n}\nexport interface NewPythConfigArguments {\n\tsetups: TransactionArgument;\n\tmaxAgeSecs: RawTransactionArgument<number | bigint>;\n}\nexport interface NewPythConfigOptions {\n\tpackage?: string;\n\targuments:\n\t\t| NewPythConfigArguments\n\t\t| [setups: TransactionArgument, maxAgeSecs: RawTransactionArgument<number | bigint>];\n}\n/**\n * Creates a new PythConfig struct. Can be attached by the Admin to MarginRegistry\n * to allow oracle to work.\n */\nexport function newPythConfig(options: NewPythConfigOptions) {\n\tconst packageAddress = options.package ?? '@deepbook/margin';\n\tconst argumentsTypes = ['vector<null>', 'u64'] satisfies (string | null)[];\n\tconst parameterNames = ['setups', 'maxAgeSecs'];\n\treturn (tx: Transaction) =>\n\t\ttx.moveCall({\n\t\t\tpackage: packageAddress,\n\t\t\tmodule: 'oracle',\n\t\t\tfunction: 'new_pyth_config',\n\t\t\targuments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n\t\t});\n}\n"],"mappings":";;;;;;;;;;AAWA,MAAM,cAAc;AACpB,MAAa,eAAe,IAAI,WAAW;CAC1C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,UAAU,IAAI,IAAI;EAClB,eAAe,IAAI,OAAO,IAAI,IAAI,CAAC;EACnC,WAAWA;EACX,cAAc,IAAI,KAAK;EACvB,yBAAyB,IAAI,KAAK;EAClC;CACD,CAAC;AACF,MAAa,aAAa,IAAI,WAAW;CACxC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,YAAYC,OAAeD,UAAoB,aAAa;EAC5D,cAAc,IAAI,KAAK;EACvB;CACD,CAAC;AACF,MAAa,mBAAmB,IAAI,WAAW;CAC9C,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,iBAAiB,IAAI,IAAI;EACzB,eAAe,IAAI,IAAI;EACvB,YAAY,IAAI,KAAK;EACrB,eAAe,IAAI,IAAI;EACvB;CACD,CAAC;AACF,MAAa,cAAc,IAAI,WAAW;CACzC,MAAM,GAAG,YAAY;CACrB,QAAQ;EACP,OAAO,IAAI,KAAK;EAChB,UAAU,IAAI,IAAI;EAOlB,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC;EAQ3B,WAAWA;EACX;CACD,CAAC;;;;;AA4DF,SAAgB,4BAA4B,SAA6C;CACxF,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB;EAAC;EAAM;EAAc;EAAO;EAAM;CACzD,MAAM,iBAAiB;EAAC;EAAY;EAAe;EAAc;EAAuB;AACxF,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,eAAe,QAAQ;EACvB,CAAC;;;;;;AAgBJ,SAAgB,cAAc,SAA+B;CAC5D,MAAM,iBAAiB,QAAQ,WAAW;CAC1C,MAAM,iBAAiB,CAAC,gBAAgB,MAAM;CAC9C,MAAM,iBAAiB,CAAC,UAAU,aAAa;AAC/C,SAAQ,OACP,GAAG,SAAS;EACX,SAAS;EACT,QAAQ;EACR,UAAU;EACV,WAAW,uBAAuB,QAAQ,WAAW,gBAAgB,eAAe;EACpF,CAAC"}