1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},a=(new e.Error).stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="f2c5f248-081a-4856-b020-a00f6d2863a1",e._sentryDebugIdIdentifier="sentry-dbid-f2c5f248-081a-4856-b020-a00f6d2863a1")}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8290],{47139:(e,a,t)=>{t.d(a,{Ay:()=>Q,Ih:()=>U,Nw:()=>I,PF:()=>k,We:()=>M,tY:()=>T,tZ:()=>x});var n=t(8447),i=t(68610),o=t(65397),r=t(47278),s=t(24791),m=t(69633),u=t(38839),l=t(45540),p=t(28749),d=t(65759),c=t(70996),y=t(74841),g=t(74130),_=t(65207);t(97932);var v=t(72076).Buffer,k=Object.freeze({devnet:"vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2","mainnet-beta":"vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2",localhost:"SNPmGgnywBvvrAKMLundzG6StojyHTHDLu7T4sdhP4k"}),w=Object.freeze({escrow:"escrow",vault:"vault",merkleRoot:"merkle_root",crankFeeWhitelist:"crank_fee_whitelist",merkleProofMetadata:"merkle_proof_metadata"}),h=new r.PublicKey("BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"),f=new r.PublicKey("24Uqj9JCLxUeoC3hGfh5W3s9FM9uCHDS2SG3LYwBpyTi"),b=new r.PublicKey("Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB");new r.PublicKey("LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo");var P=Object.freeze({devnet:"https://worker-dev.meteora.ag/merkle-root-config-proof","mainnet-beta":"https://worker.meteora.ag/merkle-root-config-proof"}),I=(e=>(e[e.Permissionless=0]="Permissionless",e[e.PermissionWithMerkleProof=1]="PermissionWithMerkleProof",e[e.PermissionWithAuthority=2]="PermissionWithAuthority",e))(I||{}),C=(e=>(e[e.PREPARING=0]="PREPARING",e[e.DEPOSITING=1]="DEPOSITING",e[e.PURCHASING=2]="PURCHASING",e[e.LOCKING=3]="LOCKING",e[e.VESTING=4]="VESTING",e[e.ENDED=5]="ENDED",e))(C||{}),M=(e=>(e[e.PRORATA=0]="PRORATA",e[e.FCFS=1]="FCFS",e))(M||{}),A=(e=>(e[e.DLMM=0]="DLMM",e[e.DAMM=1]="DAMM",e[e.DAMMV2=2]="DAMMV2",e))(A||{}),T=(e=>(e[e.SLOT=0]="SLOT",e[e.TIMESTAMP=1]="TIMESTAMP",e))(T||{}),x=(0,s.struct)([(0,s.u64)("slot"),(0,s.i64)("epochStartTimestamp"),(0,s.u64)("epoch"),(0,s.u64)("leaderScheduleEpoch"),(0,s.i64)("unixTimestamp")]),D={address:"vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2",metadata:{name:"alpha_vault",version:"0.4.1",spec:"0.1.0",description:"Created with Anchor"},instructions:[{name:"claim_token",discriminator:[116,206,27,191,166,19,0,73],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"escrow",writable:!0},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"destination_token",writable:!0},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_crank_fee_whitelist",discriminator:[189,166,73,241,81,12,246,170],accounts:[{name:"crank_fee_whitelist",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_escrow",discriminator:[139,171,94,146,191,91,144,50],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"escrow",writable:!0},{name:"owner",signer:!0,relations:["escrow"]},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_fcfs_config",discriminator:[48,178,212,101,23,138,233,90],accounts:[{name:"config",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0}],args:[]},{name:"close_merkle_proof_metadata",discriminator:[23,52,170,30,252,47,100,129],accounts:[{name:"vault",relations:["merkle_proof_metadata"]},{name:"merkle_proof_metadata",writable:!0},{name:"admin",signer:!0},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_prorata_config",discriminator:[84,140,103,57,178,155,57,26],accounts:[{name:"config",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0}],args:[]},{name:"create_crank_fee_whitelist",discriminator:[120,91,25,162,211,27,100,199],accounts:[{name:"crank_fee_whitelist",writable:!0,pda:{seeds:[{kind:"const",value:[99,114,97,110,107,95,102,101,101,95,119,104,105,116,101,108,105,115,116]},{kind:"account",path:"cranker"}]}},{name:"cranker"},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"create_fcfs_config",discriminator:[7,255,242,242,1,99,179,12],accounts:[{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[102,99,102,115,95,99,111,110,102,105,103]},{kind:"arg",path:"config_parameters.index"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"config_parameters",type:{defined:{name:"FcfsConfigParameters"}}}]},{name:"create_merkle_proof_metadata",discriminator:[151,46,163,52,181,178,47,227],accounts:[{name:"vault"},{name:"merkle_proof_metadata",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,114,107,108,101,95,112,114,111,111,102,95,109,101,116,97,100,97,116,97]},{kind:"account",path:"vault"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"proof_url",type:"string"}]},{name:"create_merkle_root_config",discriminator:[55,243,253,240,78,186,232,166],accounts:[{name:"vault"},{name:"merkle_root_config",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,114,107,108,101,95,114,111,111,116]},{kind:"account",path:"vault"},{kind:"arg",path:"params.version"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"CreateMerkleRootConfigParams"}}}]},{name:"create_new_escrow",discriminator:[60,154,170,202,252,109,83,199],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"payer",writable:!0,signer:!0},{name:"escrow_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"create_permissioned_escrow",discriminator:[60,166,36,85,96,137,132,184],accounts:[{name:"vault",writable:!0,relations:["merkle_root_config"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"merkle_root_config",docs:["merkle_root_config"]},{name:"payer",writable:!0,signer:!0},{name:"escrow_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_cap",type:"u64"},{name:"proof",type:{vec:{array:["u8",32]}}}]},{name:"create_permissioned_escrow_with_authority",discriminator:[211,231,194,69,65,11,123,93],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"payer",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_cap",type:"u64"}]},{name:"create_prorata_config",discriminator:[38,203,72,231,103,29,195,61],accounts:[{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[112,114,111,114,97,116,97,95,99,111,110,102,105,103]},{kind:"arg",path:"config_parameters.index"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"config_parameters",type:{defined:{name:"ProrataConfigParameters"}}}]},{name:"deposit",discriminator:[242,35,198,137,82,225,242,182],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"source_token",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"fill_damm_v2",discriminator:[221,175,108,48,19,204,125,23],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"},{name:"pool_authority"},{name:"pool",writable:!0,relations:["vault"]},{name:"token_a_vault",writable:!0},{name:"token_b_vault",writable:!0},{name:"token_a_mint"},{name:"token_b_mint"},{name:"token_a_program"},{name:"token_b_program"},{name:"damm_event_authority"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"fill_dlmm",discriminator:[1,108,141,11,4,126,251,222],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"},{name:"pool",writable:!0,relations:["vault"]},{name:"bin_array_bitmap_extension"},{name:"reserve_x",writable:!0},{name:"reserve_y",writable:!0},{name:"token_x_mint"},{name:"token_y_mint"},{name:"oracle",writable:!0},{name:"token_x_program"},{name:"token_y_program"},{name:"dlmm_event_authority"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"memo_program"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"},{name:"remaining_accounts_info",type:{defined:{name:"RemainingAccountsInfo"}}}]},{name:"fill_dynamic_amm",discriminator:[224,226,223,80,36,50,70,231],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB"},{name:"pool",writable:!0,relations:["vault"]},{name:"a_vault",writable:!0},{name:"b_vault",writable:!0},{name:"a_token_vault",writable:!0},{name:"b_token_vault",writable:!0},{name:"a_vault_lp_mint",writable:!0},{name:"b_vault_lp_mint",writable:!0},{name:"a_vault_lp",writable:!0},{name:"b_vault_lp",writable:!0},{name:"admin_token_fee",writable:!0},{name:"vault_program"},{name:"token_program"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"initialize_fcfs_vault",discriminator:[163,205,69,145,235,71,47,21],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"base"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"funder",writable:!0,signer:!0},{name:"base",signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeFcfsVaultParams"}}}]},{name:"initialize_prorata_vault",discriminator:[178,180,176,247,128,186,43,9],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"base"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"funder",writable:!0,signer:!0},{name:"base",signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeProrataVaultParams"}}}]},{name:"initialize_vault_with_fcfs_config",discriminator:[189,251,92,104,235,21,81,182],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"config"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"quote_mint"},{name:"funder",writable:!0,signer:!0},{name:"config"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeVaultWithConfigParams"}}}]},{name:"initialize_vault_with_prorata_config",discriminator:[155,216,34,162,103,242,236,211],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"config"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"quote_mint"},{name:"funder",writable:!0,signer:!0},{name:"config"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeVaultWithConfigParams"}}}]},{name:"transfer_vault_authority",discriminator:[139,35,83,88,52,186,162,110],accounts:[{name:"vault",writable:!0},{name:"vault_authority",signer:!0,relations:["vault"]}],args:[{name:"new_authority",type:"pubkey"}]},{name:"update_fcfs_vault_parameters",discriminator:[172,23,13,143,18,133,104,174],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"admin",signer:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"UpdateFcfsVaultParams"}}}]},{name:"update_prorata_vault_parameters",discriminator:[177,39,151,50,253,249,5,74],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"admin",signer:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"UpdateProrataVaultParams"}}}]},{name:"withdraw",discriminator:[183,18,70,156,148,109,161,34],accounts:[{name:"vault",writable:!0,relations
1:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"destination_token",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"}]},{name:"withdraw_remaining_quote",discriminator:[54,253,188,34,100,145,59,127],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"destination_token",writable:!0},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]}],accounts:[{name:"CrankFeeWhitelist",discriminator:[39,105,184,30,248,231,176,133]},{name:"Escrow",discriminator:[31,213,123,187,186,22,218,155]},{name:"FcfsVaultConfig",discriminator:[99,243,252,122,160,175,130,52]},{name:"MerkleProofMetadata",discriminator:[133,24,30,217,240,20,222,100]},{name:"MerkleRootConfig",discriminator:[103,2,222,217,73,50,187,39]},{name:"ProrataVaultConfig",discriminator:[93,214,205,104,119,9,51,152]},{name:"Vault",discriminator:[211,8,232,43,2,152,117,119]}],events:[{name:"CrankFeeWhitelistClosed",discriminator:[157,171,85,155,37,20,41,114]},{name:"CrankFeeWhitelistCreated",discriminator:[176,138,32,77,129,74,137,244]},{name:"EscrowClaimToken",discriminator:[179,72,71,30,59,19,170,3]},{name:"EscrowClosed",discriminator:[109,20,57,51,217,118,3,173]},{name:"EscrowCreated",discriminator:[70,127,105,102,92,97,7,173]},{name:"EscrowDeposit",discriminator:[43,90,49,176,134,148,50,32]},{name:"EscrowRemainingWithdraw",discriminator:[113,14,156,89,113,79,88,178]},{name:"EscrowWithdraw",discriminator:[171,17,164,116,122,66,183,34]},{name:"FcfsVaultCreated",discriminator:[73,153,165,103,151,182,184,136]},{name:"FcfsVaultParametersUpdated",discriminator:[78,112,112,62,193,209,231,226]},{name:"MerkleProofMetadataCreated",discriminator:[186,42,131,176,244,128,196,68]},{name:"MerkleRootConfigCreated",discriminator:[121,112,42,76,144,131,142,90]},{name:"ProrataVaultCreated",discriminator:[181,255,162,226,203,199,193,6]},{name:"ProrataVaultParametersUpdated",discriminator:[24,147,160,237,132,87,15,206]},{name:"SwapFill",discriminator:[116,212,73,222,33,244,134,148]}],errors:[{code:6e3,name:"TimePointNotInFuture",msg:"Time point is not in future"},{code:6001,name:"IncorrectTokenMint",msg:"Token mint is incorrect"},{code:6002,name:"IncorrectPairType",msg:"Pair is not permissioned"},{code:6003,name:"PoolHasStarted",msg:"Pool has started"},{code:6004,name:"NotPermitThisActionInThisTimePoint",msg:"This action is not permitted in this time point"},{code:6005,name:"TheSaleIsOngoing",msg:"The sale is on going, cannot withdraw"},{code:6006,name:"EscrowIsNotClosable",msg:"Escrow is not closable"},{code:6007,name:"TimePointOrdersAreIncorrect",msg:"Time point orders are incorrect"},{code:6008,name:"EscrowHasRefunded",msg:"Escrow has refunded"},{code:6009,name:"MathOverflow",msg:"Math operation overflow"},{code:6010,name:"MaxBuyingCapIsZero",msg:"Max buying cap is zero"},{code:6011,name:"MaxAmountIsTooSmall",msg:"Max amount is too small"},{code:6012,name:"PoolTypeIsNotSupported",msg:"Pool type is not supported"},{code:6013,name:"InvalidAdmin",msg:"Invalid admin"},{code:6014,name:"VaultModeIsIncorrect",msg:"Vault mode is incorrect"},{code:6015,name:"MaxDepositingCapIsInValid",msg:"Max depositing cap is invali
1d"},{code:6016,name:"VestingDurationIsInValid",msg:"Vesting duration is invalid"},{code:6017,name:"DepositAmountIsZero",msg:"Deposit amount is zero"},{code:6018,name:"PoolOwnerIsMismatched",msg:"Pool owner is mismatched"},{code:6019,name:"WithdrawAmountIsZero",msg:"Withdraw amount is zero"},{code:6020,name:"DepositingDurationIsInvalid",msg:"Depositing duration is invalid"},{code:6021,name:"DepositingTimePointIsInvalid",msg:"Depositing time point is invalid"},{code:6022,name:"IndividualDepositingCapIsZero",msg:"Individual depositing cap is zero"},{code:6023,name:"InvalidFeeReceiverAccount",msg:"Invalid fee receiver account"},{code:6024,name:"NotPermissionedVault",msg:"Not permissioned vault"},{code:6025,name:"NotPermitToDoThisAction",msg:"Not permit to do this action"},{code:6026,name:"InvalidProof",msg:"Invalid Merkle proof"},{code:6027,name:"InvalidActivationType",msg:"Invalid activation type"},{code:6028,name:"ActivationTypeIsMismatched",msg:"Activation type is mismatched"},{code:6029,name:"InvalidPool",msg:"Pool is not connected to the alpha vault"},{code:6030,name:"InvalidCreator",msg:"Invalid creator"},{code:6031,name:"PermissionedVaultCannotChargeEscrowFee",msg:"Permissioned vault cannot charge escrow fee"},{code:6032,name:"EscrowFeeTooHigh",msg:"Escrow fee too high"},{code:6033,name:"LockDurationInvalid",msg:"Lock duration is invalid"},{code:6034,name:"MaxBuyingCapIsTooSmall",msg:"Max buying cap is too small"},{code:6035,name:"MaxDepositingCapIsTooSmall",msg:"Max depositing cap is too small"},{code:6036,name:"InvalidWhitelistWalletMode",msg:"Invalid whitelist wallet mode"},{code:6037,name:"InvalidCrankFeeWhitelist",msg:"Invalid crank fee whitelist"},{code:6038,name:"MissingFeeReceiver",msg:"Missing fee receiver"},{code:6039,name:"DiscriminatorIsMismatched",msg:"Discriminator is mismatched"}],types:[{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookX"},{name:"TransferHookY"},{name:"TransferHookReward"}]}},{name:"CrankFeeWhitelist",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"owner",type:"pubkey"},{name:"padding",type:{array:["u128",5]}}]}},{name:"CrankFeeWhitelistClosed",type:{kind:"struct",fields:[{name:"cranker",type:"pubkey"}]}},{name:"CrankFeeWhitelistCreated",type:{kind:"struct",fields:[{name:"cranker",type:"pubkey"}]}},{name:"CreateMerkleRootConfigParams",type:{kind:"struct",fields:[{name:"root",docs:["The 256-bit merkle root."],type:{array:["u8",32]}},{name:"version",docs:["version"],type:"u64"}]}},{name:"Escrow",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"vault",docs:["vault address"],type:"pubkey"},{name:"owner",docs:["owner"],type:"pubkey"},{name:"total_deposit",docs:["total deposited quote token"],type:"u64"},{name:"claimed_token",docs:["Total token that escrow has claimed"],type:"u64"},{name:"last_claimed_point",docs:["Last claimed timestamp"],type:"u64"},{name:"refunded",docs:["Whether owner has claimed for remaining quote token"],type:"u8"},{name:"padding_1",docs:["padding 1"],type:{array:["u8",7]}},{name:"max_cap",docs:["Only has meaning in permissioned vault"],type:"u64"},{name:"withdrawn_deposit_overflow",docs:["Only has meaning in pro-rata vault"],type:"u64"},{name:"padding",type:{array:["u128",1]}}]}},{name:"EscrowClaimToken",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_claimed_token",type:"u64"}]}},{name:"EscrowClosed",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"vault_total_escrow",type:"u64"}]}},{name:"EscrowCreated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"vault_total_escrow",type:"u64"},{name:"escrow_fee",type:"u64"}]}},{name:"EscrowDeposit",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_deposit",type:"u64"}]}},{name:"EscrowRemainingWithdraw",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_remaining_deposit",type:"u64"}]}},{name:"EscrowWithdraw",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_deposit",type:"u64"}]}},{name:"FcfsConfigParameters",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"depositing_duration_until_last_join_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"index",type:"u64"}]}},{name:"FcfsVaultConfig",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"depositing_duration_until_last_join_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"_padding",type:{array:["u8",175]}}]}},{name:"FcfsVaultCreated",type:{kind:"struct",fields:[{name:"base_mint",type:"pubkey"},{name:"quote_mint",type:"pubkey"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_depositing_cap",type:"u64"},{name:"pool",type:"pubkey"},{name:"pool_type",type:"u8"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"}]}},{name:"FcfsVaultParametersUpdated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"}]}},{name:"InitializeFcfsVaultParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"depositing_point",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_depositing_cap",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"whitelist_mode",type:"u8"}]}},{name:"InitializeProrataVaultParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"depositing_point",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_buying_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"whitelist_mode",type:"u8"}]}},{name:"InitializeVaultWithConfigParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"whitelist_mode",type:"u8"}]}},{name:"MerkleProofMetadata",type:{kind:"struct",fields:[{name:"vault",docs:["vault pubkey that config is belong"],type:"pubkey"},{name:"padding",type:{array:["u64",16]}},{name:"proof_url",docs:["proof url"],type:"string"}]}},{name:"MerkleProofMetadataCreated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"proof_url",type:"string"}]}},{name:"MerkleRootConfig",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"root",docs:["The 256-bit merkle root."],t
1ype:{array:["u8",32]}},{name:"vault",docs:["vault pubkey that config is belong"],type:"pubkey"},{name:"version",docs:["version"],type:"u64"},{name:"_padding",docs:["padding for further use"],type:{array:["u64",8]}}]}},{name:"MerkleRootConfigCreated",type:{kind:"struct",fields:[{name:"admin",type:"pubkey"},{name:"config",type:"pubkey"},{name:"vault",type:"pubkey"},{name:"version",type:"u64"},{name:"root",type:{array:["u8",32]}}]}},{name:"ProrataConfigParameters",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"index",type:"u64"}]}},{name:"ProrataVaultConfig",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"_padding",type:{array:["u8",191]}}]}},{name:"ProrataVaultCreated",type:{kind:"struct",fields:[{name:"base_mint",type:"pubkey"},{name:"quote_mint",type:"pubkey"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_buying_cap",type:"u64"},{name:"pool",type:"pubkey"},{name:"pool_type",type:"u8"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"}]}},{name:"ProrataVaultParametersUpdated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"max_buying_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:{name:"RemainingAccountsSlice"}}}}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accounts_type",type:{defined:{name:"AccountsType"}}},{name:"length",type:"u8"}]}},{name:"SwapFill",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"pair",type:"pubkey"},{name:"fill_amount",type:"u64"},{name:"purchased_amount",type:"u64"},{name:"unfilled_amount",type:"u64"}]}},{name:"UpdateFcfsVaultParams",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"UpdateProrataVaultParams",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"Vault",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"pool",docs:["pool"],type:"pubkey"},{name:"token_vault",docs:["reserve quote token"],type:"pubkey"},{name:"token_out_vault",docs:["reserve base token"],type:"pubkey"},{name:"quote_mint",docs:["quote token"],type:"pubkey"},{name:"base_mint",docs:["base token"],type:"pubkey"},{name:"base",docs:["base key"],type:"pubkey"},{name:"owner",docs:["owner key, deprecated field, can re-use in the future"],type:"pubkey"},{name:"max_buying_cap",docs:["max buying cap"],type:"u64"},{name:"total_deposit",docs:["total deposited quote token"],type:"u64"},{name:"total_escrow",docs:["total user deposit"],type:"u64"},{name:"swapped_amount",docs:["swapped_amount"],type:"u64"},{name:"bought_token",docs:["total bought token"],type:"u64"},{name:"total_refund",docs:["Total quote refund"],type:"u64"},{name:"total_claimed_token",docs:["Total claimed_token"],type:"u64"},{name:"start_vesting_point",docs:["Start vesting ts"],type:"u64"},{name:"end_vesting_point",docs:["End vesting ts"],type:"u64"},{name:"bump",docs:["bump"],type:"u8"},{name:"pool_type",docs:["pool type"],type:"u8"},{name:"vault_mode",docs:["vault mode"],type:"u8"},{name:"padding_0",docs:["padding 0"],type:{array:["u8",5]}},{name:"max_depositing_cap",docs:["max depositing cap"],type:"u64"},{name:"individual_depositing_cap",docs:["individual depositing cap"],type:"u64"},{name:"depositing_point",docs:["depositing point"],type:"u64"},{name:"escrow_fee",docs:["flat fee when user open an escrow"],type:"u64"},{name:"total_escrow_fee",docs:["total escrow fee just for statistic"],type:"u64"},{name:"whitelist_mode",docs:["deposit whitelist mode"],type:"u8"},{name:"activation_type",docs:["activation type"],type:"u8"},{name:"padding_1",docs:["padding 1"],type:{array:["u8",6]}},{name:"vault_authority",docs:["vault authority normally is vault creator, will be able to create merkle root config"],type:"pubkey"},{name:"padding",type:{array:["u128",5]}}]}}]},V=new r.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr");function B(e,a){let t=new n.AnchorProvider(e,{},n.AnchorProvider.defaultOptions());return new n.Program({...D,address:k[a?.cluster||"mainnet-beta"]},t)}function S(e,a){return r.PublicKey.findProgramAddressSync([v.from(w.crankFeeWhitelist),e.toBuffer()],a)}function E(e,a){return r.PublicKey.findProgramAddressSync([v.from(w.merkleProofMetadata),e.toBuffer()],a)}function R(e,a,t){return r.PublicKey.findProgramAddressSync([v.from(w.escrow),e.toBuffer(),a.toBuffer()],t)}function F(e,a,t){return r.PublicKey.findProgramAddressSync([v.from(w.vault),e.toBuffer(),a.toBuffer()],t)}var N=async(e,a,t,n=t,o,r=!0)=>{let s=(0,i.Xt)(a,t,r,o);try{return await (0,m.sU)(e,s),{ataPubKey:s,ix:void 0}}catch(e){if(e instanceof u.kD||e instanceof u.bY){let e=(0,l.CA)(n,s,t,a,o);return{ataPubKey:s,ix:e}}throw console.error("Error::getOrCreateATAInstruction",e),e}},W=(e,a,t)=>[r.SystemProgram.transfer({fromPubkey:e,toPubkey:a,lamports:t}),new r.TransactionInstruction({keys:[{pubkey:a,isSigner:!1,isWritable:!0}],data:v.from(new Uint8Array([17])),programId:o.x5})],q=e=>{let a=(0,i.Xt)(o.FX,e,!0);return a?(0,p.wy)(a,e,e):null},z=async(e,a,t,n,i)=>{let o,s=e.provider.connection,m=i?.cluster??"mainnet-beta",u=await c.Ay.create(s,t.pool,{cluster:m}),[l]=S(n,e.programId),p=await s.getAccountInfo(l),d=[r.ComputeBudgetProgram.setComputeUnitLimit({units:14e5})],{ataPubKey:g,ix:_}=await N(s,t.baseMint,a,n,u.tokenX.owner);_&&d.push(_);let k=(1==t.vaultMode||t.totalDeposit.lt(t.maxBuyingCap)?t.totalDeposit:t.maxBuyingCap).sub(t.swappedAmount);if(k.lte(new y(0)))return;let w=u.lbPair.tokenXMint.equals(t.quoteMint),f=await u.getBinArrayForSwap(w,3);try{o=u.swapQuote(k,w,new y(0),f,!0)}catch(e){if(e instanceof c.dg&&"SWAP_QUOTE_INSUFFICIENT_LIQUIDITY"==e.name)return null;throw e}let{consumedInAmount:b,binArraysPubkey:P}=o,I=new r.PublicKey(c.OI[m]),[C]=r.PublicKey.findProgramAddressSync([v.from("__event_authority")],I),M=u.tokenX.owner,A=u.tokenY.owner,T={slices:[{accountsType:{transferHookX:{}},length:u.tokenX.transferHookAccountMetas.length},{accountsType:{transferHookY:{}},length:u.tokenY.transferHookAccountMetas.length}]},x=P.map(e=>({pubkey:e,isSigner:!1,isWritable:!0})),D=[...u.tokenX.transferHookAccountMetas,...u.tokenY.transferHookAccountMetas,...x],B=await e.methods.fillDlmm(b,T).accountsPartial({vault:a,tokenVault:t.tokenVault,tokenOutVault:g,ammProgram:I,pool:t.pool,binArrayBitmapExtension:u.b
1inArrayBitmapExtension?u.binArrayBitmapExtension.publicKey:u.program.programId,reserveX:u.lbPair.reserveX,reserveY:u.lbPair.reserveY,tokenXMint:u.lbPair.tokenXMint,tokenYMint:u.lbPair.tokenYMint,oracle:u.lbPair.oracle,tokenXProgram:M,tokenYProgram:A,dlmmEventAuthority:C,cranker:n,crankFeeReceiver:p?e.programId:h,crankFeeWhitelist:p?l:e.programId,systemProgram:r.SystemProgram.programId,memoProgram:V}).preInstructions(d).remainingAccounts(D).transaction(),{blockhash:E,lastValidBlockHeight:R}=await s.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:E,lastValidBlockHeight:R,feePayer:n}).add(B)},L=async(e,a,t,n,i)=>{if(0===t.vaultMode){if(t.swappedAmount.eq(y.min(t.totalDeposit,t.maxBuyingCap)))return}else if(t.swappedAmount.eq(t.totalDeposit))return;let s=e.provider.connection,m=await d.Ay.create(s,t.pool,{cluster:i?.cluster??"mainnet-beta"}),[u]=S(n,e.programId),l=await s.getAccountInfo(u),p=[],{ataPubKey:c,ix:g}=await N(s,t.baseMint,a,n,o.x5);g&&p.push(g);let _=t.quoteMint.equals(m.poolState.tokenBMint)?m.poolState.protocolTokenBFee:m.poolState.protocolTokenAFee,v=await e.methods.fillDynamicAmm(t.totalDeposit).accountsPartial({vault:a,tokenVault:t.tokenVault,tokenOutVault:c,ammProgram:b,pool:t.pool,aVault:m.vaultA.vaultPda,bVault:m.vaultB.vaultPda,aTokenVault:m.vaultA.tokenVaultPda,bTokenVault:m.vaultB.tokenVaultPda,aVaultLp:m.poolState.aVaultLp,bVaultLp:m.poolState.bVaultLp,aVaultLpMint:m.vaultA.tokenLpMint.address,bVaultLpMint:m.vaultB.tokenLpMint.address,adminTokenFee:_,vaultProgram:f,tokenProgram:o.x5,cranker:n,crankFeeReceiver:l?e.programId:h,crankFeeWhitelist:l?u:e.programId,systemProgram:r.SystemProgram.programId}).preInstructions(p).transaction(),{blockhash:k,lastValidBlockHeight:w}=await s.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:k,lastValidBlockHeight:w,feePayer:n}).add(v)},K=class{constructor(e,a,t,n,i,o,r,s,m){this.program=e,this.pubkey=a,this.vault=t,this.activationPoint=n,this.preActivationDuration=i,this.clock=o,this.baseMintInfo=r,this.quoteMintInfo=s,this.opt=m}get mode(){return+(0!==this.vault.vaultMode)}get vaultPoint(){let e=Number(this.vault.depositingPoint.toString()),a=Number(this.activationPoint.sub(this.preActivationDuration).sub(new n.BN(0===this.vault.activationType?750:300)).toString()),t=Number(this.activationPoint.sub(new n.BN(1)).toString());return{firstJoinPoint:e,lastJoinPoint:a,lastBuyingPoint:t,startVestingPoint:Number(this.vault.startVestingPoint.toString()),endVestingPoint:Number(this.vault.endVestingPoint.toString())}}get vaultState(){let e=this.clock.slot.toNumber(),a=this.clock.unixTimestamp.toNumber(),{firstJoinPoint:t,lastJoinPoint:n,lastBuyingPoint:i,startVestingPoint:o,endVestingPoint:r}=this.vaultPoint,s=0,m=0===this.vault.activationType?e:a;return t>m?s=0:n>=m&&t<=m?s=1:n<m&&i>=m?s=2:i<m&&o>m?s=3:o<=m&&r>m?s=4:r<=m&&(s=5),s}static async create(e,a,t){new n.AnchorProvider(e,{},n.AnchorProvider.defaultOptions()),t?.cluster;let o=B(e,t),s=[a,r.SYSVAR_CLOCK_PUBKEY],[m,u]=await e.getMultipleAccountsInfo(s),l=o.coder.accounts.decode("vault",m.data),p=x.decode(u.data),y=await e.getMultipleAccountsInfo([l.baseMint,l.quoteMint]),v=y[0],k=(0,i.tH)(l.baseMint,v,v.owner),w={tokenProgram:v.owner,mint:k},h=y[1],f=(0,i.tH)(l.quoteMint,h,h.owner),P={tokenProgram:h.owner,mint:f};if(0===l.poolType){let i=function(e,a){let t=new g.AnchorProvider(e,{},n.AnchorProvider.defaultOptions());return new g.Program(c.Ih,c.OI[a?.cluster||"mainnet-beta"],t)}(e,t),r=await i.account.lbPair.fetch(l.pool);return new K(o,a,l,r.activationPoint,r.preActivationDuration,p,w,P,t)}if(1===l.poolType){let i=function(e,a){let t=new g.AnchorProvider(e,{},n.AnchorProvider.defaultOptions());return new g.Program(d.jN,b,t)}(e,0),r=await i.account.pool.fetch(l.pool);return new K(o,a,l,r.bootstrapping.activationPoint,new n.BN(0===r.bootstrapping.activationType?9e3:3600),p,w,P,t)}if(2===l.poolType){let i=function(e,a){let t=new n.AnchorProvider(e,{},n.AnchorProvider.defaultOptions());return new n.Program({..._.CpAmmIdl,address:_.CP_AMM_PROGRAM_ID},t)}(e,0),r=await i.account.pool.fetch(l.pool);return new K(o,a,l,r.activationPoint,new n.BN(0===r.activationType?9e3:3600),p,w,P,t)}}static async createCustomizableFcfsVault(e,a,t,n){let i=B(e,n),{poolAddress:o,poolType:s,baseMint:m,quoteMint:u,depositingPoint:l,startVestingPoint:p,endVestingPoint:d,maxDepositingCap:c,individualDepositingCap:y,escrowFee:g,whitelistMode:_}=a,[v]=F(t,o,i.programId),k=await i.methods.initializeFcfsVault({poolType:s,baseMint:m,quoteMint:u,depositingPoint:l,startVestingPoint:p,endVestingPoint:d,maxDepositingCap:c,individualDepositingCap:y,escrowFee:g,whitelistMode:_}
1).accountsPartial({base:t,vault:v,pool:o,funder:t,program:i.programId,systemProgram:r.SystemProgram.programId}).transaction(),{blockhash:w,lastValidBlockHeight:h}=await i.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:w,lastValidBlockHeight:h,feePayer:t}).add(k)}static async createCustomizableProrataVault(e,a,t,n){let i=B(e,n),{poolAddress:o,poolType:s,baseMint:m,quoteMint:u,depositingPoint:l,startVestingPoint:p,endVestingPoint:d,maxBuyingCap:c,escrowFee:y,whitelistMode:g}=a,[_]=F(t,o,i.programId),v=await i.methods.initializeProrataVault({poolType:s,baseMint:m,quoteMint:u,depositingPoint:l,startVestingPoint:p,endVestingPoint:d,maxBuyingCap:c,escrowFee:y,whitelistMode:g}).accountsPartial({base:t,vault:_,pool:o,funder:t,program:i.programId,systemProgram:r.SystemProgram.programId}).transaction(),{blockhash:k,lastValidBlockHeight:w}=await i.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:k,lastValidBlockHeight:w,feePayer:t}).add(v)}static async createPermissionlessVault(e,a,t,n){let i=B(e,n);return K.createVault(i,a,t,0)}static async createPermissionedVaultWithMerkleProof(e,a,t,n){let i=B(e,n);return K.createVault(i,a,t,1)}static async createPermissionedVaultWithAuthorityFund(e,a,t,n){let i=B(e,n);return K.createVault(i,a,t,2)}static async getFcfsConfigs(e,a){return B(e,a).account.fcfsVaultConfig.all()}static async getProrataConfigs(e,a){return B(e,a).account.prorataVaultConfig.all()}getClaimInfo(e){if(!e||this.vault.totalDeposit.lten(0)||this.vault.boughtToken.lten(0))return{totalAllocated:new n.BN(0),totalClaimed:new n.BN(0),totalClaimable:new n.BN(0)};let a=this.clock.slot.toNumber(),t=this.clock.unixTimestamp.toNumber(),i=this.vault.boughtToken.mul(e.totalDeposit).div(this.vault.totalDeposit);return{totalAllocated:i,totalClaimed:e.claimedToken,totalClaimable:(()=>{let i=new n.BN(0===this.vault.activationType?a:t);if(i.lt(this.vault.startVestingPoint))return new n.BN(0);let o=n.BN.min(i,this.vault.endVestingPoint);return this.vault.boughtToken.mul(o.add(new n.BN(1)).sub(this.vault.startVestingPoint)).div(this.vault.endVestingPoint.add(new n.BN(1)).sub(this.vault.startVestingPoint)).mul(e.totalDeposit).div(this.vault.totalDeposit).sub(e.claimedToken)})()}}getAvailableDepositQuota(e,a){let t=e?.totalDeposit??new n.BN(0),i=new n.BN(Number.MAX_SAFE_INTEGER);0==this.vault.whitelistMode?1===this.mode&&(i=this.vault.individualDepositingCap.sub(t)):1==this.vault.whitelistMode?i=a?a.maxCap.sub(t):new n.BN(0):2==this.vault.whitelistMode&&(i=e?e.maxCap.sub(t):new n.BN(0));let o=new n.BN(Number.MAX_SAFE_INTEGER);return 1===this.mode&&(o=this.vault.maxDepositingCap.sub(this.vault.totalDeposit)),n.BN.min(i,o)}async interactionState(e,a,t){await this.refreshState(t);let n=this.getClaimInfo(e),i=this.getDepositInfo(e),o=this.getAvailableDepositQuota(e,a),r=this.isWhitelisted(e,a),s=this.canClaim(e),m=!!e&&e.claimedToken.gtn(0),u=this.canDeposit(e,a),l=!!e&&e.totalDeposit.gtn(0),p=this.canWithdraw(e),d=this.canWithdrawDepositOverflow(e),c=this.escrowAvailableDepositOverflowAmount(e);return{claimInfo:n,depositInfo:i,availableQuota:o,isWhitelisted:r,canClaim:s,hadClaimed:m,canDeposit:u,hadDeposited:l,canWithdraw:p,canWithdrawDepositOverflow:d,availableDepositOverflow:c,canWithdrawRemainingQuote:this.canWithdrawRemainingQuote(e),hadWithdrawnRemainingQuote:this.hadWithdrawnRemainingQuote(e)}}isWhitelisted(e,a){return 1===this.vault.whitelistMode?!!a:2!==this.vault.whitelistMode||!!e}canClaim(e){return!!e&&!![4,5].includes(this.vaultState)&&this.getClaimInfo(e).totalClaimable.gtn(0)}canDeposit(e,a){return!(!this.isWhitelisted(e,a)||1!==this.vaultState||this.getAvailableDepositQuota(e,a).lten(0))}canWithdraw(e){return!!e&&!!e.totalDeposit.gtn(0)&&0===this.mode&&1===this.vaultState}canWithdrawDepositOverflow(e){if(!e)return!1;let a=0===this.vault.activationType?this.clock.slot.toNumber():this.clock.unixTimestamp.toNumber(),t=this.escrowAvailableDepositOverflowAmount(e);return a>this.vaultPoint.lastJoinPoint&&a<=this.vaultPoint.lastBuyingPoint&&t.gt(new n.BN(0))}escrowAvailableDepositOverflowAmount(e){return!e||1==this.vault.vaultMode||this.vault.totalDeposit.isZero()?new n.BN(0):(this.vault.totalDeposit.gt(this.vault.max
1BuyingCap)?this.vault.totalDeposit.sub(this.vault.maxBuyingCap):new n.BN(0)).mul(e.totalDeposit).div(this.vault.totalDeposit).sub(e.withdrawnDepositOverflow)}canWithdrawRemainingQuote(e){if(!e)return!1;let a=0===this.vault.activationType?this.clock.slot.toNumber():this.clock.unixTimestamp.toNumber(),t=this.vault.totalDeposit.sub(this.vault.swappedAmount);return a>this.vaultPoint.lastBuyingPoint&&t.gt(new n.BN(0))&&0===e.refunded}hadWithdrawnRemainingQuote(e){return!!e&&1===e.refunded}async refreshState(e){if(e)this.vault=await this.program.account.vault.fetch(this.pubkey),this.clock=e;else{let e=[this.pubkey,r.SYSVAR_CLOCK_PUBKEY],[a,t]=await this.program.provider.connection.getMultipleAccountsInfo(e),n=this.program.coder.accounts.decode("vault",a.data),i=x.decode(t.data);this.vault=n,this.clock=i}}async getEscrow(e){let[a]=R(this.pubkey,e,this.program.programId);return await this.program.account.escrow.fetchNullable(a)}async createStakeEscrowByAuthority(e,a,t){let[n]=R(this.pubkey,a,this.program.programId),i=await this.program.methods.createPermissionedEscrowWithAuthority(e).accountsPartial({vault:this.pubkey,pool:this.vault.pool,escrow:n,owner:a,payer:t}).instruction(),{blockhash:o,lastValidBlockHeight:s}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:o,lastValidBlockHeight:s,feePayer:t}).add(i)}async createMultipleStakeEscrowByAuthorityInstructions(e,a){return Promise.all(e.map(e=>{let t=e.address,n=e.maxAmount,[i]=R(this.pubkey,t,this.program.programId);return this.program.methods.createPermissionedEscrowWithAuthority(n).accountsPartial({vault:this.pubkey,pool:this.vault.pool,escrow:i,owner:t,payer:a}).instruction()}))}async deposit(e,a,t){if(1===this.vault.whitelistMode&&!t)throw Error("Merkle proof is required for permissioned vault with merkle proof");let[n]=R(this.pubkey,a,this.program.programId),i=await this.program.account.escrow.fetchNullable(n),s=[];if(!i){if(1===this.vault.whitelistMode){let{merkleRootConfig:e,maxCap:i,proof:o}=t,m=await this.program.methods.createPermissionedEscrow(i,o).accountsPartial({merkleRootConfig:e,vault:this.pubkey,pool:this.vault.pool,escrow:n,owner:a,payer:a,systemProgram:r.SystemProgram.programId,escrowFeeReceiver:h}).instruction();s.push(m)}else if(0===this.vault.whitelistMode){let e=await this.program.methods.createNewEscrow().accountsPartial({vault:this.pubkey,escrow:n,owner:a,payer:a,systemProgram:r.SystemProgram.programId,pool:this.vault.pool,escrowFeeReceiver:h}).instruction();s.push(e)}}let[{ataPubKey:m,ix:u},{ix:l},{ix:p}]=await Promise.all([N(this.program.provider.connection,this.vault.quoteMint,a,a,this.quoteMintInfo.tokenProgram),N(this.program.provider.connection,this.vault.baseMint,a,a,this.baseMintInfo.tokenProgram),N(this.program.provider.connection,this.vault.quoteMint,this.pubkey,a,this.quoteMintInfo.tokenProgram)]);u&&s.push(u),l&&s.push(l),p&&s.push(p);let d=[];this.vault.quoteMint.equals(o.FX)&&(s.push(...W(a,m,BigInt(e.toString()))),d.push(q(a)));let c=await this.program.methods.deposit(e).accountsPartial({vault:this.pubkey,escrow:n,sourceToken:m,tokenVault:this.vault.tokenVault,tokenMint:this.vault.quoteMint,pool:this.vault.pool,owner:a,tokenProgram:this.quoteMintInfo.tokenProgram}).preInstructions(s).postInstructions(d).transaction(),{blockhash:y,lastValidBlockHeight:g}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:y,lastValidBlockHeight:g,feePayer:a}).add(c)}async withdraw(e,a){let[t]=R(this.pubkey,a,this.program.programId),n=[],{ataPubKey:i,ix:s}=await N(this.program.provider.connection,this.vault.quoteMint,a,a,this.quoteMintInfo.tokenProgram);s&&n.push(s),this.vault.quoteMint.equals(o.FX)&&(n.push(...W(a,i,BigInt(e.toString()))),[].push(q(a)));let m=await this.program.methods.withdraw(e).accountsPartial({vault:this.pubkey,destinationToken:i,escrow:t,owner:a,pool:this.vault.pool,tokenVault:this.vault.tokenVault,tokenMint:this.vault.quoteMint,tokenProgram:this.quoteMintInfo.tokenProgram}).preInstructions(n).transaction(),{blockhash:u,lastValidBlockHeight:l}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:u,lastValidBlockHeight:l,feePayer:a}).add(m)}async withdrawRemainingQuote(e){let[a]=R(this.pubkey,e,this.program.programId),t=[],{ataPubKey:n,ix:i}=await N(this.program.provider.connection,this.vault.quoteMint,e,e,this.quoteMintInfo.tokenProgram);
1i&&t.push(i);let o=await this.program.methods.withdrawRemainingQuote().accountsPartial({vault:this.pubkey,escrow:a,owner:e,destinationToken:n,pool:this.vault.pool,tokenVault:this.vault.tokenVault,tokenMint:this.vault.quoteMint,tokenProgram:this.quoteMintInfo.tokenProgram}).preInstructions(t).transaction(),{blockhash:s,lastValidBlockHeight:m}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:s,lastValidBlockHeight:m,feePayer:e}).add(o)}async claimToken(e){let[a]=R(this.pubkey,e,this.program.programId),t=[],{ataPubKey:n,ix:i}=await N(this.program.provider.connection,this.vault.baseMint,e,e,this.baseMintInfo.tokenProgram);i&&t.push(i);let o=await this.program.methods.claimToken().accountsPartial({vault:this.pubkey,escrow:a,owner:e,destinationToken:n,tokenOutVault:this.vault.tokenOutVault,tokenMint:this.vault.baseMint,tokenProgram:this.baseMintInfo.tokenProgram}).preInstructions(t).transaction(),{blockhash:s,lastValidBlockHeight:m}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:s,lastValidBlockHeight:m,feePayer:e}).add(o)}async fillVault(e){let a=this.vault.poolType;return 1===a?L(this.program,this.pubkey,this.vault,e):2!==a?z(this.program,this.pubkey,this.vault,e,this.opt):void 0}async createMerkleRootConfig(e,a,t){var n,i;let[o]=(n=this.pubkey,i=this.program.programId,r.PublicKey.findProgramAddressSync([v.from(w.merkleRoot),n.toBuffer(),new Uint8Array(a.toArrayLike(v,"le",8))],i));return this.program.methods.createMerkleRootConfig({root:Array.from(new Uint8Array(e)),version:a}).accountsPartial({merkleRootConfig:o,vault:this.pubkey,admin:t,systemProgram:r.SystemProgram.programId}).transaction()}async createMerkleProofMetadata(e,a){let[t]=E(this.pubkey,this.program.programId),{blockhash:n,lastValidBlockHeight:i}=await this.program.provider.connection.getLatestBlockhash("confirmed"),o=await this.program.methods.createMerkleProofMetadata(a).accountsPartial({merkleProofMetadata:t,vault:this.pubkey,admin:e,systemProgram:r.SystemProgram.programId}).transaction();return new r.Transaction({blockhash:n,lastValidBlockHeight:i,feePayer:e}).add(o)}async getMerkleProofUrl(){let[e]=E(this.pubkey,this.program.programId),a=await this.program.account.merkleProofMetadata.fetchNullable(e);return a?a.proofUrl:P[this.opt.cluster||"mainnet-beta"]}async getMerkleProofForDeposit(e){let a=await this.getMerkleProofUrl();a.endsWith("/")&&(a=a.slice(0,a.length-1));let t=`${a}/${this.pubkey.toBase58()}/${e.toBase58()}`;try{let e=await fetch(t);if(e.ok){let a=await e.json();return{merkleRootConfig:new r.PublicKey(a.merkle_root_config),maxCap:new n.BN(a.max_cap),proof:a.proof}}}catch(e){console.error(e)}return null}async closeMerkleProofMetadata(e){let[a]=E(this.pubkey,this.program.programId),t=await this.program.methods.closeMerkleProofMetadata().accountsPartial({merkleProofMetadata:a,vault:this.pubkey,rentReceiver:e,admin:e}).transaction(),{blockhash:n,lastValidBlockHeight:i}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:n,lastValidBlockHeight:i,feePayer:e}).add(t)}async closeEscrow(e){let[a]=R(this.pubkey,e,this.program.programId),t=await this.program.methods.closeEscrow().accountsPartial({vault:this.pubkey,escrow:a,owner:e,rentReceiver:e}).transaction(),{blockhash:n,lastValidBlockHeight:i}=await this.program.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:n,lastValidBlockHeight:i,feePayer:e}).add(t)}getDepositInfo(e){if(!e||this.vault.totalDeposit.isZero())return{totalDeposit:new n.BN(0),totalFilled:new n.BN(0),totalReturned:new n.BN(0)};let a=this.vault.totalDeposit.sub(this.vault.swappedAmount),t=[3,4,5].includes(this.vaultState),i=t?a.mul(e.totalDeposit).div(this.vault.totalDeposit):new n.BN(0),o=t?e.totalDeposit.sub(i):new n.BN(0);return{totalDeposit:e.totalDeposit,totalFilled:o,totalReturned:i}}static async createVault(e,{quoteMint:a,baseMint:t,poolType:n,vaultMode:i,poolAddress:o,config:s},m,u){let[l]=F(s,o,e.programId),p=0===i?e.methods.initializeVaultWithProrataConfig:e.methods.initializeVaultWithFcfsConfig,d=await p({poolType:n,baseMint:t,quoteMint:a,whitelistMode:u}).accountsPartial({vault:l,pool:o,funder:m,config:s,quoteMint:a,program:e.programId,systemProgram:r.SystemProgram.programId}).transaction(),{blockhash:c,lastValidBlockHeight:y}=await e.provider.connection.getLatestBlockhash("confirmed");return new r.Transaction({blockhash:c,lastValidBlockHeight:y,feePayer:m}).add(d)}static async getEscrowByOwner(e,a,t){return B(e,t).account.escrow.all([{memcmp:{bytes:a.toBase58(),offset:40}}])}},U={address:"vaU6kP7iNEGkbmPkLmZfGwiGxd4Mob24QQCie5R9kd2",metadata:{name:"alpha_vault",version:"0.4.1",spec:"0.1.0",description:"Created with Anchor"},instructions:[{name:"claim_token",discriminator:[116,206,27,191,166,19,0,73],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"escrow",writable:!0},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"destination_token",writable:!0},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_crank_fee_whitelist",discriminator:[189,166,73,241,81,12,246,170],accounts:[{name:"crank_fee_whitelist",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_escrow",discriminator:[139,171,94,146,191,91,144,50],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"escrow",writable:!0},{name:"owner",signer:!0,relations:["escrow"]},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_fcfs_config",discriminator:[48,178,212,101,23,138,233,90],accounts:[{name:"config",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0}],args:[]},{name:"close_merkle_proof_metadata",discriminator:[23,52,170,30,252,47,100,129],accounts:[{name:"vault",relations:["merkle_proof_metadata"]},{name:"merkle_proof_metadata",writable:!0},{name:"admin",signer:!0},{name:"rent_receiver",writable:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"close_prorata_config",discriminator:[84,140,103,57,178,155,57,26],accounts:[{name:"config",writable:!0},{name:"admin",writable:!0,signer:!0},{name:"rent_receiver",writable:!0}],args:[]},{name:"create_crank_fee_whitelist",discriminator:[120,91,25,162,211,27,100,199],accounts:[{name:"crank_fee_whitelist",writable:!0,pda:{seeds:[{kind:"const",value:[99,114,97,110,107,95,102,101,101,95,119,104,105,116,101,108,105,115,116]},{kind:"account",path:"cranker"}]}},{name:"cranker"},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"create_fcfs_config",discriminator:[7,255,242,242,1,99,179,12],accounts:[{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[102,99,102,115,95,99,111,110,102,105,103]},{kind:"arg",path:"config_parameters.index"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"config_parameters",type:{defined:{name:"FcfsConfigParameters"}}}]},{name:"create_merkle_proof_metadata",discriminator:[151,46,163,52,181,178,47,227],accounts:[{name:"vault"},{name:"merkle_proof_metadata",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,114,107,108,101,95,112,114,111,111,102,95,109,101,116,97,100,97,116,97]},{kind:"account",path:"vault"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"proof_url",type:"string"}]},{name:"create_merkle_root_config",discriminator:[55,243,253,240,78,186,232,166],accounts:[{name:"vault"},{name:"merkle_root_config",writable:!0,pda:{seeds:[{kind:"const",value:[109,101,114,107,108,101,95,114,111,111,116]},{kind:"account",path:"vault"},{kind:"arg",path:"params.version"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"CreateMerkleRootConfigParams"}}}]},{name:"create_new_escrow",discriminator:[60,154,170,202,252,109,83,199],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"payer",writable:!0,signer:!0},{name:"escrow_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]},{name:"create_permissioned_escrow",discriminator:[60,166,36,85,96,137,132,184],accounts:[{name:"vault",writable:!0,relations:["merkle_root_config"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"merkle_root_config",docs:["merkle_root_config"]},{name:"payer",writable:!0,signer:!0},{name:"escrow_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_cap",type:"u64"},{name:"proof",type:{vec:{array:["u8",32]}}}]},{name:"create_permissioned_escrow_with_authority",discriminator:[211,231,194,69,65,11,123,93],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0,pda:{seeds:[{kind:"const",value:[101,115,99,114,111,119]},{kind:"account",path:"vault"},{kind:"account",path:"owner"}]}},{name:"owner"},{name:"payer",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_cap",type:"u64"}]},{name:"create_prorata_config",discriminator:[38,203,72,231,103,29,195,61],accounts:[{name:"config",writable:!0,pda:{seeds:[{kind:"const",value:[112,114,111,114,97,116,97,95,99,111,110,102,105,103]},{kind:"arg",path:"config_parameters.index"}]}},{name:"admin",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"}],args:[{name:"config_parameters",type:{defined:{name:"ProrataConfigParameters"}}}]},{name:"deposit",discriminator:[242,35,198,137,82,225,242,182],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"source_token",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"fill_damm_v2",discriminator:[221,175,108,48,19,204,125,23],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"},{name:"pool_authority"},{name:"pool",writable:!0,relations:["vault"]},{name:"token_a_vault",writable:!0},{name:"token_b_vault",writable:!0},{name:"token_a_mint"},{name:"token_b_mint"},{name:"token_a_program"},{name:"token_b_program"},{name:"damm_event_authority"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"fill_dlmm",discriminator:[1,108,141,11,4,126,251,222],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"LbVRzDTvBDEcrthxfZ4RL6yiq3uZw8bS6MwtdY6UhFQ"},{name:"pool",writable:!0,relations:["vault"]},{name:"bin_array_bitmap_extension"},{name:"reserve_x",writable:!0},{name:"reserve_y",writable:!0},{name:"token_x_mint"},{name:"token_y_mint"},{name:"oracle",writable:!0},{name:"token_x_program"},{name:"token_y_program"},{name:"dlmm_event_authority"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"memo_program"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"},{name:"remaining_accounts_info",type:{defined:{name:"RemainingAccountsInfo"}}}]},{name:"fill_dynamic_amm",discriminator:[224,226,223,80,36,50,70,231],accounts:[{name:"vault",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_out_vault",writable:!0,relations:["vault"]},{name:"amm_program",address:"Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB"},{name:"pool",writable:!0,relations:["vault"]},{name:"a_vault",writable:!0},{name:"b_vault",writable:!0},{name:"a_token_vault",writable:!0},{name:"b_token_vault",writable:!0},{name:"a_vault_lp_mint",writable:!0},{name:"b_vault_lp_mint",writable:!0},{name:"a_vault_lp",writable:!0},{name:"b_vault_lp",writable:!0},{name:"admin_token_fee",writable:!0},{name:"vault_program"},{name:"token_program"},{name:"crank_fee_whitelist",optional:!0},{name:"crank_fee_receiver",writable:!0,optional:!0,address:"BJQbRiRWhJCyTYZcAuAL3ngDCx3AyFQGKDq8zhiZAKUw"},{name:"cranker",writable:!0,signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"max_amount",type:"u64"}]},{name:"initialize_fcfs_vault",discriminator:[163,205,69,145,235,71,47,21],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"base"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"funder",writable:!0,signer:!0},{name:"base",signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeFcfsVaultParams"}}}]},{name:"initialize_prorata_vault",discriminator:[178,180,176,247,128,186,43,9],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"base"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"funder",writable:!0,signer:!0},{name:"base",signer:!0},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,
1104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeProrataVaultParams"}}}]},{name:"initialize_vault_with_fcfs_config",discriminator:[189,251,92,104,235,21,81,182],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"config"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"quote_mint"},{name:"funder",writable:!0,signer:!0},{name:"config"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeVaultWithConfigParams"}}}]},{name:"initialize_vault_with_prorata_config",discriminator:[155,216,34,162,103,242,236,211],accounts:[{name:"vault",writable:!0,pda:{seeds:[{kind:"const",value:[118,97,117,108,116]},{kind:"account",path:"config"},{kind:"account",path:"pool"}]}},{name:"pool"},{name:"quote_mint"},{name:"funder",writable:!0,signer:!0},{name:"config"},{name:"system_program",address:"11111111111111111111111111111111"},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"InitializeVaultWithConfigParams"}}}]},{name:"transfer_vault_authority",discriminator:[139,35,83,88,52,186,162,110],accounts:[{name:"vault",writable:!0},{name:"vault_authority",signer:!0,relations:["vault"]}],args:[{name:"new_authority",type:"pubkey"}]},{name:"update_fcfs_vault_parameters",discriminator:[172,23,13,143,18,133,104,174],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"admin",signer:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"UpdateFcfsVaultParams"}}}]},{name:"update_prorata_vault_parameters",discriminator:[177,39,151,50,253,249,5,74],accounts:[{name:"vault",writable:!0},{name:"pool",relations:["vault"]},{name:"admin",signer:!0},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"params",type:{defined:{name:"UpdateProrataVaultParams"}}}]},{name:"withdraw",discriminator:[183,18,70,156,148,109,161,34],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"destination_token",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"}]},{name:"withdraw_remaining_quote",discriminator:[54,253,188,34,100,145,59,127],accounts:[{name:"vault",writable:!0,relations:["escrow"]},{name:"pool",relations:["vault"]},{name:"escrow",writable:!0},{name:"token_vault",writable:!0,relations:["vault"]},{name:"destination_token",writable:!0},{name:"token_mint"},{name:"token_program"},{name:"owner",signer:!0,relations:["escrow"]},{name:"event_authority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[]}],accounts:[{name:"CrankFeeWhitelist",discriminator:[39,105,184,30,248,231,176,133]},{name:"Escrow",discriminator:[31,213,123,187,186,22,218,155]},{name:"FcfsVaultConfig",discriminator:[99,243,252,122,160,175,130,52]},{name:"MerkleProofMetadata",discriminator:[133,24,30,217,240,20,222,100]},{name:"MerkleRootConfig",discriminator:[103,2,222,217,73,50,187,39]},{name:"ProrataVaultConfig",discriminator:[93,214,205,104,119,9,51,152]},{name:"Vault",discriminator:[211,8,232,43,2,152,117,119]}],events:[{name:"CrankFeeWhitelistClosed",discriminator:[157,171,85,155,37,20,41,114]},{name:"CrankFeeWhitelistCreated",discriminator:[176,138,32,77,129,74,137,244]},{name:"EscrowClaimToken",discriminator:[179,72,71,30,59,19,170,3]},{name:"EscrowClosed",discriminator:[109,20,57,51,217,118,3,173]},{name:"EscrowCreated",discriminator:[70,127,105,102,92,97,7,173]},{name:"EscrowDeposit",discriminator:[43,90,49,176,134,148,50,32]},{name:"EscrowRemainingWithdraw",discriminator:[113,14,156,89,113,79,88,178]},{name:"EscrowWithdraw",discriminator:[171,17,164,116,122,66,183,34]},{name:"FcfsVaultCreated",discriminator:[73,153,165,103,151,182,184,136]},{name:"FcfsVaultParametersUpdated",discriminator:[78,112,112,62,193,209,231,226]},{name:"MerkleProofMetadataCreated",discriminator:[186,42,131,176,244,128,196,68]},{name:"MerkleRootConfigCreated",discriminator:[121,112,42,76,144,131,142,90]},{name:"ProrataVaultCreated",discriminator:[181,255,162,226,203,199,193,6]},{name:"ProrataVaultParametersUpdated",discriminator:[24,147,160,237,132,87,15,206]},{name:"SwapFill",discriminator:[116,212,73,222,33,244,134,148]}
1],errors:[{code:6e3,name:"TimePointNotInFuture",msg:"Time point is not in future"},{code:6001,name:"IncorrectTokenMint",msg:"Token mint is incorrect"},{code:6002,name:"IncorrectPairType",msg:"Pair is not permissioned"},{code:6003,name:"PoolHasStarted",msg:"Pool has started"},{code:6004,name:"NotPermitThisActionInThisTimePoint",msg:"This action is not permitted in this time point"},{code:6005,name:"TheSaleIsOngoing",msg:"The sale is on going, cannot withdraw"},{code:6006,name:"EscrowIsNotClosable",msg:"Escrow is not closable"},{code:6007,name:"TimePointOrdersAreIncorrect",msg:"Time point orders are incorrect"},{code:6008,name:"EscrowHasRefunded",msg:"Escrow has refunded"},{code:6009,name:"MathOverflow",msg:"Math operation overflow"},{code:6010,name:"MaxBuyingCapIsZero",msg:"Max buying cap is zero"},{code:6011,name:"MaxAmountIsTooSmall",msg:"Max amount is too small"},{code:6012,name:"PoolTypeIsNotSupported",msg:"Pool type is not supported"},{code:6013,name:"InvalidAdmin",msg:"Invalid admin"},{code:6014,name:"VaultModeIsIncorrect",msg:"Vault mode is incorrect"},{code:6015,name:"MaxDepositingCapIsInValid",msg:"Max depositing cap is invali
1d"},{code:6016,name:"VestingDurationIsInValid",msg:"Vesting duration is invalid"},{code:6017,name:"DepositAmountIsZero",msg:"Deposit amount is zero"},{code:6018,name:"PoolOwnerIsMismatched",msg:"Pool owner is mismatched"},{code:6019,name:"WithdrawAmountIsZero",msg:"Withdraw amount is zero"},{code:6020,name:"DepositingDurationIsInvalid",msg:"Depositing duration is invalid"},{code:6021,name:"DepositingTimePointIsInvalid",msg:"Depositing time point is invalid"},{code:6022,name:"IndividualDepositingCapIsZero",msg:"Individual depositing cap is zero"},{code:6023,name:"InvalidFeeReceiverAccount",msg:"Invalid fee receiver account"},{code:6024,name:"NotPermissionedVault",msg:"Not permissioned vault"},{code:6025,name:"NotPermitToDoThisAction",msg:"Not permit to do this action"},{code:6026,name:"InvalidProof",msg:"Invalid Merkle proof"},{code:6027,name:"InvalidActivationType",msg:"Invalid activation type"},{code:6028,name:"ActivationTypeIsMismatched",msg:"Activation type is mismatched"},{code:6029,name:"InvalidPool",msg:"Pool is not connected to the alpha vault"},{code:6030,name:"InvalidCreator",msg:"Invalid creator"},{code:6031,name:"PermissionedVaultCannotChargeEscrowFee",msg:"Permissioned vault cannot charge escrow fee"},{code:6032,name:"EscrowFeeTooHigh",msg:"Escrow fee too high"},{code:6033,name:"LockDurationInvalid",msg:"Lock duration is invalid"},{code:6034,name:"MaxBuyingCapIsTooSmall",msg:"Max buying cap is too small"},{code:6035,name:"MaxDepositingCapIsTooSmall",msg:"Max depositing cap is too small"},{code:6036,name:"InvalidWhitelistWalletMode",msg:"Invalid whitelist wallet mode"},{code:6037,name:"InvalidCrankFeeWhitelist",msg:"Invalid crank fee whitelist"},{code:6038,name:"MissingFeeReceiver",msg:"Missing fee receiver"},{code:6039,name:"DiscriminatorIsMismatched",msg:"Discriminator is mismatched"}],types:[{name:"AccountsType",type:{kind:"enum",variants:[{name:"TransferHookX"},{name:"TransferHookY"},{name:"TransferHookReward"}]}},{name:"CrankFeeWhitelist",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"owner",type:"pubkey"},{name:"padding",type:{array:["u128",5]}}]}},{name:"CrankFeeWhitelistClosed",type:{kind:"struct",fields:[{name:"cranker",type:"pubkey"}]}},{name:"CrankFeeWhitelistCreated",type:{kind:"struct",fields:[{name:"cranker",type:"pubkey"}]}},{name:"CreateMerkleRootConfigParams",type:{kind:"struct",fields:[{name:"root",docs:["The 256-bit merkle root."],type:{array:["u8",32]}},{name:"version",docs:["version"],type:"u64"}]}},{name:"Escrow",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"vault",docs:["vault address"],type:"pubkey"},{name:"owner",docs:["owner"],type:"pubkey"},{name:"total_deposit",docs:["total deposited quote token"],type:"u64"},{name:"claimed_token",docs:["Total token that escrow has claimed"],type:"u64"},{name:"last_claimed_point",docs:["Last claimed timestamp"],type:"u64"},{name:"refunded",docs:["Whether owner has claimed for remaining quote token"],type:"u8"},{name:"padding_1",docs:["padding 1"],type:{array:["u8",7]}},{name:"max_cap",docs:["Only has meaning in permissioned vault"],type:"u64"},{name:"withdrawn_deposit_overflow",docs:["Only has meaning in pro-rata vault"],type:"u64"},{name:"padding",type:{array:["u128",1]}}]}},{name:"EscrowClaimToken",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_claimed_token",type:"u64"}]}},{name:"EscrowClosed",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"vault_total_escrow",type:"u64"}]}},{name:"EscrowCreated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"vault_total_escrow",type:"u64"},{name:"escrow_fee",type:"u64"}]}},{name:"EscrowDeposit",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_deposit",type:"u64"}]}},{name:"EscrowRemainingWithdraw",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_remaining_deposit",type:"u64"}]}},{name:"EscrowWithdraw",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"escrow",type:"pubkey"},{name:"owner",type:"pubkey"},{name:"amount",type:"u64"},{name:"vault_total_deposit",type:"u64"}]}},{name:"FcfsConfigParameters",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"depositing_duration_until_last_join_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"index",type:"u64"}]}},{name:"FcfsVaultConfig",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"depositing_duration_until_last_join_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"_padding",type:{array:["u8",175]}}]}},{name:"FcfsVaultCreated",type:{kind:"struct",fields:[{name:"base_mint",type:"pubkey"},{name:"quote_mint",type:"pubkey"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_depositing_cap",type:"u64"},{name:"pool",type:"pubkey"},{name:"pool_type",type:"u8"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"}]}},{name:"FcfsVaultParametersUpdated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"max_depositing_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"}]}},{name:"InitializeFcfsVaultParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"depositing_point",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_depositing_cap",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"whitelist_mode",type:"u8"}]}},{name:"InitializeProrataVaultParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"depositing_point",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_buying_cap",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"whitelist_mode",type:"u8"}]}},{name:"InitializeVaultWithConfigParams",type:{kind:"struct",fields:[{name:"pool_type",type:"u8"},{name:"quote_mint",type:"pubkey"},{name:"base_mint",type:"pubkey"},{name:"whitelist_mode",type:"u8"}]}},{name:"MerkleProofMetadata",type:{kind:"struct",fields:[{name:"vault",docs:["vault pubkey that config is belong"],type:"pubkey"},{name:"padding",type:{array:["u64",16]}},{name:"proof_url",docs:["proof url"],type:"string"}]}},{name:"MerkleProofMetadataCreated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"proof_url",type:"string"}]}},{name:"MerkleRootConfig",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"root",docs:["The 256-bit merkle root."],t
1ype:{array:["u8",32]}},{name:"vault",docs:["vault pubkey that config is belong"],type:"pubkey"},{name:"version",docs:["version"],type:"u64"},{name:"_padding",docs:["padding for further use"],type:{array:["u64",8]}}]}},{name:"MerkleRootConfigCreated",type:{kind:"struct",fields:[{name:"admin",type:"pubkey"},{name:"config",type:"pubkey"},{name:"vault",type:"pubkey"},{name:"version",type:"u64"},{name:"root",type:{array:["u8",32]}}]}},{name:"ProrataConfigParameters",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"index",type:"u64"}]}},{name:"ProrataVaultConfig",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_duration",type:"u64"},{name:"end_vesting_duration",type:"u64"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"},{name:"_padding",type:{array:["u8",191]}}]}},{name:"ProrataVaultCreated",type:{kind:"struct",fields:[{name:"base_mint",type:"pubkey"},{name:"quote_mint",type:"pubkey"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"},{name:"max_buying_cap",type:"u64"},{name:"pool",type:"pubkey"},{name:"pool_type",type:"u8"},{name:"escrow_fee",type:"u64"},{name:"activation_type",type:"u8"}]}},{name:"ProrataVaultParametersUpdated",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"max_buying_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"RemainingAccountsInfo",type:{kind:"struct",fields:[{name:"slices",type:{vec:{defined:{name:"RemainingAccountsSlice"}}}}]}},{name:"RemainingAccountsSlice",type:{kind:"struct",fields:[{name:"accounts_type",type:{defined:{name:"AccountsType"}}},{name:"length",type:"u8"}]}},{name:"SwapFill",type:{kind:"struct",fields:[{name:"vault",type:"pubkey"},{name:"pair",type:"pubkey"},{name:"fill_amount",type:"u64"},{name:"purchased_amount",type:"u64"},{name:"unfilled_amount",type:"u64"}]}},{name:"UpdateFcfsVaultParams",type:{kind:"struct",fields:[{name:"max_depositing_cap",type:"u64"},{name:"depositing_point",type:"u64"},{name:"individual_depositing_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"UpdateProrataVaultParams",type:{kind:"struct",fields:[{name:"max_buying_cap",type:"u64"},{name:"start_vesting_point",type:"u64"},{name:"end_vesting_point",type:"u64"}]}},{name:"Vault",serialization:"bytemuck",repr:{kind:"c"},type:{kind:"struct",fields:[{name:"pool",docs:["pool"],type:"pubkey"},{name:"token_vault",docs:["reserve quote token"],type:"pubkey"},{name:"token_out_vault",docs:["reserve base token"],type:"pubkey"},{name:"quote_mint",docs:["quote token"],type:"pubkey"},{name:"base_mint",docs:["base token"],type:"pubkey"},{name:"base",docs:["base key"],type:"pubkey"},{name:"owner",docs:["owner key, deprecated field, can re-use in the future"],type:"pubkey"},{name:"max_buying_cap",docs:["max buying cap"],type:"u64"},{name:"total_deposit",docs:["total deposited quote token"],type:"u64"},{name:"total_escrow",docs:["total user deposit"],type:"u64"},{name:"swapped_amount",docs:["swapped_amount"],type:"u64"},{name:"bought_token",docs:["total bought token"],type:"u64"},{name:"total_refund",docs:["Total quote refund"],type:"u64"},{name:"total_claimed_token",docs:["Total claimed_token"],type:"u64"},{name:"start_vesting_point",docs:["Start vesting ts"],type:"u64"},{name:"end_vesting_point",docs:["End vesting ts"],type:"u64"},{name:"bump",docs:["bump"],type:"u8"},{name:"pool_type",docs:["pool type"],type:"u8"},{name:"vault_mode",docs:["vault mode"],type:"u8"},{name:"padding_0",docs:["padding 0"],type:{array:["u8",5]}},{name:"max_depositing_cap",docs:["max depositing cap"],type:"u64"},{name:"individual_depositing_cap",docs:["individual depositing cap"],type:"u64"},{name:"depositing_point",docs:["depositing point"],type:"u64"},{name:"escrow_fee",docs:["flat fee when user open an escrow"],type:"u64"},{name:"total_escrow_fee",docs:["total escrow fee just for statistic"],type:"u64"},{name:"whitelist_mode",docs:["deposit whitelist mode"],type:"u8"},{name:"activation_type",docs:["activation type"],type:"u8"},{name:"padding_1",docs:["padding 1"],type:{array:["u8",6]}},{name:"vault_authority",docs:["vault authority normally is vault creator, will be able to create merkle root config"],type:"pubkey"},{name:"padding",type:{array:["u128",5]}}]}}]},Q=K}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.