const transaction = await aptos.transaction.build.simple({
sender: account.accountAddress,
data: {
function: `${PACKAGE}::vault_api::create_and_fund_vault`,
typeArguments: [],
functionArguments: [
"0x123...abc", // subaccountAddr (funded_from_dex_subaccount)
"0x456...def", // contributionAssetType (USDC metadata object address)
"My Trading Vault", // vaultName
"A managed vault for algorithmic trading strategies", // vaultDescription
["https://x.com/myvault", "https://discord.gg/myvault"], // vaultSocialLinks (vector: [xUrl, discordUrl])
"MTV", // vaultShareSymbol
"https://example.com/icon.png", // vaultShareIconUri
"https://example.com/vault", // vaultShareProjectUri
500, // feeBps (500 = 5%, max: 1000 = 10%)
2592000, // feeIntervalS (30 days in seconds, min: 2,592,000, max: 31,536,000)
0, // contributionLockupDurationS (0 = no lockup)
100000000, // initialFunding (100 USDC with 6 decimals)
true, // acceptsContributions
true, // delegateToCreator
],
},
});