Bozo Func
Bozo Func
"initialize" basic function of initializing the contract where the mint address of the NFT that
categorized "i.e. the first NFT that gave rise to the collection" must be passed to check the origin of the
NFTs
"change_admin" function where the account that will be the new admin will be passed "new_admin"
(which receives the collected fees etc)
"change_collection" function where the mint account of a new collection "new_collection" will be
passed if necessary (which checks the origin of the nft, etc.)
"add_bot" function responsible for adding a "bot" account to the permissions list as a bot (which will be
used in BE)
"rmv_bot" the inverse of the "add_bot" function will remove the "bot" account if it exists from the
permission list
Refferal: a button that will perform the function of creating the user's global account if they have not
interacted with the dapp before
is the function used to close the order that has the corresponding numbering id:u64
is the function that will deposit tokens indirectly to the global account so that it can be used with the
asima function for a specific purpose (bump:u8 will be the same for all functions used to determine the
PDA curve of the global account In addition to the "deposit_sol" function, it does the same thing but is
called when the token in question is a standard solana)
this function is responsible for withdrawing the tokens from the global account with the "amount"
input (bump:u8 will be the same for all functions used to determine the PDA curve of the global
account from which the tokens are being withdrawn)
id:u64 -> which order of the list of that global account does this order represent
types:u8 -> type 1 quickswap, type 2 buy/sell, type 3 DCA, type 4 spanbuy
min_amount_expected:u64 -> for the first two functions it will be passed to others, the Owner function
referring to the order will be updated so that it represents in DCA and spanbuy the quantity already
converted into the "exchange" token
side:bool -> passed in buy/sell to know how the operation will be carried out "buy: true or sell:false"
(for other functions it is passed as true)
interval:u64 -> the time in timestamp that each DCA operation will be away from the other, for
example "60" minute by minute "86400" day by day etc.
slippage_bips:u64 number of slippage that the operation will have (30 = 0.3%)
nft_metadata:Option<Pubkey> -> optional in which the metadata address of the nft that the user has is
passed if he has the nft where its legitimacy will be confirmed
USERKey: This is an account associated with the user interacting with the contract. It is used to identify
the user and their operations.
REFFERAL: This account represents a user referenced by another user. It is used in cases where there is
a referral or affiliate program.
OrderKey: This is an account that represents an order in the market. It stores information about the
order, such as type, quantity, limit, among other relevant data.
MetadataKey: This account can be associated with metadata, perhaps related to non-fungible tokens
(NFTs) or other assets. It stores additional information about a specific asset.
AdminTokenAccount: This account represents an account associated with the contract or treasury
administrator. It is used to receive or send administrative tokens.
FromAutoTokenAccount and ToAutoTokenAccount: These accounts are associated with specific tokens
and are used for automated transactions between users and contracts.
BotKey: This account can represent the role of a bot within the system, if there are integrations with
bots to automate some operations.
poolKeys: These are keys associated with liquidity pools in an AMM (Automated Market Maker)
protocol, used in asset exchange operations.
vaultOwner: Represents the owner of the vault, used in specific asset management operations.