stable-layer-sdk 2.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -24
- package/dist/cjs/index.cjs +669 -367
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/esm/index.mjs +654 -369
- package/dist/esm/index.mjs.map +4 -4
- package/dist/types/index.d.ts +16 -2
- package/dist/types/interface.d.ts +29 -1
- package/dist/types/libs/constants.d.ts +31 -12
- package/dist/types/libs/constants.mainnet.d.ts +20 -0
- package/dist/types/libs/constants.testnet.d.ts +22 -0
- package/package.json +15 -8
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts", "../../src/
|
|
4
|
-
"sourcesContent": ["import {\n coinWithBalance,\n Transaction,\n TransactionArgument,\n TransactionResult,\n} from \"@mysten/sui/transactions\";\n\nimport * as constants from \"./libs/constants.js\";\nimport { getFullnodeUrl, SuiClient } from \"@mysten/sui/client\";\nimport {\n StableLayerConfig,\n MintTransactionParams,\n BurnTransactionParams,\n ClaimTransactionParams,\n CoinResult,\n} from \"./interface.js\";\nimport { release } from \"./generated/yield_usdb/yield_usdb.js\";\nimport {\n fulfillBurn,\n mint,\n requestBurn,\n} from \"./generated/stable_layer/stable_layer.js\";\nimport {\n claim,\n pay,\n receive,\n} from \"./generated/stable_vault_farm/stable_vault_farm.js\";\nimport { STABLE_REGISTRY } from \"./libs/constants.js\";\nimport { BucketClient } from \"@bucket-protocol/sdk\";\n\nexport class StableLayerClient {\n private bucketClient: BucketClient;\n private suiClient: SuiClient;\n private sender: string;\n\n constructor(config: StableLayerConfig) {\n this.bucketClient = new BucketClient({ network: config.network });\n this.suiClient = new SuiClient({ url: getFullnodeUrl(config.network) });\n this.sender = config.sender;\n }\n\n async buildMintTx({\n tx,\n stableCoinType,\n usdcCoin,\n sender,\n autoTransfer = true,\n }: MintTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n\n const [stableCoin, loan] = mint({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n uCoin: usdcCoin,\n },\n typeArguments: [\n stableCoinType,\n constants.USDC_TYPE,\n constants.STABLE_VAULT_FARM_ENTITY_TYPE,\n ],\n })(tx);\n\n const [uPrice] = await this.bucketClient.aggregatePrices(tx as any, {\n coinTypes: [constants.USDC_TYPE],\n });\n\n const depositResponse = receive({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n arguments: {\n farm: constants.STABLE_VAULT_FARM,\n loan,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: this.bucketClient.treasury(tx as any),\n psmPool: this.getBucketPSMPool(tx),\n savingPool: this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n uPrice,\n },\n })(tx);\n\n this.checkResponse({ tx, response: depositResponse, type: \"deposit\" });\n\n if (autoTransfer) {\n tx.transferObjects([stableCoin], sender ?? this.sender);\n return;\n } else {\n return stableCoin;\n }\n }\n\n async buildBurnTx({\n tx,\n stableCoinType,\n amount,\n all,\n sender,\n autoTransfer = true,\n }: BurnTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n\n if (!all && !amount) {\n throw new Error(\"Amount or all must be provided\");\n }\n const btcUsdCoin = coinWithBalance({\n balance: all\n ? BigInt(\n (\n await this.suiClient.getBalance({\n owner: sender ?? this.sender,\n coinType: stableCoinType,\n })\n ).totalBalance,\n )\n : amount!,\n type: stableCoinType,\n });\n this.releaseRewards(tx);\n\n const burnRequest = requestBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n stableCoin: btcUsdCoin,\n },\n typeArguments: [stableCoinType, constants.USDC_TYPE],\n })(tx);\n\n const [uPrice] = await this.bucketClient.aggregatePrices(tx as any, {\n coinTypes: [constants.USDC_TYPE],\n });\n\n const withdrawResponse = pay({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n arguments: {\n farm: constants.STABLE_VAULT_FARM,\n request: burnRequest,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: this.bucketClient.treasury(tx as any),\n psmPool: this.getBucketPSMPool(tx),\n savingPool: this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n uPrice,\n },\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n })(tx);\n\n this.checkResponse({ tx, response: withdrawResponse, type: \"withdraw\" });\n\n const usdcCoin = fulfillBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n burnRequest,\n },\n typeArguments: [stableCoinType, constants.USDC_TYPE],\n })(tx);\n\n if (autoTransfer) {\n tx.transferObjects([usdcCoin], sender ?? this.sender);\n return;\n } else {\n return usdcCoin;\n }\n }\n\n async buildClaimTx({\n tx,\n stableCoinType,\n sender,\n autoTransfer = true,\n }: ClaimTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n\n this.releaseRewards(tx);\n\n const [rewardCoin, withdrawResponse] = claim({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n arguments: {\n stableRegistry: constants.STABLE_REGISTRY,\n farm: constants.STABLE_VAULT_FARM,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: this.bucketClient.treasury(tx as any),\n savingPool: this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n },\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n })(tx);\n\n this.checkResponse({ tx, response: withdrawResponse, type: \"withdraw\" });\n\n if (autoTransfer) {\n tx.transferObjects([rewardCoin], sender ?? this.sender);\n return;\n } else {\n return rewardCoin;\n }\n }\n\n async getTotalSupply(): Promise<string | undefined> {\n const result = await this.suiClient.getObject({\n id: constants.STABLE_REGISTRY,\n options: {\n showContent: true,\n },\n });\n\n const content = result.data?.content as\n | {\n fields: {\n total_supply: string;\n };\n }\n | undefined;\n\n return content?.fields?.total_supply;\n }\n\n async getTotalSupplyByCoinType(\n stableCoinType: string,\n ): Promise<string | undefined> {\n const result = await this.suiClient.getDynamicFieldObject({\n parentId: STABLE_REGISTRY,\n name: {\n type: \"0x1::type_name::TypeName\",\n value: {\n name: stableCoinType.slice(2),\n },\n },\n });\n const content = result.data?.content as\n | {\n fields: {\n treasury_cap: {\n fields: {\n total_supply: { fields: { value: string } };\n };\n };\n };\n }\n | undefined;\n return content?.fields?.treasury_cap?.fields?.total_supply?.fields?.value;\n }\n\n private getBucketSavingPool(tx: Transaction) {\n return this.bucketClient.savingPoolObj(tx as any, {\n lpType: constants.SAVING_TYPE,\n });\n }\n\n private getBucketPSMPool(tx: Transaction) {\n return this.bucketClient.psmPoolObj(tx as any, {\n coinType: constants.USDC_TYPE,\n });\n }\n\n private checkResponse({\n tx,\n response,\n type,\n }: {\n tx: Transaction;\n response: TransactionArgument;\n type: \"deposit\" | \"withdraw\";\n }) {\n if (type === \"deposit\") {\n return this.bucketClient.checkDepositResponse(tx as any, {\n lpType: constants.SAVING_TYPE,\n depositResponse: response as any,\n });\n } else {\n return this.bucketClient.checkWithdrawResponse(tx as any, {\n lpType: constants.SAVING_TYPE,\n withdrawResponse: response as any,\n });\n }\n }\n\n private releaseRewards(tx: Transaction) {\n const depositResponse = release({\n package: constants.YIELD_USDB_PACKAGE_ID,\n arguments: {\n vault: constants.YIELD_VAULT,\n treasury: this.bucketClient.treasury(tx as any),\n savingPool: this.bucketClient.savingPoolObj(tx as any, {\n lpType: constants.SAVING_TYPE,\n }),\n },\n typeArguments: [constants.YUSDB_TYPE, constants.SAVING_TYPE],\n })(tx);\n\n this.bucketClient.checkDepositResponse(tx, {\n depositResponse,\n lpType: constants.SAVING_TYPE,\n });\n }\n}\n", "export const STABLE_VAULT =\n \"0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7\";\n\nexport const USDC_TYPE =\n \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\";\n\nexport const STABLE_LP_TYPE =\n \"0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC\";\n\nexport const YUSDB_TYPE =\n \"0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB\";\n\nexport const STABLE_LAYER_PACKAGE_ID =\n \"0xa4a78d8d3d1df62fb81d10068142e79b0d30ad4e3f578060487e36ed9ea764da\";\n\nexport const STABLE_VAULT_FARM_PACKAGE_ID =\n \"0x00d31ddaa73a56abcc3e2d885ac1e1d90f9ae0e38bbef2ba2923550c8250de4d\";\n\n// Bucket Protocol dependencies\nexport const SAVING_TYPE =\n \"0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB\";\n\nexport const YIELD_VAULT =\n \"0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1\";\n\nexport const STABLE_REGISTRY =\n \"0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642\";\n\nexport const STABLE_VAULT_FARM_ENTITY_TYPE = `0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<${STABLE_LP_TYPE}, ${USDC_TYPE}>`;\n\nexport const STABLE_VAULT_FARM =\n \"0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c\";\n\nexport const YIELD_USDB_PACKAGE_ID =\n \"0x3dcbf82f7e3b80ed65cee596612602a6c7e78c71fd40f6455b40ad033ed04786\";\n", "\nimport { bcs, BcsType, TypeTag, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from '@mysten/sui/bcs';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\nimport { TransactionArgument, isArgument } from '@mysten/sui/transactions';\n\nconst MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');\nconst SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');\nconst SUI_SYSTEM_ADDRESS = normalizeSuiAddress('0x3');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeSuiAddress(parsedTag.struct.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]!);\n\t\t\t\treturn type ? bcs.option(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (pkg === SUI_FRAMEWORK_ADDRESS && structTag.module === 'Object' && structTag.name === 'ID') {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizeMoveArguments(args: unknown[] | object, argTypes: string[], parameterNames?: string[]) {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new Error(\n\t\t\t`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,\n\t\t);\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::random::Random`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::clock::Clock`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_SYSTEM_ADDRESS}::sui_system::SuiSystemState`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new Error(`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`);\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new Error(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg == null) {\n\t\t\t\tthrow new Error(`Parameter ${name} is required`);\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i]!;\n\t\tconst bcsType = getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t} else if (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new Error(`Invalid argument ${stringify(arg)} for type ${type}`);\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tT extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\nfunction stringify(val: unknown) {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as object from './deps/sui/object.js';\nimport * as coin from './deps/sui/coin.js';\nimport * as account from './deps/bucket_v2_framework/account.js';\nimport * as buffer_1 from './buffer.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@local-pkg/yield_usdb.move::yield_usdb';\nexport const Created = new MoveStruct({ name: `${$moduleName}::Created`, fields: {\n vault_id: bcs.Address,\n max_lp_supply: bcs.u64(),\n abstract_address: bcs.Address\n } });\nexport const MaxSupplyUpdated = new MoveStruct({ name: `${$moduleName}::MaxSupplyUpdated`, fields: {\n vault_id: bcs.Address,\n previous_max_lp_supply: bcs.u64(),\n current_max_lp_supply: bcs.u64()\n } });\nexport const Minted = new MoveStruct({ name: `${$moduleName}::Minted`, fields: {\n vault_id: bcs.Address,\n usdb_amount: bcs.u64(),\n lp_amount: bcs.u64()\n } });\nexport const Burned = new MoveStruct({ name: `${$moduleName}::Burned`, fields: {\n vault_id: bcs.Address,\n lp_amount: bcs.u64(),\n usdb_amount: bcs.u64()\n } });\nexport const Claimed = new MoveStruct({ name: `${$moduleName}::Claimed`, fields: {\n vault_id: bcs.Address,\n reward_type: bcs.string(),\n reward_amount: bcs.u64()\n } });\nexport const Collected = new MoveStruct({ name: `${$moduleName}::Collected`, fields: {\n vault_id: bcs.Address,\n usdb_amount: bcs.u64()\n } });\nexport const YieldVault = new MoveStruct({ name: `${$moduleName}::YieldVault`, fields: {\n id: object.UID,\n max_lp_supply: bcs.u64(),\n lp_treasury_cap: coin.TreasuryCap,\n abstract_account: account.Account,\n buffer: buffer_1.Buffer,\n managers: vec_set.VecSet(bcs.Address),\n versions: vec_set.VecSet(bcs.u16())\n } });\nexport interface PackageVersionOptions {\n package?: string;\n arguments?: [\n ];\n}\nexport function packageVersion(options: PackageVersionOptions = {}) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'package_version',\n });\n}\nexport interface NewArguments {\n AdminCap: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpTreasuryCap: RawTransactionArgument<string>;\n accountObj: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n AdminCap: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpTreasuryCap: RawTransactionArgument<string>,\n accountObj: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Admin Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::admin::AdminCap`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n `${packageAddress}::account::Account`,\n 'u64',\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"savingPool\", \"lpTreasuryCap\", \"accountObj\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n adminCap: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpTreasuryCap: RawTransactionArgument<string>;\n accountObj: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n adminCap: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpTreasuryCap: RawTransactionArgument<string>,\n accountObj: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::admin::AdminCap`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n `${packageAddress}::account::Account`,\n 'u64',\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"adminCap\", \"savingPool\", \"lpTreasuryCap\", \"accountObj\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DestroyArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n}\nexport interface DestroyOptions {\n package?: string;\n arguments: DestroyArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function destroy(options: DestroyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'destroy',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddManagerArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface AddManagerOptions {\n package?: string;\n arguments: AddManagerArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addManager(options: AddManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'add_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveManagerArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface RemoveManagerOptions {\n package?: string;\n arguments: RemoveManagerArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeManager(options: RemoveManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'remove_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddVersionArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface AddVersionOptions {\n package?: string;\n arguments: AddVersionArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addVersion(options: AddVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'add_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveVersionArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface RemoveVersionOptions {\n package?: string;\n arguments: RemoveVersionArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeVersion(options: RemoveVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'remove_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface UpdateMaxLpSupplyArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface UpdateMaxLpSupplyOptions {\n package?: string;\n arguments: UpdateMaxLpSupplyArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function updateMaxLpSupply(options: UpdateMaxLpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'update_max_lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n usdbCoin: RawTransactionArgument<string>;\n}\nexport interface MintOptions {\n package?: string;\n arguments: MintArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n usdbCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Public Fun */\nexport function mint(options: MintOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${packageAddress}::usdb::USDB>`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"usdbCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'mint',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleaseArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface ReleaseOptions {\n package?: string;\n arguments: ReleaseArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function release(options: ReleaseOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'release',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BurnArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpCoin: RawTransactionArgument<string>;\n}\nexport interface BurnOptions {\n package?: string;\n arguments: BurnArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function burn(options: BurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"lpCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimArguments {\n vault: RawTransactionArgument<string>;\n rewardManager: RawTransactionArgument<string>;\n config: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n accountReq: RawTransactionArgument<string>;\n}\nexport interface ClaimOptions {\n package?: string;\n arguments: ClaimArguments | [\n vault: RawTransactionArgument<string>,\n rewardManager: RawTransactionArgument<string>,\n config: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n accountReq: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Manager Funs */\nexport function claim(options: ClaimOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving_incentive::RewardManager<${options.typeArguments[1]}>`,\n `${packageAddress}::incentive_config::GlobalConfig`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::account::AccountRequest`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"rewardManager\", \"config\", \"savingPool\", \"accountReq\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'claim',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface CollectArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n usdbCoin: RawTransactionArgument<string>;\n accountReq: RawTransactionArgument<string>;\n bufferTime: RawTransactionArgument<number | bigint>;\n}\nexport interface CollectOptions {\n package?: string;\n arguments: CollectArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n usdbCoin: RawTransactionArgument<string>,\n accountReq: RawTransactionArgument<string>,\n bufferTime: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function collect(options: CollectOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${packageAddress}::usdb::USDB>`,\n `${packageAddress}::account::AccountRequest`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"usdbCoin\", \"accountReq\", \"bufferTime\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'collect',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface IdArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n package?: string;\n arguments: IdArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Getter Funs */\nexport function id(options: IdOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'id',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MaxLpSupplyArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface MaxLpSupplyOptions {\n package?: string;\n arguments: MaxLpSupplyArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function maxLpSupply(options: MaxLpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'max_lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface UsdbReserveArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface UsdbReserveOptions {\n package?: string;\n arguments: UsdbReserveArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function usdbReserve(options: UsdbReserveOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'usdb_reserve',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface LpSupplyArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface LpSupplyOptions {\n package?: string;\n arguments: LpSupplyArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function lpSupply(options: LpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintRatioArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface MintRatioOptions {\n package?: string;\n arguments: MintRatioArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function mintRatio(options: MintRatioOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'mint_ratio',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BurnRatioArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface BurnRatioOptions {\n package?: string;\n arguments: BurnRatioArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function burnRatio(options: BurnRatioOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'burn_ratio',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimableRewardAmountArguments {\n vault: RawTransactionArgument<string>;\n rewardManager: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface ClaimableRewardAmountOptions {\n package?: string;\n arguments: ClaimableRewardAmountArguments | [\n vault: RawTransactionArgument<string>,\n rewardManager: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\nexport function claimableRewardAmount(options: ClaimableRewardAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving_incentive::RewardManager<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"rewardManager\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'claimable_reward_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AbstractAddressArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface AbstractAddressOptions {\n package?: string;\n arguments: AbstractAddressArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function abstractAddress(options: AbstractAddressOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'abstract_address',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BufferArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface BufferOptions {\n package?: string;\n arguments: BufferArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function buffer(options: BufferOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'buffer',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Balance = new MoveStruct({ name: `${$moduleName}::Balance`, fields: {\n value: bcs.u64()\n } });\nexport const Supply = new MoveStruct({ name: `${$moduleName}::Supply`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * Defines the `Coin` type - platform wide representation of fungible tokens and\n * coins. `Coin` can be described as a secure wrapper around `Balance` type.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport * as object from './object.js';\nimport * as balance from './balance.js';\nconst $moduleName = '0x2::coin';\nexport const TreasuryCap = new MoveStruct({ name: `${$moduleName}::TreasuryCap`, fields: {\n id: object.UID,\n total_supply: balance.Supply\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for Account Abstraction */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport * as object from '../sui/object.js';\nconst $moduleName = 'bucket_v2_framework::account';\nexport const Account = new MoveStruct({ name: `${$moduleName}::Account`, fields: {\n id: object.UID,\n alias: bcs.option(bcs.string())\n } });", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as balance_1 from './deps/sui/balance.js';\nimport * as double from './deps/bucket_v2_framework/double.js';\nconst $moduleName = '@local-pkg/yield_usdb.move::buffer';\nexport const Buffer = new MoveStruct({ name: `${$moduleName}::Buffer`, fields: {\n balance: balance_1.Balance,\n flow_rate: double.Double,\n timestamp: bcs.u64()\n } });\nexport interface NewArguments {\n flowRate: RawTransactionArgument<string>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n flowRate: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\n/** Public Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::double::Double`\n ] satisfies string[];\n const parameterNames = [\"flowRate\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DestroyArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface DestroyOptions {\n package?: string;\n arguments: DestroyArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function destroy(options: DestroyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'destroy',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface JoinArguments {\n buffer: RawTransactionArgument<string>;\n input: RawTransactionArgument<string>;\n}\nexport interface JoinOptions {\n package?: string;\n arguments: JoinArguments | [\n buffer: RawTransactionArgument<string>,\n input: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function join(options: JoinOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\", \"input\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'join',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleaseArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface ReleaseOptions {\n package?: string;\n arguments: ReleaseArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function release(options: ReleaseOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'release',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SetFlowRateArguments {\n buffer: RawTransactionArgument<string>;\n flowRate: RawTransactionArgument<string>;\n}\nexport interface SetFlowRateOptions {\n package?: string;\n arguments: SetFlowRateArguments | [\n buffer: RawTransactionArgument<string>,\n flowRate: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function setFlowRate(options: SetFlowRateOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::double::Double`\n ] satisfies string[];\n const parameterNames = [\"buffer\", \"flowRate\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'set_flow_rate',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BalanceArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n package?: string;\n arguments: BalanceArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\n/** Getter Funs */\nexport function balance(options: BalanceOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'balance',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface FlowRateArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface FlowRateOptions {\n package?: string;\n arguments: FlowRateArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function flowRate(options: FlowRateOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'flow_rate',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface TimestampArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface TimestampOptions {\n package?: string;\n arguments: TimestampArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function timestamp(options: TimestampOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'timestamp',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleasableAmountArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface ReleasableAmountOptions {\n package?: string;\n arguments: ReleasableAmountArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function releasableAmount(options: ReleasableAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'releasable_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for double precision floating points */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::double';\nexport const Double = new MoveStruct({ name: `${$moduleName}::Double`, fields: {\n value: bcs.u256()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as sheet_1 from './deps/bucket_v2_framework/sheet.js';\nimport * as object from './deps/sui/object.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as coin from './deps/sui/coin.js';\nconst $moduleName = '@local-pkg/stable_factory.move::stable_layer';\nexport const NewStable = new MoveStruct({ name: `${$moduleName}::NewStable`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n factory_id: bcs.Address,\n factory_cap_id: bcs.Address\n } });\nexport const Mint = new MoveStruct({ name: `${$moduleName}::Mint`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n mint_amount: bcs.u64(),\n farm_type: bcs.string()\n } });\nexport const Burn = new MoveStruct({ name: `${$moduleName}::Burn`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n burn_amount: bcs.u64(),\n farm_types: bcs.vector(sheet_1.Entity),\n repayment_amounts: bcs.vector(bcs.u64())\n } });\nexport const StableFactoryEntity = new MoveStruct({ name: `${$moduleName}::StableFactoryEntity`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableRegistry = new MoveStruct({ name: `${$moduleName}::StableRegistry`, fields: {\n id: object.UID,\n versions: vec_set.VecSet(bcs.u16()),\n total_supply: bcs.u64()\n } });\nexport const AdminCap = new MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {\n id: object.UID\n } });\nexport const StableFactory = new MoveStruct({ name: `${$moduleName}::StableFactory`, fields: {\n id: object.UID,\n treasury_cap: coin.TreasuryCap,\n max_supply: bcs.u64(),\n sheet: sheet_1.Sheet,\n managers: vec_set.VecSet(bcs.Address)\n } });\nexport const FactoryCap = new MoveStruct({ name: `${$moduleName}::FactoryCap`, fields: {\n id: object.UID,\n factory_id: bcs.Address\n } });\nexport interface PackageVersionOptions {\n package?: string;\n arguments?: [\n ];\n}\nexport function packageVersion(options: PackageVersionOptions = {}) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'package_version',\n });\n}\nexport interface NewArguments {\n registry: RawTransactionArgument<string>;\n treasuryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n registry: RawTransactionArgument<string>,\n treasuryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Admin Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"treasuryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n registry: RawTransactionArgument<string>;\n treasuryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n registry: RawTransactionArgument<string>,\n treasuryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"treasuryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddVersionArguments {\n AdminCap: RawTransactionArgument<string>;\n registry: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface AddVersionOptions {\n package?: string;\n arguments: AddVersionArguments | [\n AdminCap: RawTransactionArgument<string>,\n registry: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n}\n/** Admin Funs */\nexport function addVersion(options: AddVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::AdminCap`,\n `${packageAddress}::stable_layer::StableRegistry`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"registry\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface RemoveVersionArguments {\n AdminCap: RawTransactionArgument<string>;\n registry: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface RemoveVersionOptions {\n package?: string;\n arguments: RemoveVersionArguments | [\n AdminCap: RawTransactionArgument<string>,\n registry: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n}\nexport function removeVersion(options: RemoveVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::AdminCap`,\n `${packageAddress}::stable_layer::StableRegistry`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"registry\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'remove_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface AddEntityArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n}\nexport interface AddEntityOptions {\n package?: string;\n arguments: AddEntityArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Factory Cap Funs */\nexport function addEntity(options: AddEntityOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_entity',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BanEntityArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n}\nexport interface BanEntityOptions {\n package?: string;\n arguments: BanEntityArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\nexport function banEntity(options: BanEntityOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'ban_entity',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddManagerArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface AddManagerOptions {\n package?: string;\n arguments: AddManagerArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addManager(options: AddManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveManagerArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface RemoveManagerOptions {\n package?: string;\n arguments: RemoveManagerArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeManager(options: RemoveManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'remove_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SetMaxSupplyArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxSupplyOptions {\n package?: string;\n arguments: SetMaxSupplyArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function setMaxSupply(options: SetMaxSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'set_max_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintArguments {\n registry: RawTransactionArgument<string>;\n uCoin: RawTransactionArgument<string>;\n}\nexport interface MintOptions {\n package?: string;\n arguments: MintArguments | [\n registry: RawTransactionArgument<string>,\n uCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Public Funs */\nexport function mint(options: MintOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"uCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'mint',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RequestBurnArguments {\n registry: RawTransactionArgument<string>;\n stableCoin: RawTransactionArgument<string>;\n}\nexport interface RequestBurnOptions {\n package?: string;\n arguments: RequestBurnArguments | [\n registry: RawTransactionArgument<string>,\n stableCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function requestBurn(options: RequestBurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"stableCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'request_burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface FulfillBurnArguments {\n registry: RawTransactionArgument<string>;\n burnRequest: RawTransactionArgument<string>;\n}\nexport interface FulfillBurnOptions {\n package?: string;\n arguments: FulfillBurnArguments | [\n registry: RawTransactionArgument<string>,\n burnRequest: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function fulfillBurn(options: FulfillBurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::sheet::Request<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[0]}, ${options.typeArguments[1]}>>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"burnRequest\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'fulfill_burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface VersionsArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface VersionsOptions {\n package?: string;\n arguments: VersionsArguments | [\n registry: RawTransactionArgument<string>\n ];\n}\n/** Getter Fun */\nexport function versions(options: VersionsOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'versions',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface TotalSupplyArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyOptions {\n package?: string;\n arguments: TotalSupplyArguments | [\n registry: RawTransactionArgument<string>\n ];\n}\nexport function totalSupply(options: TotalSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'total_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface BorrowFactoryArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface BorrowFactoryOptions {\n package?: string;\n arguments: BorrowFactoryArguments | [\n registry: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function borrowFactory(options: BorrowFactoryOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'borrow_factory',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SheetArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface SheetOptions {\n package?: string;\n arguments: SheetArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function sheet(options: SheetOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'sheet',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface StableSupplyArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface StableSupplyOptions {\n package?: string;\n arguments: StableSupplyArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function stableSupply(options: StableSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'stable_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MaxSupplyArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface MaxSupplyOptions {\n package?: string;\n arguments: MaxSupplyArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function maxSupply(options: MaxSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'max_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ManagersArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface ManagersOptions {\n package?: string;\n arguments: ManagersArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function managers(options: ManagersOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'managers',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Functionality for converting Move types into values. Use with care! */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'std::type_name';\nexport const TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {\n /**\n * String representation of the type. All types are represented using their source\n * syntax: \"u8\", \"u64\", \"bool\", \"address\", \"vector\", and so on for primitive types.\n * Struct types are represented as fully qualified type names; e.g.\n * `00000000000000000000000000000001::string::String` or\n * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`\n * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or\n * 32 depending on the Move platform)\n */\n name: bcs.string()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_map';\n/** An entry in the map */\nexport function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n key: typeParameters[0],\n value: typeParameters[1]\n } });\n}\n/**\n * A map data structure backed by a vector. The map is guaranteed not to contain\n * duplicate keys, but entries are _not_ sorted by key--entries are included in\n * insertion order. All operations are O(N) in the size of the map--the intention\n * of this data structure is only to provide the convenience of programming against\n * a map API. Large maps should use handwritten parent/child relationships instead.\n * Maps that need sorted iteration rather than insertion order iteration should\n * also be handwritten.\n */\nexport function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n contents: bcs.vector(Entry(typeParameters[0], typeParameters[1]))\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for managing Credit and Debt for DeFi protocol usage */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::liability';\nexport const Credit = new MoveStruct({ name: `${$moduleName}::Credit`, fields: {\n value: bcs.u64()\n } });\nexport const Debt = new MoveStruct({ name: `${$moduleName}::Debt`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for the record of Credit and Debt of certain entity */\n\nimport { MoveTuple, MoveStruct } from '../../../utils/index.js';\nimport * as type_name from '../std/type_name.js';\nimport * as vec_map from '../sui/vec_map.js';\nimport * as liability from './liability.js';\nimport * as vec_set from '../sui/vec_set.js';\nconst $moduleName = 'bucket_v2_framework::sheet';\nexport const Entity = new MoveTuple({ name: `${$moduleName}::Entity`, fields: [type_name.TypeName] });\nexport const Sheet = new MoveStruct({ name: `${$moduleName}::Sheet`, fields: {\n credits: vec_map.VecMap(Entity, liability.Credit),\n debts: vec_map.VecMap(Entity, liability.Debt),\n blacklist: vec_set.VecSet(Entity)\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Supply = new MoveStruct({ name: `${$moduleName}::Supply`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * Defines the `Coin` type - platform wide representation of fungible tokens and\n * coins. `Coin` can be described as a secure wrapper around `Balance` type.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport * as object from './object.js';\nimport * as balance from './balance.js';\nconst $moduleName = '0x2::coin';\nexport const TreasuryCap = new MoveStruct({ name: `${$moduleName}::TreasuryCap`, fields: {\n id: object.UID,\n total_supply: balance.Supply\n } });", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as object from './deps/sui/object.js';\nimport * as sheet from './deps/bucket_v2_framework/sheet.js';\nimport * as table from './deps/sui/table.js';\nimport * as balance from './deps/sui/balance.js';\nconst $moduleName = '@local-pkg/stable_vault_farm.move::stable_vault_farm';\nexport const Claim = new MoveStruct({ name: `${$moduleName}::Claim`, fields: {\n reward_type: bcs.string(),\n amount: bcs.u64(),\n claimer: bcs.Address\n } });\nexport const StableVaultFarmEntity = new MoveStruct({ name: `${$moduleName}::StableVaultFarmEntity`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableVaultFarmWitness = new MoveStruct({ name: `${$moduleName}::StableVaultFarmWitness`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableVaultFarm = new MoveStruct({ name: `${$moduleName}::StableVaultFarm`, fields: {\n id: object.UID,\n sheet: sheet.Sheet,\n yield_table: table.Table,\n u_surplus: balance.Balance\n } });\nexport const AdminCap = new MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {\n id: object.UID\n } });\nexport interface NewArguments {\n Cap: RawTransactionArgument<string>;\n initUCoin: RawTransactionArgument<string>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n Cap: RawTransactionArgument<string>,\n initUCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::AdminCap`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"Cap\", \"initUCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n cap: RawTransactionArgument<string>;\n initUCoin: RawTransactionArgument<string>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n cap: RawTransactionArgument<string>,\n initUCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::AdminCap`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"cap\", \"initUCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReceiveArguments {\n farm: RawTransactionArgument<string>;\n loan: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n psmPool: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n uPrice: RawTransactionArgument<string>;\n}\nexport interface ReceiveOptions {\n package?: string;\n arguments: ReceiveArguments | [\n farm: RawTransactionArgument<string>,\n loan: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n psmPool: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>,\n uPrice: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function receive(options: ReceiveOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::sheet::Loan<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[2]}, ${options.typeArguments[1]}>, ${packageAddress}::stable_vault_farm::StableVaultFarmEntity<${options.typeArguments[0]}, ${options.typeArguments[1]}>>`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::pool::Pool<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n `${packageAddress}::result::PriceResult<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"loan\", \"stableVault\", \"usdbTreasury\", \"psmPool\", \"savingPool\", \"yieldVault\", \"uPrice\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'receive',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface PayArguments {\n farm: RawTransactionArgument<string>;\n request: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n psmPool: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n uPrice: RawTransactionArgument<string>;\n}\nexport interface PayOptions {\n package?: string;\n arguments: PayArguments | [\n farm: RawTransactionArgument<string>,\n request: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n psmPool: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>,\n uPrice: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function pay(options: PayOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::sheet::Request<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[2]}, ${options.typeArguments[1]}>>`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::pool::Pool<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n `${packageAddress}::result::PriceResult<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"request\", \"stableVault\", \"usdbTreasury\", \"psmPool\", \"savingPool\", \"yieldVault\", \"uPrice\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'pay',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimArguments {\n farm: RawTransactionArgument<string>;\n stableRegistry: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n}\nexport interface ClaimOptions {\n package?: string;\n arguments: ClaimArguments | [\n farm: RawTransactionArgument<string>,\n stableRegistry: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function claim(options: ClaimOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"stableRegistry\", \"stableVault\", \"usdbTreasury\", \"savingPool\", \"yieldVault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'claim',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimableAmountArguments {\n farm: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n}\nexport interface ClaimableAmountOptions {\n package?: string;\n arguments: ClaimableAmountArguments | [\n farm: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function claimableAmount(options: ClaimableAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"savingPool\", \"yieldVault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'claimable_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddSurplusArguments {\n farm: RawTransactionArgument<string>;\n coin: RawTransactionArgument<string>;\n}\nexport interface AddSurplusOptions {\n package?: string;\n arguments: AddSurplusArguments | [\n farm: RawTransactionArgument<string>,\n coin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addSurplus(options: AddSurplusOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"farm\", \"coin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'add_surplus',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Functionality for converting Move types into values. Use with care! */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'std::type_name';\nexport const TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {\n /**\n * String representation of the type. All types are represented using their source\n * syntax: \"u8\", \"u64\", \"bool\", \"address\", \"vector\", and so on for primitive types.\n * Struct types are represented as fully qualified type names; e.g.\n * `00000000000000000000000000000001::string::String` or\n * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`\n * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or\n * 32 depending on the Move platform)\n */\n name: bcs.string()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_map';\n/** An entry in the map */\nexport function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n key: typeParameters[0],\n value: typeParameters[1]\n } });\n}\n/**\n * A map data structure backed by a vector. The map is guaranteed not to contain\n * duplicate keys, but entries are _not_ sorted by key--entries are included in\n * insertion order. All operations are O(N) in the size of the map--the intention\n * of this data structure is only to provide the convenience of programming against\n * a map API. Large maps should use handwritten parent/child relationships instead.\n * Maps that need sorted iteration rather than insertion order iteration should\n * also be handwritten.\n */\nexport function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n contents: bcs.vector(Entry(typeParameters[0], typeParameters[1]))\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for managing Credit and Debt for DeFi protocol usage */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::liability';\nexport const Credit = new MoveStruct({ name: `${$moduleName}::Credit`, fields: {\n value: bcs.u64()\n } });\nexport const Debt = new MoveStruct({ name: `${$moduleName}::Debt`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for the record of Credit and Debt of certain entity */\n\nimport { MoveTuple, MoveStruct } from '../../../utils/index.js';\nimport * as type_name from '../std/type_name.js';\nimport * as vec_map from '../sui/vec_map.js';\nimport * as liability from './liability.js';\nimport * as vec_set from '../sui/vec_set.js';\nconst $moduleName = 'bucket_v2_framework::sheet';\nexport const Entity = new MoveTuple({ name: `${$moduleName}::Entity`, fields: [type_name.TypeName] });\nexport const Sheet = new MoveStruct({ name: `${$moduleName}::Sheet`, fields: {\n credits: vec_map.VecMap(Entity, liability.Credit),\n debts: vec_map.VecMap(Entity, liability.Debt),\n blacklist: vec_set.VecSet(Entity)\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A table is a map-like collection. But unlike a traditional collection, it's keys\n * and values are not stored within the `Table` value, but instead are stored using\n * Sui's object system. The `Table` struct acts only as a handle into the object\n * system to retrieve those keys and values. Note that this means that `Table`\n * values with exactly the same key-value mapping will not be equal, with `==`, at\n * runtime. For example\n * \n * ```\n * let table1 = table::new<u64, bool>();\n * let table2 = table::new<u64, bool>();\n * table::add(&mut table1, 0, false);\n * table::add(&mut table1, 1, true);\n * table::add(&mut table2, 0, false);\n * table::add(&mut table2, 1, true);\n * // table1 does not equal table2, despite having the same entries\n * assert!(&table1 != &table2);\n * ```\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport * as object from './object.js';\nconst $moduleName = '0x2::table';\nexport const Table = new MoveStruct({ name: `${$moduleName}::Table`, fields: {\n /** the ID of this table */\n id: object.UID,\n /** the number of key-value pairs in the table */\n size: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Balance = new MoveStruct({ name: `${$moduleName}::Balance`, fields: {\n value: bcs.u64()\n } });"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_transactions", "val", "import_bcs", "import_bcs", "import_bcs", "$moduleName", "$moduleName", "import_bcs", "$moduleName", "import_bcs", "import_bcs", "$moduleName", "$moduleName", "
|
|
3
|
+
"sources": ["../../src/index.ts", "../../src/generated/utils/index.ts", "../../src/generated/stable_layer/stable_layer.ts", "../../src/generated/stable_layer/deps/std/type_name.ts", "../../src/generated/stable_layer/deps/sui/vec_map.ts", "../../src/generated/stable_layer/deps/bucket_v2_framework/liability.ts", "../../src/generated/stable_layer/deps/sui/vec_set.ts", "../../src/generated/stable_layer/deps/bucket_v2_framework/sheet.ts", "../../src/generated/stable_layer/deps/sui/object.ts", "../../src/generated/stable_layer/deps/sui/balance.ts", "../../src/generated/stable_layer/deps/sui/coin.ts", "../../src/generated/stable_vault_farm/stable_vault_farm.ts", "../../src/generated/stable_vault_farm/deps/sui/object.ts", "../../src/generated/stable_vault_farm/deps/std/type_name.ts", "../../src/generated/stable_vault_farm/deps/sui/vec_map.ts", "../../src/generated/stable_vault_farm/deps/bucket_v2_framework/liability.ts", "../../src/generated/stable_vault_farm/deps/sui/vec_set.ts", "../../src/generated/stable_vault_farm/deps/bucket_v2_framework/sheet.ts", "../../src/generated/stable_vault_farm/deps/sui/table.ts", "../../src/generated/stable_vault_farm/deps/sui/balance.ts", "../../src/generated/yield_usdb/yield_usdb.ts", "../../src/generated/yield_usdb/deps/sui/object.ts", "../../src/generated/yield_usdb/deps/sui/balance.ts", "../../src/generated/yield_usdb/deps/sui/coin.ts", "../../src/generated/yield_usdb/deps/bucket_v2_framework/account.ts", "../../src/generated/yield_usdb/buffer.ts", "../../src/generated/yield_usdb/deps/bucket_v2_framework/double.ts", "../../src/generated/yield_usdb/deps/sui/vec_set.ts", "../../src/libs/constants.mainnet.ts", "../../src/libs/constants.testnet.ts", "../../src/libs/constants.ts"],
|
|
4
|
+
"sourcesContent": ["import { BucketClient } from \"@bucket-protocol/sdk\";\nimport { bcs } from \"@mysten/sui/bcs\";\nimport { SuiGrpcClient } from \"@mysten/sui/grpc\";\nimport { coinWithBalance, Transaction, TransactionArgument } from \"@mysten/sui/transactions\";\nimport { normalizeStructTag, SUI_CLOCK_OBJECT_ID } from \"@mysten/sui/utils\";\n\nimport {\n fulfillBurn,\n mint,\n requestBurn,\n setMaxSupply,\n} from \"./generated/stable_layer/stable_layer.js\";\nimport { claim, pay, receive } from \"./generated/stable_vault_farm/stable_vault_farm.js\";\nimport { release } from \"./generated/yield_usdb/yield_usdb.js\";\nimport {\n BurnTransactionParams,\n ClaimRewardUsdbAmountParams,\n ClaimTransactionParams,\n CoinResult,\n MintTransactionParams,\n SetMaxSupplyTransactionParams,\n StableLayerConfig,\n} from \"./interface.js\";\nimport { getConstants } from \"./libs/constants.js\";\n\nexport class StableLayerClient {\n private bucketClient: BucketClient;\n private suiClient: SuiGrpcClient;\n private sender: string;\n private network: import(\"./interface.js\").Network;\n private mockFarmRegistryId?: string;\n private mockFarmPackageId?: string;\n private mockUsdbCoinType?: string;\n\n static getConstants(network: import(\"./interface.js\").Network) {\n return getConstants(network);\n }\n\n getConstants() {\n return getConstants(this.network);\n }\n\n static async initialize(config: StableLayerConfig): Promise<StableLayerClient> {\n const defaultBaseUrl = `https://fullnode.${config.network}.sui.io:443`;\n const baseUrl = config.baseUrl ?? process.env.SUI_GRPC_URL ?? defaultBaseUrl;\n const suiClient =\n config.suiClient ??\n new SuiGrpcClient({\n network: config.network,\n baseUrl,\n });\n const bucketClient = await BucketClient.initialize({\n network: config.network,\n suiClient,\n configObjectId: config.configObjectId,\n configOverrides: config.configOverrides,\n });\n return new StableLayerClient(config, bucketClient, suiClient);\n }\n\n private constructor(\n config: StableLayerConfig,\n bucketClient: BucketClient,\n suiClient: SuiGrpcClient,\n ) {\n this.bucketClient = bucketClient;\n this.suiClient = suiClient;\n this.sender = config.sender;\n this.network = config.network;\n this.mockFarmRegistryId = config.mockFarmRegistryId;\n this.mockFarmPackageId = config.mockFarmPackageId;\n this.mockUsdbCoinType = config.mockUsdbCoinType;\n }\n\n private getMockFarmPackageId(): string {\n const c = this.getConstants();\n const id = (this.mockFarmPackageId ?? c.MOCK_FARM_PACKAGE_ID)?.trim();\n if (!id) {\n throw new Error(\n \"StableLayerClient: missing mock farm package (set mockFarmPackageId or MOCK_FARM_PACKAGE_ID in testnet constants).\",\n );\n }\n return id;\n }\n\n private getMockFarmEntityType(): string {\n const c = this.getConstants();\n return c.STABLE_VAULT_FARM_ENTITY_TYPE || `${this.getMockFarmPackageId()}::farm::MockFarmEntity`;\n }\n\n async buildMintTx({\n tx,\n stableCoinType,\n usdcCoin,\n sender,\n autoTransfer = true,\n }: MintTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n const constants = this.getConstants();\n\n if (this.network === \"testnet\") {\n const farmRegistry = this.mockFarmRegistryId ?? constants.MOCK_FARM_REGISTRY;\n const pkg = this.getMockFarmPackageId();\n if (!farmRegistry) {\n throw new Error(\n \"buildMintTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY).\",\n );\n }\n const stableTag = normalizeStructTag(stableCoinType);\n const usdTag = normalizeStructTag(constants.USDC_TYPE);\n const farmEntityTag = normalizeStructTag(this.getMockFarmEntityType());\n const [stableCoin, loan] = mint({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n uCoin: usdcCoin,\n },\n typeArguments: [stableTag, usdTag, farmEntityTag],\n })(tx);\n\n tx.moveCall({\n target: `${pkg}::farm::receive`,\n typeArguments: [stableTag, usdTag],\n arguments: [tx.object(farmRegistry), loan, tx.object(SUI_CLOCK_OBJECT_ID)],\n });\n\n if (autoTransfer) {\n tx.transferObjects([stableCoin], sender ?? this.sender);\n return;\n }\n return stableCoin;\n }\n\n const [stableCoin, loan] = mint({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n uCoin: usdcCoin,\n },\n typeArguments: [stableCoinType, constants.USDC_TYPE, constants.STABLE_VAULT_FARM_ENTITY_TYPE],\n })(tx);\n\n const [uPrice] = await this.bucketClient.aggregatePrices(tx, {\n coinTypes: [constants.USDC_TYPE],\n });\n\n const depositResponse = receive({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n arguments: {\n farm: constants.STABLE_VAULT_FARM,\n loan,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),\n psmPool: await this.getBucketPSMPool(tx),\n savingPool: await this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n uPrice,\n },\n })(tx);\n\n await this.checkResponse({ tx, response: depositResponse, type: \"deposit\" });\n\n if (autoTransfer) {\n tx.transferObjects([stableCoin], sender ?? this.sender);\n return;\n } else {\n return stableCoin;\n }\n }\n\n async buildBurnTx({\n tx,\n stableCoinType,\n amount,\n all,\n sender,\n autoTransfer = true,\n }: BurnTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n\n if (!all && !amount) {\n throw new Error(\"Amount or all must be provided\");\n }\n const btcUsdCoin = coinWithBalance({\n balance: all\n ? BigInt(\n (\n await this.suiClient.getBalance({\n owner: sender ?? this.sender,\n coinType: stableCoinType,\n })\n ).balance.balance,\n )\n : amount!,\n type: stableCoinType,\n });\n\n const constants = this.getConstants();\n\n if (this.network === \"testnet\") {\n const farmRegistry = this.mockFarmRegistryId ?? constants.MOCK_FARM_REGISTRY;\n const pkg = this.getMockFarmPackageId();\n if (!farmRegistry) {\n throw new Error(\n \"buildBurnTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY).\",\n );\n }\n const stableTag = normalizeStructTag(stableCoinType);\n const usdTag = normalizeStructTag(constants.USDC_TYPE);\n const burnRequest = requestBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n stableCoin: btcUsdCoin,\n },\n typeArguments: [stableTag, usdTag],\n })(tx);\n\n tx.moveCall({\n target: `${pkg}::farm::pay`,\n typeArguments: [stableTag, usdTag],\n arguments: [tx.object(farmRegistry), tx.object(SUI_CLOCK_OBJECT_ID), burnRequest],\n });\n\n const usdcCoin = fulfillBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n burnRequest,\n },\n typeArguments: [stableTag, usdTag],\n })(tx);\n\n if (autoTransfer) {\n tx.transferObjects([usdcCoin], sender ?? this.sender);\n return;\n }\n return usdcCoin;\n }\n\n await this.releaseRewards(tx);\n\n const burnRequest = requestBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n stableCoin: btcUsdCoin,\n },\n typeArguments: [stableCoinType, constants.USDC_TYPE],\n })(tx);\n\n const [uPrice] = await this.bucketClient.aggregatePrices(tx, {\n coinTypes: [constants.USDC_TYPE],\n });\n\n const withdrawResponse = pay({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n arguments: {\n farm: constants.STABLE_VAULT_FARM,\n request: burnRequest,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),\n psmPool: await this.getBucketPSMPool(tx),\n savingPool: await this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n uPrice,\n },\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n })(tx);\n\n await this.checkResponse({ tx, response: withdrawResponse, type: \"withdraw\" });\n\n const usdcCoin = fulfillBurn({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry: constants.STABLE_REGISTRY,\n burnRequest,\n },\n typeArguments: [stableCoinType, constants.USDC_TYPE],\n })(tx);\n\n if (autoTransfer) {\n tx.transferObjects([usdcCoin], sender ?? this.sender);\n return;\n } else {\n return usdcCoin;\n }\n }\n\n async buildClaimTx({\n tx,\n stableCoinType,\n sender,\n autoTransfer = true,\n }: ClaimTransactionParams): Promise<CoinResult | undefined> {\n tx.setSender(sender ?? this.sender);\n\n if (this.network === \"testnet\") {\n const constants = this.getConstants();\n const farmRegistry = this.mockFarmRegistryId ?? constants.MOCK_FARM_REGISTRY;\n const pkg = this.getMockFarmPackageId();\n if (!farmRegistry) {\n throw new Error(\n \"buildClaimTx (testnet): missing mock farm registry (mockFarmRegistryId or MOCK_FARM_REGISTRY).\",\n );\n }\n const stableTag = normalizeStructTag(stableCoinType);\n const usdTag = normalizeStructTag(constants.USDC_TYPE);\n const rewardCoin = tx.moveCall({\n target: `${pkg}::farm::claim`,\n typeArguments: [stableTag, usdTag],\n arguments: [\n tx.object(farmRegistry),\n tx.object(constants.STABLE_REGISTRY),\n tx.object(SUI_CLOCK_OBJECT_ID),\n ],\n });\n if (autoTransfer) {\n tx.transferObjects([rewardCoin], sender ?? this.sender);\n return;\n }\n return rewardCoin;\n }\n\n await this.releaseRewards(tx);\n\n const constants = this.getConstants();\n const [rewardCoin, withdrawResponse] = claim({\n package: constants.STABLE_VAULT_FARM_PACKAGE_ID,\n arguments: {\n stableRegistry: constants.STABLE_REGISTRY,\n farm: constants.STABLE_VAULT_FARM,\n stableVault: constants.STABLE_VAULT,\n usdbTreasury: await Promise.resolve(this.bucketClient.treasury(tx)),\n savingPool: await this.getBucketSavingPool(tx),\n yieldVault: constants.YIELD_VAULT,\n },\n typeArguments: [\n constants.STABLE_LP_TYPE,\n constants.USDC_TYPE,\n stableCoinType,\n constants.YUSDB_TYPE,\n constants.SAVING_TYPE,\n ],\n })(tx);\n\n await this.checkResponse({ tx, response: withdrawResponse, type: \"withdraw\" });\n\n if (autoTransfer) {\n tx.transferObjects([rewardCoin], sender ?? this.sender);\n return;\n } else {\n return rewardCoin;\n }\n }\n\n async getClaimRewardUsdbAmount({\n stableCoinType,\n sender,\n }: ClaimRewardUsdbAmountParams): Promise<bigint> {\n const tx = new Transaction();\n await this.buildClaimTx({\n tx,\n stableCoinType,\n sender,\n autoTransfer: true,\n });\n\n const usdbType =\n this.network === \"testnet\"\n ? normalizeStructTag(this.mockUsdbCoinType ?? (this.getConstants().MOCK_USDB_TYPE || `${this.getMockFarmPackageId()}::usdb::USDB`))\n : normalizeStructTag(await this.bucketClient.getUsdbCoinType());\n const res = await this.suiClient.simulateTransaction({\n transaction: tx,\n include: { balanceChanges: true },\n });\n\n if (res.$kind !== \"Transaction\") {\n throw new Error(\n \"StableLayerClient.getClaimRewardUsdbAmount: dry-run did not succeed; cannot infer claimable USDB.\",\n );\n }\n\n const changes = res.Transaction?.balanceChanges ?? [];\n const addr = sender.toLowerCase();\n let sum = 0n;\n for (const bc of changes) {\n if (bc.address.toLowerCase() !== addr) continue;\n if (normalizeStructTag(bc.coinType) !== usdbType) continue;\n const amt = BigInt(bc.amount);\n if (amt > 0n) sum += amt;\n }\n return sum;\n }\n\n buildSetMaxSupplyTx({\n tx,\n registry,\n factoryCapId,\n maxSupply,\n stableCoinType,\n usdCoinType,\n sender,\n }: SetMaxSupplyTransactionParams): void {\n tx.setSender(sender ?? this.sender);\n const constants = this.getConstants();\n\n setMaxSupply({\n package: constants.STABLE_LAYER_PACKAGE_ID,\n arguments: {\n registry,\n FactoryCap: factoryCapId,\n maxSupply,\n },\n typeArguments: [stableCoinType, usdCoinType],\n })(tx);\n }\n\n async getTotalSupply(): Promise<string | undefined> {\n const constants = this.getConstants();\n const result = await this.suiClient.getObject({\n objectId: constants.STABLE_REGISTRY,\n include: { json: true },\n });\n\n const json = result.object?.json as { total_supply?: string } | null | undefined;\n return json?.total_supply ?? undefined;\n }\n\n async getTotalSupplyByCoinType(stableCoinType: string): Promise<string | undefined> {\n const TypeName = bcs.struct(\"TypeName\", { name: bcs.string() });\n const nameBcs = TypeName.serialize({ name: stableCoinType.slice(2) }).toBytes();\n\n const constants = this.getConstants();\n const result = await this.suiClient.core.getDynamicObjectField({\n parentId: constants.STABLE_REGISTRY,\n name: {\n type: \"0x1::type_name::TypeName\",\n bcs: nameBcs,\n },\n include: { json: true },\n });\n\n const json = result.object?.json as\n | { treasury_cap?: { total_supply?: { value?: string } } }\n | null\n | undefined;\n return json?.treasury_cap?.total_supply?.value ?? undefined;\n }\n\n private async getBucketSavingPool(tx: Transaction) {\n return Promise.resolve(\n this.bucketClient.savingPoolObj(tx, { lpType: this.getConstants().SAVING_TYPE }),\n );\n }\n\n private async getBucketPSMPool(tx: Transaction) {\n return Promise.resolve(\n this.bucketClient.psmPoolObj(tx, { coinType: this.getConstants().USDC_TYPE }),\n );\n }\n\n private async checkResponse({\n tx,\n response,\n type,\n }: {\n tx: Transaction;\n response: TransactionArgument;\n type: \"deposit\" | \"withdraw\";\n }) {\n const lpType = this.getConstants().SAVING_TYPE;\n if (type === \"deposit\") {\n return Promise.resolve(\n this.bucketClient.checkDepositResponse(tx, {\n lpType,\n depositResponse: response,\n }),\n );\n } else {\n return Promise.resolve(\n this.bucketClient.checkWithdrawResponse(tx, {\n lpType,\n withdrawResponse: response,\n }),\n );\n }\n }\n\n private async releaseRewards(tx: Transaction) {\n const constants = this.getConstants();\n const depositResponse = release({\n package: constants.YIELD_USDB_PACKAGE_ID,\n arguments: {\n vault: constants.YIELD_VAULT,\n treasury: await Promise.resolve(this.bucketClient.treasury(tx)),\n savingPool: await Promise.resolve(\n this.bucketClient.savingPoolObj(tx, { lpType: constants.SAVING_TYPE }),\n ),\n },\n typeArguments: [constants.YUSDB_TYPE, constants.SAVING_TYPE],\n })(tx);\n\n await Promise.resolve(\n this.bucketClient.checkDepositResponse(tx, {\n depositResponse,\n lpType: constants.SAVING_TYPE,\n }),\n );\n }\n}\n\nexport * from \"./libs/constants.js\";\nexport {\n STABLE_REGISTRY_MAINNET_ALT,\n STABLE_LAYER_PACKAGE_MAINNET_ALT,\n} from \"./libs/constants.mainnet.js\";\nexport type { ClaimRewardUsdbAmountParams, SetMaxSupplyTransactionParams } from \"./interface.js\";\n", "\nimport { bcs, BcsType, TypeTag, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple } from '@mysten/sui/bcs';\nimport { normalizeSuiAddress } from '@mysten/sui/utils';\nimport { TransactionArgument, isArgument } from '@mysten/sui/transactions';\n\nconst MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');\nconst SUI_FRAMEWORK_ADDRESS = normalizeSuiAddress('0x2');\nconst SUI_SYSTEM_ADDRESS = normalizeSuiAddress('0x3');\n\nexport type RawTransactionArgument<T> = T | TransactionArgument;\n\nexport function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null {\n\tconst parsedTag = typeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag) : typeTag;\n\n\tif ('u8' in parsedTag) {\n\t\treturn bcs.U8;\n\t} else if ('u16' in parsedTag) {\n\t\treturn bcs.U16;\n\t} else if ('u32' in parsedTag) {\n\t\treturn bcs.U32;\n\t} else if ('u64' in parsedTag) {\n\t\treturn bcs.U64;\n\t} else if ('u128' in parsedTag) {\n\t\treturn bcs.U128;\n\t} else if ('u256' in parsedTag) {\n\t\treturn bcs.U256;\n\t} else if ('address' in parsedTag) {\n\t\treturn bcs.Address;\n\t} else if ('bool' in parsedTag) {\n\t\treturn bcs.Bool;\n\t} else if ('vector' in parsedTag) {\n\t\tconst type = getPureBcsSchema(parsedTag.vector);\n\t\treturn type ? bcs.vector(type) : null;\n\t} else if ('struct' in parsedTag) {\n\t\tconst structTag = parsedTag.struct;\n\t\tconst pkg = normalizeSuiAddress(parsedTag.struct.address);\n\n\t\tif (pkg === MOVE_STDLIB_ADDRESS) {\n\t\t\tif (\n\t\t\t\t(structTag.module === 'ascii' || structTag.module === 'string') &&\n\t\t\t\tstructTag.name === 'String'\n\t\t\t) {\n\t\t\t\treturn bcs.String;\n\t\t\t}\n\n\t\t\tif (structTag.module === 'option' && structTag.name === 'Option') {\n\t\t\t\tconst type = getPureBcsSchema(structTag.typeParams[0]!);\n\t\t\t\treturn type ? bcs.option(type) : null;\n\t\t\t}\n\t\t}\n\n\t\tif (pkg === SUI_FRAMEWORK_ADDRESS && structTag.module === 'Object' && structTag.name === 'ID') {\n\t\t\treturn bcs.Address;\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport function normalizeMoveArguments(args: unknown[] | object, argTypes: string[], parameterNames?: string[]) {\n\tconst argLen = Array.isArray(args) ? args.length : Object.keys(args).length;\n\tif (parameterNames && argLen !== parameterNames.length) {\n\t\tthrow new Error(\n\t\t\t`Invalid number of arguments, expected ${parameterNames.length}, got ${argLen}`,\n\t\t);\n\t}\n\n\tconst normalizedArgs: TransactionArgument[] = [];\n\n\tlet index = 0;\n\tfor (const [i, argType] of argTypes.entries()) {\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::deny_list::DenyList`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.denyList());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::random::Random`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.random());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_FRAMEWORK_ADDRESS}::clock::Clock`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.clock());\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (argType === `${SUI_SYSTEM_ADDRESS}::sui_system::SuiSystemState`) {\n\t\t\tnormalizedArgs.push((tx) => tx.object.system());\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet arg\n\t\tif (Array.isArray(args)) {\n\t\t\tif (index >= args.length) {\n\t\t\t\tthrow new Error(`Invalid number of arguments, expected at least ${index + 1}, got ${args.length}`);\n\t\t\t}\n\t\t\targ = args[index];\n\t\t} else {\n\t\t\tif (!parameterNames) {\n\t\t\t\tthrow new Error(`Expected arguments to be passed as an array`);\n\t\t\t}\n\t\t\tconst name = parameterNames[index];\n\t\t\targ = args[name as keyof typeof args];\n\n\t\t\tif (arg == null) {\n\t\t\t\tthrow new Error(`Parameter ${name} is required`);\n\t\t\t}\n\t\t}\n\n\t\tindex += 1;\n\n\t\tif (typeof arg === 'function' || isArgument(arg)) {\n\t\t\tnormalizedArgs.push(arg as TransactionArgument);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst type = argTypes[i]!;\n\t\tconst bcsType = getPureBcsSchema(type);\n\n\t\tif (bcsType) {\n\t\t\tconst bytes = bcsType.serialize(arg as never);\n\t\t\tnormalizedArgs.push((tx) => tx.pure(bytes));\n\t\t\tcontinue;\n\t\t} else if (typeof arg === 'string') {\n\t\t\tnormalizedArgs.push((tx) => tx.object(arg));\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new Error(`Invalid argument ${stringify(arg)} for type ${type}`);\n\t}\n\n\treturn normalizedArgs;\n}\n\nexport class MoveStruct<\n\tT extends Record<string, BcsType<any>>,\n\tconst Name extends string = string,\n> extends BcsStruct<T, Name> {}\n\nexport class MoveEnum<\n\tT extends Record<string, BcsType<any> | null>,\n\tconst Name extends string,\n> extends BcsEnum<T, Name> {}\n\nexport class MoveTuple<\n\tT extends readonly BcsType<any>[],\n\tconst Name extends string,\n> extends BcsTuple<T, Name> {}\n\nfunction stringify(val: unknown) {\n\tif (typeof val === 'object') {\n\t\treturn JSON.stringify(val, (val: unknown) => val);\n\t}\n\tif (typeof val === 'bigint') {\n\t\treturn val.toString();\n\t}\n\n\treturn val;\n}\n", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as sheet_1 from './deps/bucket_v2_framework/sheet.js';\nimport * as object from './deps/sui/object.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nimport * as coin from './deps/sui/coin.js';\nconst $moduleName = '@local-pkg/stable_factory.move::stable_layer';\nexport const NewStable = new MoveStruct({ name: `${$moduleName}::NewStable`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n factory_id: bcs.Address,\n factory_cap_id: bcs.Address\n } });\nexport const Mint = new MoveStruct({ name: `${$moduleName}::Mint`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n mint_amount: bcs.u64(),\n farm_type: bcs.string()\n } });\nexport const Burn = new MoveStruct({ name: `${$moduleName}::Burn`, fields: {\n u_type: bcs.string(),\n stable_type: bcs.string(),\n burn_amount: bcs.u64(),\n farm_types: bcs.vector(sheet_1.Entity),\n repayment_amounts: bcs.vector(bcs.u64())\n } });\nexport const StableFactoryEntity = new MoveStruct({ name: `${$moduleName}::StableFactoryEntity`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableRegistry = new MoveStruct({ name: `${$moduleName}::StableRegistry`, fields: {\n id: object.UID,\n versions: vec_set.VecSet(bcs.u16()),\n total_supply: bcs.u64()\n } });\nexport const AdminCap = new MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {\n id: object.UID\n } });\nexport const StableFactory = new MoveStruct({ name: `${$moduleName}::StableFactory`, fields: {\n id: object.UID,\n treasury_cap: coin.TreasuryCap,\n max_supply: bcs.u64(),\n sheet: sheet_1.Sheet,\n managers: vec_set.VecSet(bcs.Address)\n } });\nexport const FactoryCap = new MoveStruct({ name: `${$moduleName}::FactoryCap`, fields: {\n id: object.UID,\n factory_id: bcs.Address\n } });\nexport interface PackageVersionOptions {\n package?: string;\n arguments?: [\n ];\n}\nexport function packageVersion(options: PackageVersionOptions = {}) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'package_version',\n });\n}\nexport interface NewArguments {\n registry: RawTransactionArgument<string>;\n treasuryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n registry: RawTransactionArgument<string>,\n treasuryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Admin Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"treasuryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n registry: RawTransactionArgument<string>;\n treasuryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n registry: RawTransactionArgument<string>,\n treasuryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"treasuryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddVersionArguments {\n AdminCap: RawTransactionArgument<string>;\n registry: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface AddVersionOptions {\n package?: string;\n arguments: AddVersionArguments | [\n AdminCap: RawTransactionArgument<string>,\n registry: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n}\n/** Admin Funs */\nexport function addVersion(options: AddVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::AdminCap`,\n `${packageAddress}::stable_layer::StableRegistry`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"registry\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface RemoveVersionArguments {\n AdminCap: RawTransactionArgument<string>;\n registry: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface RemoveVersionOptions {\n package?: string;\n arguments: RemoveVersionArguments | [\n AdminCap: RawTransactionArgument<string>,\n registry: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n}\nexport function removeVersion(options: RemoveVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::AdminCap`,\n `${packageAddress}::stable_layer::StableRegistry`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"registry\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'remove_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface AddEntityArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n}\nexport interface AddEntityOptions {\n package?: string;\n arguments: AddEntityArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Factory Cap Funs */\nexport function addEntity(options: AddEntityOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_entity',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BanEntityArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n}\nexport interface BanEntityOptions {\n package?: string;\n arguments: BanEntityArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\nexport function banEntity(options: BanEntityOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'ban_entity',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddManagerArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface AddManagerOptions {\n package?: string;\n arguments: AddManagerArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addManager(options: AddManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'add_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveManagerArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface RemoveManagerOptions {\n package?: string;\n arguments: RemoveManagerArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeManager(options: RemoveManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'remove_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SetMaxSupplyArguments {\n registry: RawTransactionArgument<string>;\n FactoryCap: RawTransactionArgument<string>;\n maxSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface SetMaxSupplyOptions {\n package?: string;\n arguments: SetMaxSupplyArguments | [\n registry: RawTransactionArgument<string>,\n FactoryCap: RawTransactionArgument<string>,\n maxSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function setMaxSupply(options: SetMaxSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_layer::FactoryCap<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"registry\", \"FactoryCap\", \"maxSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'set_max_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintArguments {\n registry: RawTransactionArgument<string>;\n uCoin: RawTransactionArgument<string>;\n}\nexport interface MintOptions {\n package?: string;\n arguments: MintArguments | [\n registry: RawTransactionArgument<string>,\n uCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Public Funs */\nexport function mint(options: MintOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"uCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'mint',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RequestBurnArguments {\n registry: RawTransactionArgument<string>;\n stableCoin: RawTransactionArgument<string>;\n}\nexport interface RequestBurnOptions {\n package?: string;\n arguments: RequestBurnArguments | [\n registry: RawTransactionArgument<string>,\n stableCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function requestBurn(options: RequestBurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"stableCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'request_burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface FulfillBurnArguments {\n registry: RawTransactionArgument<string>;\n burnRequest: RawTransactionArgument<string>;\n}\nexport interface FulfillBurnOptions {\n package?: string;\n arguments: FulfillBurnArguments | [\n registry: RawTransactionArgument<string>,\n burnRequest: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function fulfillBurn(options: FulfillBurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::sheet::Request<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[0]}, ${options.typeArguments[1]}>>`\n ] satisfies string[];\n const parameterNames = [\"registry\", \"burnRequest\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'fulfill_burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface VersionsArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface VersionsOptions {\n package?: string;\n arguments: VersionsArguments | [\n registry: RawTransactionArgument<string>\n ];\n}\n/** Getter Fun */\nexport function versions(options: VersionsOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'versions',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface TotalSupplyArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface TotalSupplyOptions {\n package?: string;\n arguments: TotalSupplyArguments | [\n registry: RawTransactionArgument<string>\n ];\n}\nexport function totalSupply(options: TotalSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'total_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n });\n}\nexport interface BorrowFactoryArguments {\n registry: RawTransactionArgument<string>;\n}\nexport interface BorrowFactoryOptions {\n package?: string;\n arguments: BorrowFactoryArguments | [\n registry: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function borrowFactory(options: BorrowFactoryOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableRegistry`\n ] satisfies string[];\n const parameterNames = [\"registry\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'borrow_factory',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SheetArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface SheetOptions {\n package?: string;\n arguments: SheetArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function sheet(options: SheetOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'sheet',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface StableSupplyArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface StableSupplyOptions {\n package?: string;\n arguments: StableSupplyArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function stableSupply(options: StableSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'stable_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MaxSupplyArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface MaxSupplyOptions {\n package?: string;\n arguments: MaxSupplyArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function maxSupply(options: MaxSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'max_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ManagersArguments {\n factory: RawTransactionArgument<string>;\n}\nexport interface ManagersOptions {\n package?: string;\n arguments: ManagersArguments | [\n factory: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function managers(options: ManagersOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_factory.move';\n const argumentsTypes = [\n `${packageAddress}::stable_layer::StableFactory<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"factory\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_layer',\n function: 'managers',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Functionality for converting Move types into values. Use with care! */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'std::type_name';\nexport const TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {\n /**\n * String representation of the type. All types are represented using their source\n * syntax: \"u8\", \"u64\", \"bool\", \"address\", \"vector\", and so on for primitive types.\n * Struct types are represented as fully qualified type names; e.g.\n * `00000000000000000000000000000001::string::String` or\n * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`\n * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or\n * 32 depending on the Move platform)\n */\n name: bcs.string()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_map';\n/** An entry in the map */\nexport function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n key: typeParameters[0],\n value: typeParameters[1]\n } });\n}\n/**\n * A map data structure backed by a vector. The map is guaranteed not to contain\n * duplicate keys, but entries are _not_ sorted by key--entries are included in\n * insertion order. All operations are O(N) in the size of the map--the intention\n * of this data structure is only to provide the convenience of programming against\n * a map API. Large maps should use handwritten parent/child relationships instead.\n * Maps that need sorted iteration rather than insertion order iteration should\n * also be handwritten.\n */\nexport function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n contents: bcs.vector(Entry(typeParameters[0], typeParameters[1]))\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for managing Credit and Debt for DeFi protocol usage */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::liability';\nexport const Credit = new MoveStruct({ name: `${$moduleName}::Credit`, fields: {\n value: bcs.u64()\n } });\nexport const Debt = new MoveStruct({ name: `${$moduleName}::Debt`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for the record of Credit and Debt of certain entity */\n\nimport { MoveTuple, MoveStruct } from '../../../utils/index.js';\nimport * as type_name from '../std/type_name.js';\nimport * as vec_map from '../sui/vec_map.js';\nimport * as liability from './liability.js';\nimport * as vec_set from '../sui/vec_set.js';\nconst $moduleName = 'bucket_v2_framework::sheet';\nexport const Entity = new MoveTuple({ name: `${$moduleName}::Entity`, fields: [type_name.TypeName] });\nexport const Sheet = new MoveStruct({ name: `${$moduleName}::Sheet`, fields: {\n credits: vec_map.VecMap(Entity, liability.Credit),\n debts: vec_map.VecMap(Entity, liability.Debt),\n blacklist: vec_set.VecSet(Entity)\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Supply = new MoveStruct({ name: `${$moduleName}::Supply`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * Defines the `Coin` type - platform wide representation of fungible tokens and\n * coins. `Coin` can be described as a secure wrapper around `Balance` type.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport * as object from './object.js';\nimport * as balance from './balance.js';\nconst $moduleName = '0x2::coin';\nexport const TreasuryCap = new MoveStruct({ name: `${$moduleName}::TreasuryCap`, fields: {\n id: object.UID,\n total_supply: balance.Supply\n } });", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as object from './deps/sui/object.js';\nimport * as sheet from './deps/bucket_v2_framework/sheet.js';\nimport * as table from './deps/sui/table.js';\nimport * as balance from './deps/sui/balance.js';\nconst $moduleName = '@local-pkg/stable_vault_farm.move::stable_vault_farm';\nexport const Claim = new MoveStruct({ name: `${$moduleName}::Claim`, fields: {\n reward_type: bcs.string(),\n amount: bcs.u64(),\n claimer: bcs.Address\n } });\nexport const StableVaultFarmEntity = new MoveStruct({ name: `${$moduleName}::StableVaultFarmEntity`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableVaultFarmWitness = new MoveStruct({ name: `${$moduleName}::StableVaultFarmWitness`, fields: {\n dummy_field: bcs.bool()\n } });\nexport const StableVaultFarm = new MoveStruct({ name: `${$moduleName}::StableVaultFarm`, fields: {\n id: object.UID,\n sheet: sheet.Sheet,\n yield_table: table.Table,\n u_surplus: balance.Balance\n } });\nexport const AdminCap = new MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {\n id: object.UID\n } });\nexport interface NewArguments {\n Cap: RawTransactionArgument<string>;\n initUCoin: RawTransactionArgument<string>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n Cap: RawTransactionArgument<string>,\n initUCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::AdminCap`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"Cap\", \"initUCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n cap: RawTransactionArgument<string>;\n initUCoin: RawTransactionArgument<string>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n cap: RawTransactionArgument<string>,\n initUCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::AdminCap`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"cap\", \"initUCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReceiveArguments {\n farm: RawTransactionArgument<string>;\n loan: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n psmPool: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n uPrice: RawTransactionArgument<string>;\n}\nexport interface ReceiveOptions {\n package?: string;\n arguments: ReceiveArguments | [\n farm: RawTransactionArgument<string>,\n loan: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n psmPool: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>,\n uPrice: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function receive(options: ReceiveOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::sheet::Loan<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[2]}, ${options.typeArguments[1]}>, ${packageAddress}::stable_vault_farm::StableVaultFarmEntity<${options.typeArguments[0]}, ${options.typeArguments[1]}>>`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::pool::Pool<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n `${packageAddress}::result::PriceResult<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"loan\", \"stableVault\", \"usdbTreasury\", \"psmPool\", \"savingPool\", \"yieldVault\", \"uPrice\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'receive',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface PayArguments {\n farm: RawTransactionArgument<string>;\n request: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n psmPool: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n uPrice: RawTransactionArgument<string>;\n}\nexport interface PayOptions {\n package?: string;\n arguments: PayArguments | [\n farm: RawTransactionArgument<string>,\n request: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n psmPool: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>,\n uPrice: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function pay(options: PayOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::sheet::Request<${options.typeArguments[1]}, ${packageAddress}::stable_layer::StableFactoryEntity<${options.typeArguments[2]}, ${options.typeArguments[1]}>>`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::pool::Pool<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n `${packageAddress}::result::PriceResult<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"request\", \"stableVault\", \"usdbTreasury\", \"psmPool\", \"savingPool\", \"yieldVault\", \"uPrice\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'pay',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimArguments {\n farm: RawTransactionArgument<string>;\n stableRegistry: RawTransactionArgument<string>;\n stableVault: RawTransactionArgument<string>;\n usdbTreasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n}\nexport interface ClaimOptions {\n package?: string;\n arguments: ClaimArguments | [\n farm: RawTransactionArgument<string>,\n stableRegistry: RawTransactionArgument<string>,\n stableVault: RawTransactionArgument<string>,\n usdbTreasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function claim(options: ClaimOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::stable_layer::StableRegistry`,\n `${packageAddress}::stable_vault::StableVault<${options.typeArguments[0]}, ${options.typeArguments[1]}, ${options.typeArguments[3]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"stableRegistry\", \"stableVault\", \"usdbTreasury\", \"savingPool\", \"yieldVault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'claim',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimableAmountArguments {\n farm: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n yieldVault: RawTransactionArgument<string>;\n}\nexport interface ClaimableAmountOptions {\n package?: string;\n arguments: ClaimableAmountArguments | [\n farm: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n yieldVault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string,\n string,\n string\n ];\n}\nexport function claimableAmount(options: ClaimableAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[4]}>`,\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[3]}, ${options.typeArguments[4]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"farm\", \"savingPool\", \"yieldVault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'claimable_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddSurplusArguments {\n farm: RawTransactionArgument<string>;\n coin: RawTransactionArgument<string>;\n}\nexport interface AddSurplusOptions {\n package?: string;\n arguments: AddSurplusArguments | [\n farm: RawTransactionArgument<string>,\n coin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addSurplus(options: AddSurplusOptions) {\n const packageAddress = options.package ?? '@local-pkg/stable_vault_farm.move';\n const argumentsTypes = [\n `${packageAddress}::stable_vault_farm::StableVaultFarm<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"farm\", \"coin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'stable_vault_farm',\n function: 'add_surplus',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Functionality for converting Move types into values. Use with care! */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'std::type_name';\nexport const TypeName = new MoveStruct({ name: `${$moduleName}::TypeName`, fields: {\n /**\n * String representation of the type. All types are represented using their source\n * syntax: \"u8\", \"u64\", \"bool\", \"address\", \"vector\", and so on for primitive types.\n * Struct types are represented as fully qualified type names; e.g.\n * `00000000000000000000000000000001::string::String` or\n * `0000000000000000000000000000000a::module_name1::type_name1<0000000000000000000000000000000a::module_name2::type_name2<u64>>`\n * Addresses are hex-encoded lowercase values of length ADDRESS_LENGTH (16, 20, or\n * 32 depending on the Move platform)\n */\n name: bcs.string()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_map';\n/** An entry in the map */\nexport function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n key: typeParameters[0],\n value: typeParameters[1]\n } });\n}\n/**\n * A map data structure backed by a vector. The map is guaranteed not to contain\n * duplicate keys, but entries are _not_ sorted by key--entries are included in\n * insertion order. All operations are O(N) in the size of the map--the intention\n * of this data structure is only to provide the convenience of programming against\n * a map API. Large maps should use handwritten parent/child relationships instead.\n * Maps that need sorted iteration rather than insertion order iteration should\n * also be handwritten.\n */\nexport function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [\n K,\n V\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`, fields: {\n contents: bcs.vector(Entry(typeParameters[0], typeParameters[1]))\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for managing Credit and Debt for DeFi protocol usage */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::liability';\nexport const Credit = new MoveStruct({ name: `${$moduleName}::Credit`, fields: {\n value: bcs.u64()\n } });\nexport const Debt = new MoveStruct({ name: `${$moduleName}::Debt`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for the record of Credit and Debt of certain entity */\n\nimport { MoveTuple, MoveStruct } from '../../../utils/index.js';\nimport * as type_name from '../std/type_name.js';\nimport * as vec_map from '../sui/vec_map.js';\nimport * as liability from './liability.js';\nimport * as vec_set from '../sui/vec_set.js';\nconst $moduleName = 'bucket_v2_framework::sheet';\nexport const Entity = new MoveTuple({ name: `${$moduleName}::Entity`, fields: [type_name.TypeName] });\nexport const Sheet = new MoveStruct({ name: `${$moduleName}::Sheet`, fields: {\n credits: vec_map.VecMap(Entity, liability.Credit),\n debts: vec_map.VecMap(Entity, liability.Debt),\n blacklist: vec_set.VecSet(Entity)\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A table is a map-like collection. But unlike a traditional collection, it's keys\n * and values are not stored within the `Table` value, but instead are stored using\n * Sui's object system. The `Table` struct acts only as a handle into the object\n * system to retrieve those keys and values. Note that this means that `Table`\n * values with exactly the same key-value mapping will not be equal, with `==`, at\n * runtime. For example\n * \n * ```\n * let table1 = table::new<u64, bool>();\n * let table2 = table::new<u64, bool>();\n * table::add(&mut table1, 0, false);\n * table::add(&mut table1, 1, true);\n * table::add(&mut table2, 0, false);\n * table::add(&mut table2, 1, true);\n * // table1 does not equal table2, despite having the same entries\n * assert!(&table1 != &table2);\n * ```\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport * as object from './object.js';\nconst $moduleName = '0x2::table';\nexport const Table = new MoveStruct({ name: `${$moduleName}::Table`, fields: {\n /** the ID of this table */\n id: object.UID,\n /** the number of key-value pairs in the table */\n size: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Balance = new MoveStruct({ name: `${$moduleName}::Balance`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as object from './deps/sui/object.js';\nimport * as coin from './deps/sui/coin.js';\nimport * as account from './deps/bucket_v2_framework/account.js';\nimport * as buffer_1 from './buffer.js';\nimport * as vec_set from './deps/sui/vec_set.js';\nconst $moduleName = '@local-pkg/yield_usdb.move::yield_usdb';\nexport const Created = new MoveStruct({ name: `${$moduleName}::Created`, fields: {\n vault_id: bcs.Address,\n max_lp_supply: bcs.u64(),\n abstract_address: bcs.Address\n } });\nexport const MaxSupplyUpdated = new MoveStruct({ name: `${$moduleName}::MaxSupplyUpdated`, fields: {\n vault_id: bcs.Address,\n previous_max_lp_supply: bcs.u64(),\n current_max_lp_supply: bcs.u64()\n } });\nexport const Minted = new MoveStruct({ name: `${$moduleName}::Minted`, fields: {\n vault_id: bcs.Address,\n usdb_amount: bcs.u64(),\n lp_amount: bcs.u64()\n } });\nexport const Burned = new MoveStruct({ name: `${$moduleName}::Burned`, fields: {\n vault_id: bcs.Address,\n lp_amount: bcs.u64(),\n usdb_amount: bcs.u64()\n } });\nexport const Claimed = new MoveStruct({ name: `${$moduleName}::Claimed`, fields: {\n vault_id: bcs.Address,\n reward_type: bcs.string(),\n reward_amount: bcs.u64()\n } });\nexport const Collected = new MoveStruct({ name: `${$moduleName}::Collected`, fields: {\n vault_id: bcs.Address,\n usdb_amount: bcs.u64()\n } });\nexport const YieldVault = new MoveStruct({ name: `${$moduleName}::YieldVault`, fields: {\n id: object.UID,\n max_lp_supply: bcs.u64(),\n lp_treasury_cap: coin.TreasuryCap,\n abstract_account: account.Account,\n buffer: buffer_1.Buffer,\n managers: vec_set.VecSet(bcs.Address),\n versions: vec_set.VecSet(bcs.u16())\n } });\nexport interface PackageVersionOptions {\n package?: string;\n arguments?: [\n ];\n}\nexport function packageVersion(options: PackageVersionOptions = {}) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'package_version',\n });\n}\nexport interface NewArguments {\n AdminCap: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpTreasuryCap: RawTransactionArgument<string>;\n accountObj: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n AdminCap: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpTreasuryCap: RawTransactionArgument<string>,\n accountObj: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Admin Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::admin::AdminCap`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n `${packageAddress}::account::Account`,\n 'u64',\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"AdminCap\", \"savingPool\", \"lpTreasuryCap\", \"accountObj\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DefaultArguments {\n adminCap: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpTreasuryCap: RawTransactionArgument<string>;\n accountObj: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface DefaultOptions {\n package?: string;\n arguments: DefaultArguments | [\n adminCap: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpTreasuryCap: RawTransactionArgument<string>,\n accountObj: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function _default(options: DefaultOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::admin::AdminCap`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::TreasuryCap<${options.typeArguments[0]}>`,\n `${packageAddress}::account::Account`,\n 'u64',\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"adminCap\", \"savingPool\", \"lpTreasuryCap\", \"accountObj\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'default',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DestroyArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n}\nexport interface DestroyOptions {\n package?: string;\n arguments: DestroyArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function destroy(options: DestroyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'destroy',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddManagerArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface AddManagerOptions {\n package?: string;\n arguments: AddManagerArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addManager(options: AddManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'add_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveManagerArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n manager: RawTransactionArgument<string>;\n}\nexport interface RemoveManagerOptions {\n package?: string;\n arguments: RemoveManagerArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n manager: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeManager(options: RemoveManagerOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'address'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"manager\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'remove_manager',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AddVersionArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface AddVersionOptions {\n package?: string;\n arguments: AddVersionArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function addVersion(options: AddVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'add_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface RemoveVersionArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n version: RawTransactionArgument<number>;\n}\nexport interface RemoveVersionOptions {\n package?: string;\n arguments: RemoveVersionArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n version: RawTransactionArgument<number>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function removeVersion(options: RemoveVersionOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u16'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"version\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'remove_version',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface UpdateMaxLpSupplyArguments {\n vault: RawTransactionArgument<string>;\n AdminCap: RawTransactionArgument<string>;\n maxLpSupply: RawTransactionArgument<number | bigint>;\n}\nexport interface UpdateMaxLpSupplyOptions {\n package?: string;\n arguments: UpdateMaxLpSupplyArguments | [\n vault: RawTransactionArgument<string>,\n AdminCap: RawTransactionArgument<string>,\n maxLpSupply: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function updateMaxLpSupply(options: UpdateMaxLpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::admin::AdminCap`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"AdminCap\", \"maxLpSupply\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'update_max_lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n usdbCoin: RawTransactionArgument<string>;\n}\nexport interface MintOptions {\n package?: string;\n arguments: MintArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n usdbCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Public Fun */\nexport function mint(options: MintOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${packageAddress}::usdb::USDB>`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"usdbCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'mint',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleaseArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface ReleaseOptions {\n package?: string;\n arguments: ReleaseArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function release(options: ReleaseOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'release',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BurnArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n lpCoin: RawTransactionArgument<string>;\n}\nexport interface BurnOptions {\n package?: string;\n arguments: BurnArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n lpCoin: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function burn(options: BurnOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"lpCoin\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'burn',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimArguments {\n vault: RawTransactionArgument<string>;\n rewardManager: RawTransactionArgument<string>;\n config: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n accountReq: RawTransactionArgument<string>;\n}\nexport interface ClaimOptions {\n package?: string;\n arguments: ClaimArguments | [\n vault: RawTransactionArgument<string>,\n rewardManager: RawTransactionArgument<string>,\n config: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n accountReq: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\n/** Manager Funs */\nexport function claim(options: ClaimOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving_incentive::RewardManager<${options.typeArguments[1]}>`,\n `${packageAddress}::incentive_config::GlobalConfig`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::account::AccountRequest`\n ] satisfies string[];\n const parameterNames = [\"vault\", \"rewardManager\", \"config\", \"savingPool\", \"accountReq\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'claim',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface CollectArguments {\n vault: RawTransactionArgument<string>;\n treasury: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n usdbCoin: RawTransactionArgument<string>;\n accountReq: RawTransactionArgument<string>;\n bufferTime: RawTransactionArgument<number | bigint>;\n}\nexport interface CollectOptions {\n package?: string;\n arguments: CollectArguments | [\n vault: RawTransactionArgument<string>,\n treasury: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>,\n usdbCoin: RawTransactionArgument<string>,\n accountReq: RawTransactionArgument<string>,\n bufferTime: RawTransactionArgument<number | bigint>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function collect(options: CollectOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::usdb::Treasury`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${packageAddress}::usdb::USDB>`,\n `${packageAddress}::account::AccountRequest`,\n 'u64'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"treasury\", \"savingPool\", \"usdbCoin\", \"accountReq\", \"bufferTime\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'collect',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface IdArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface IdOptions {\n package?: string;\n arguments: IdArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\n/** Getter Funs */\nexport function id(options: IdOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'id',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MaxLpSupplyArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface MaxLpSupplyOptions {\n package?: string;\n arguments: MaxLpSupplyArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function maxLpSupply(options: MaxLpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'max_lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface UsdbReserveArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface UsdbReserveOptions {\n package?: string;\n arguments: UsdbReserveArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function usdbReserve(options: UsdbReserveOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'usdb_reserve',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface LpSupplyArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface LpSupplyOptions {\n package?: string;\n arguments: LpSupplyArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function lpSupply(options: LpSupplyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'lp_supply',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface MintRatioArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface MintRatioOptions {\n package?: string;\n arguments: MintRatioArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function mintRatio(options: MintRatioOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'mint_ratio',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BurnRatioArguments {\n vault: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface BurnRatioOptions {\n package?: string;\n arguments: BurnRatioArguments | [\n vault: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function burnRatio(options: BurnRatioOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'burn_ratio',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ClaimableRewardAmountArguments {\n vault: RawTransactionArgument<string>;\n rewardManager: RawTransactionArgument<string>;\n savingPool: RawTransactionArgument<string>;\n}\nexport interface ClaimableRewardAmountOptions {\n package?: string;\n arguments: ClaimableRewardAmountArguments | [\n vault: RawTransactionArgument<string>,\n rewardManager: RawTransactionArgument<string>,\n savingPool: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string,\n string\n ];\n}\nexport function claimableRewardAmount(options: ClaimableRewardAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`,\n `${packageAddress}::saving_incentive::RewardManager<${options.typeArguments[1]}>`,\n `${packageAddress}::saving::SavingPool<${options.typeArguments[1]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"vault\", \"rewardManager\", \"savingPool\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'claimable_reward_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface AbstractAddressArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface AbstractAddressOptions {\n package?: string;\n arguments: AbstractAddressArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function abstractAddress(options: AbstractAddressOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'abstract_address',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BufferArguments {\n vault: RawTransactionArgument<string>;\n}\nexport interface BufferOptions {\n package?: string;\n arguments: BufferArguments | [\n vault: RawTransactionArgument<string>\n ];\n typeArguments: [\n string,\n string\n ];\n}\nexport function buffer(options: BufferOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::yield_usdb::YieldVault<${options.typeArguments[0]}, ${options.typeArguments[1]}>`\n ] satisfies string[];\n const parameterNames = [\"vault\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'yield_usdb',\n function: 'buffer',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Sui object identifiers */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::object';\nexport const UID = new MoveStruct({ name: `${$moduleName}::UID`, fields: {\n id: bcs.Address\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * A storable handler for Balances in general. Is used in the `Coin` module to\n * allow balance operations and can be used to implement custom coins with `Supply`\n * and `Balance`s.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = '0x2::balance';\nexport const Balance = new MoveStruct({ name: `${$moduleName}::Balance`, fields: {\n value: bcs.u64()\n } });\nexport const Supply = new MoveStruct({ name: `${$moduleName}::Supply`, fields: {\n value: bcs.u64()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/**\n * Defines the `Coin` type - platform wide representation of fungible tokens and\n * coins. `Coin` can be described as a secure wrapper around `Balance` type.\n */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport * as object from './object.js';\nimport * as balance from './balance.js';\nconst $moduleName = '0x2::coin';\nexport const TreasuryCap = new MoveStruct({ name: `${$moduleName}::TreasuryCap`, fields: {\n id: object.UID,\n total_supply: balance.Supply\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for Account Abstraction */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nimport * as object from '../sui/object.js';\nconst $moduleName = 'bucket_v2_framework::account';\nexport const Account = new MoveStruct({ name: `${$moduleName}::Account`, fields: {\n id: object.UID,\n alias: bcs.option(bcs.string())\n } });", "/**************************************************************\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 } from '@mysten/sui/transactions';\nimport * as balance_1 from './deps/sui/balance.js';\nimport * as double from './deps/bucket_v2_framework/double.js';\nconst $moduleName = '@local-pkg/yield_usdb.move::buffer';\nexport const Buffer = new MoveStruct({ name: `${$moduleName}::Buffer`, fields: {\n balance: balance_1.Balance,\n flow_rate: double.Double,\n timestamp: bcs.u64()\n } });\nexport interface NewArguments {\n flowRate: RawTransactionArgument<string>;\n}\nexport interface NewOptions {\n package?: string;\n arguments: NewArguments | [\n flowRate: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\n/** Public Funs */\nexport function _new(options: NewOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::double::Double`\n ] satisfies string[];\n const parameterNames = [\"flowRate\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'new',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface DestroyArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface DestroyOptions {\n package?: string;\n arguments: DestroyArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function destroy(options: DestroyOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'destroy',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface JoinArguments {\n buffer: RawTransactionArgument<string>;\n input: RawTransactionArgument<string>;\n}\nexport interface JoinOptions {\n package?: string;\n arguments: JoinArguments | [\n buffer: RawTransactionArgument<string>,\n input: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function join(options: JoinOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\", \"input\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'join',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleaseArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface ReleaseOptions {\n package?: string;\n arguments: ReleaseArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function release(options: ReleaseOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'release',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface SetFlowRateArguments {\n buffer: RawTransactionArgument<string>;\n flowRate: RawTransactionArgument<string>;\n}\nexport interface SetFlowRateOptions {\n package?: string;\n arguments: SetFlowRateArguments | [\n buffer: RawTransactionArgument<string>,\n flowRate: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function setFlowRate(options: SetFlowRateOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock',\n `${packageAddress}::double::Double`\n ] satisfies string[];\n const parameterNames = [\"buffer\", \"flowRate\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'set_flow_rate',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface BalanceArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface BalanceOptions {\n package?: string;\n arguments: BalanceArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\n/** Getter Funs */\nexport function balance(options: BalanceOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'balance',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface FlowRateArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface FlowRateOptions {\n package?: string;\n arguments: FlowRateArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function flowRate(options: FlowRateOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'flow_rate',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface TimestampArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface TimestampOptions {\n package?: string;\n arguments: TimestampArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function timestamp(options: TimestampOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'timestamp',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}\nexport interface ReleasableAmountArguments {\n buffer: RawTransactionArgument<string>;\n}\nexport interface ReleasableAmountOptions {\n package?: string;\n arguments: ReleasableAmountArguments | [\n buffer: RawTransactionArgument<string>\n ];\n typeArguments: [\n string\n ];\n}\nexport function releasableAmount(options: ReleasableAmountOptions) {\n const packageAddress = options.package ?? '@local-pkg/yield_usdb.move';\n const argumentsTypes = [\n `${packageAddress}::buffer::Buffer<${options.typeArguments[0]}>`,\n '0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock'\n ] satisfies string[];\n const parameterNames = [\"buffer\"];\n return (tx: Transaction) => tx.moveCall({\n package: packageAddress,\n module: 'buffer',\n function: 'releasable_amount',\n arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),\n typeArguments: options.typeArguments\n });\n}", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\n\n\n/** Module for double precision floating points */\n\nimport { MoveStruct } from '../../../utils/index.js';\nimport { bcs } from '@mysten/sui/bcs';\nconst $moduleName = 'bucket_v2_framework::double';\nexport const Double = new MoveStruct({ name: `${$moduleName}::Double`, fields: {\n value: bcs.u256()\n } });", "/**************************************************************\n * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *\n **************************************************************/\nimport { type BcsType, bcs } from '@mysten/sui/bcs';\nimport { MoveStruct } from '../../../utils/index.js';\nconst $moduleName = '0x2::vec_set';\n/**\n * A set data structure backed by a vector. The set is guaranteed not to contain\n * duplicate keys. All operations are O(N) in the size of the set\n *\n * - the intention of this data structure is only to provide the convenience of\n * programming against a set API. Sets that need sorted iteration rather than\n * insertion order iteration should be handwritten.\n */\nexport function VecSet<K extends BcsType<any>>(...typeParameters: [\n K\n]) {\n return new MoveStruct({ name: `${$moduleName}::VecSet<${typeParameters[0].name as K['name']}>`, fields: {\n contents: bcs.vector(typeParameters[0])\n } });\n}", "/** Alternate mainnet deployment \u2014 registry 0x213f4d58... belongs to this package */\nexport const STABLE_REGISTRY_MAINNET_ALT =\n \"0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642\";\nexport const STABLE_LAYER_PACKAGE_MAINNET_ALT =\n \"0x41e25d09e20cf3bc43fe321e51ef178fac419ae47b783a7161982158fc9f17d6\";\n\n/** Mainnet object IDs and type strings */\nexport const MAINNET = {\n STABLE_VAULT: \"0x65f38160110cd6859d05f338ff54b4f462883bb6f87c667a65c0fb0e537410a7\",\n USDC_TYPE: \"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC\",\n STABLE_LP_TYPE:\n \"0xb75744fadcbfc174627567ca29645d0af8f6e6fd01b6f57c75a08cd3fb97c567::lake_usdc::LakeUSDC\",\n YUSDB_TYPE:\n \"0xac718b4b672d7f461fe7e86847166ff9c23cadba217397f0848a95bdea1f1051::yesusdb::YesUSDB\",\n STABLE_LAYER_PACKAGE_ID: \"0xa4a78d8d3d1df62fb81d10068142e79b0d30ad4e3f578060487e36ed9ea764da\",\n STABLE_REGISTRY_MAINNET_ALT,\n STABLE_LAYER_PACKAGE_MAINNET_ALT,\n STABLE_VAULT_FARM_PACKAGE_ID:\n \"0x00d31ddaa73a56abcc3e2d885ac1e1d90f9ae0e38bbef2ba2923550c8250de4d\",\n SAVING_TYPE: \"0x38f61c75fa8407140294c84167dd57684580b55c3066883b48dedc344b1cde1e::susdb::SUSDB\",\n YIELD_VAULT: \"0x0a7f6325253157cd437812fea0ceee9a6b96f2ec5eac410da6df39558ff3a4d1\",\n STABLE_REGISTRY: \"0x213f4d584c0770f455bb98c94a4ee5ea9ddbc3d4ebb98a0ad6d093eb6da41642\",\n STABLE_VAULT_FARM: \"0xe958b7d102b33bf3c09addb0e2cdff102ff2c93afe407ec5c2a541e8959a650c\",\n YIELD_USDB_PACKAGE_ID: \"0x3dcbf82f7e3b80ed65cee596612602a6c7e78c71fd40f6455b40ad033ed04786\",\n} as const;\n\nexport const STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET = `0xc1025fe014b03d33b207b5afb0ba04293be87fab438c1418a26a75c2fe05c223::stable_vault_farm::StableVaultFarmEntity<${MAINNET.STABLE_LP_TYPE}, ${MAINNET.USDC_TYPE}>`;\n", "const TESTNET_USDC =\n \"0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC\" as const;\n\nexport const MOCK_FARM_PACKAGE_ID_TESTNET =\n \"0x3a55ec8fabe5f3e982908ed3a7c3065f26e83ab226eb8d3450177dbaac25878b\" as const;\n\nexport const MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET =\n \"0x673d4118c17de717b0b90c326f8f52f87b5fff8678f513edd2ae575a55175954\" as const;\n\nexport const MOCK_FARM_REGISTRY_TESTNET =\n \"0xc3e8d2e33e36f6a4b5c199fe2dde3ba6dc29e7af8dd045c86e62d7c21f374d02\" as const;\n\nexport const MOCK_USDB_TYPE_TESTNET = `${MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET}::usdb::USDB` as const;\n\nexport const TESTNET = {\n STABLE_LAYER_PACKAGE_ID: \"0x9c248c80c3a757167780f17e0c00a4d293280be7276f1b81a153f6e47d2567c9\",\n STABLE_REGISTRY: \"0xfa0fd96e0fbc07dc6bdc23cc1ac5b4c0056f4b469b9db0a70b6ea01c14a4c7b5\",\n USDC_TYPE: TESTNET_USDC,\n STABLE_VAULT_FARM_ENTITY_TYPE: `${MOCK_FARM_ORIGINAL_PACKAGE_ID_TESTNET}::farm::MockFarmEntity`,\n MOCK_FARM_PACKAGE_ID: MOCK_FARM_PACKAGE_ID_TESTNET,\n MOCK_FARM_REGISTRY: MOCK_FARM_REGISTRY_TESTNET,\n MOCK_USDB_TYPE: MOCK_USDB_TYPE_TESTNET,\n STABLE_VAULT: \"\",\n STABLE_LP_TYPE: \"\",\n YUSDB_TYPE: \"\",\n STABLE_VAULT_FARM_PACKAGE_ID: \"\",\n SAVING_TYPE: \"\",\n YIELD_VAULT: \"\",\n STABLE_VAULT_FARM: \"\",\n YIELD_USDB_PACKAGE_ID: \"\",\n} as const;\n\nexport const STABLE_VAULT_FARM_ENTITY_TYPE_TESTNET = TESTNET.STABLE_VAULT_FARM_ENTITY_TYPE;\n", "import type { Network } from \"../interface.js\";\nimport * as mainnet from \"./constants.mainnet.js\";\nimport * as testnet from \"./constants.testnet.js\";\n\nexport type Constants = {\n STABLE_VAULT: string;\n USDC_TYPE: string;\n STABLE_LP_TYPE: string;\n YUSDB_TYPE: string;\n STABLE_LAYER_PACKAGE_ID: string;\n STABLE_VAULT_FARM_PACKAGE_ID: string;\n SAVING_TYPE: string;\n YIELD_VAULT: string;\n STABLE_REGISTRY: string;\n STABLE_VAULT_FARM: string;\n YIELD_USDB_PACKAGE_ID: string;\n STABLE_VAULT_FARM_ENTITY_TYPE: string;\n MOCK_FARM_PACKAGE_ID: string;\n MOCK_FARM_REGISTRY: string;\n MOCK_USDB_TYPE: string;\n};\n\nfunction getMainnetConstants(): Constants {\n return {\n ...mainnet.MAINNET,\n STABLE_VAULT_FARM_ENTITY_TYPE: mainnet.STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET,\n MOCK_FARM_PACKAGE_ID: \"\",\n MOCK_FARM_REGISTRY: \"\",\n MOCK_USDB_TYPE: \"\",\n };\n}\n\nfunction getTestnetConstants(): Constants {\n return {\n ...testnet.TESTNET,\n STABLE_VAULT_FARM_ENTITY_TYPE: testnet.STABLE_VAULT_FARM_ENTITY_TYPE_TESTNET,\n };\n}\n\nexport function getConstants(network: Network): Constants {\n return network === \"testnet\" ? getTestnetConstants() : getMainnetConstants();\n}\n\nexport const STABLE_VAULT = mainnet.MAINNET.STABLE_VAULT;\nexport const USDC_TYPE = mainnet.MAINNET.USDC_TYPE;\nexport const STABLE_LP_TYPE = mainnet.MAINNET.STABLE_LP_TYPE;\nexport const YUSDB_TYPE = mainnet.MAINNET.YUSDB_TYPE;\nexport const STABLE_LAYER_PACKAGE_ID = mainnet.MAINNET.STABLE_LAYER_PACKAGE_ID;\nexport const STABLE_VAULT_FARM_PACKAGE_ID = mainnet.MAINNET.STABLE_VAULT_FARM_PACKAGE_ID;\nexport const SAVING_TYPE = mainnet.MAINNET.SAVING_TYPE;\nexport const YIELD_VAULT = mainnet.MAINNET.YIELD_VAULT;\nexport const STABLE_REGISTRY = mainnet.MAINNET.STABLE_REGISTRY;\nexport const STABLE_VAULT_FARM = mainnet.MAINNET.STABLE_VAULT_FARM;\nexport const YIELD_USDB_PACKAGE_ID = mainnet.MAINNET.YIELD_USDB_PACKAGE_ID;\nexport const STABLE_VAULT_FARM_ENTITY_TYPE = mainnet.STABLE_VAULT_FARM_ENTITY_TYPE_MAINNET;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_bcs", "import_transactions", "import_utils", "val", "import_bcs", "import_bcs", "import_bcs", "$moduleName", "import_bcs", "$moduleName", "import_bcs", "$moduleName", "$moduleName", "import_bcs", "$moduleName", "import_bcs", "$moduleName", "$moduleName", "$moduleName", "import_bcs", "import_bcs", "$moduleName", "UID", "import_bcs", "$moduleName", "TypeName", "import_bcs", "$moduleName", "Entry", "VecMap", "import_bcs", "$moduleName", "Credit", "Debt", "import_bcs", "$moduleName", "VecSet", "$moduleName", "Entity", "TypeName", "Sheet", "VecMap", "Credit", "Debt", "VecSet", "import_bcs", "$moduleName", "UID", "import_bcs", "$moduleName", "$moduleName", "UID", "Sheet", "AdminCap", "import_bcs", "import_bcs", "$moduleName", "UID", "import_bcs", "$moduleName", "Balance", "Supply", "$moduleName", "TreasuryCap", "UID", "Supply", "import_bcs", "$moduleName", "UID", "import_bcs", "import_bcs", "$moduleName", "$moduleName", "Buffer", "Balance", "import_bcs", "$moduleName", "VecSet", "$moduleName", "UID", "TreasuryCap", "Buffer", "VecSet", "stableCoin", "loan", "burnRequest", "usdcCoin", "constants", "rewardCoin", "TypeName"]
|
|
7
7
|
}
|