BalancerAmm: {
accounts: [{
name: "pool";
type: {
fields: [{
name: "authority";
type: "publicKey";
}, {
name: "fee";
type: "u64";
}, {
name: "tax";
type: "u64";
}, {
name: "state";
type: {
defined: "PoolState";
};
}, {
name: "mintLpt";
type: "publicKey";
}, {
name: "taxman";
type: "publicKey";
}, {
name: "mints";
type: {
vec: "publicKey";
};
}, {
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}, {
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
name: "reserves";
type: {
vec: "u64";
};
}, {
name: "weights";
type: {
vec: "u64";
};
}];
kind: "struct";
};
}];
errors: [{
code: 6000;
msg: "Operation overflowed";
name: "Overflow";
}, {
code: 6001;
msg: "Not have permission!";
name: "InvalidPermission";
}, {
code: 6002;
msg: "Invalid length of parameters!";
name: "ParamsLength";
}, {
code: 6003;
msg: "Zero value is invalid!";
name: "ParamsZero";
}, {
code: 6004;
msg: "Invalid weights!";
name: "ParamsWeights";
}, {
code: 6005;
msg: "Invalid mint address!";
name: "AccountMint";
}, {
code: 6006;
msg: "Invalid treasury address!";
name: "AccountTreasury";
}, {
code: 6007;
msg: "Invalid pool state!";
name: "InvalidPoolState";
}, {
code: 6008;
msg: "The pool was stopped!";
name: "PoolStopped";
}, {
code: 6009;
msg: "The pool is inactive!";
name: "PoolInactive";
}, {
code: 6010;
msg: "The pool is not frozen!";
name: "PoolNotFrozen";
}, {
code: 6011;
msg: "Invalid mint state!";
name: "MintState";
}, {
code: 6012;
msg: "Cant calculate starting lpt";
name: "CalcStartingLpt";
}, {
code: 6013;
msg: "Cant calculate swap";
name: "CalcSwap";
}, {
code: 6014;
msg: "Can't calculate the amount of LP tokens";
name: "CannotDeposit";
}, {
code: 6015;
msg: "Can't calculate the amount of tokens";
name: "CalcWithdraw";
}, {
code: 6016;
msg: "Large slippage";
name: "Slippage";
}, {
code: 6017;
msg: "Too many referrer addresses.";
name: "TooManyReferrers";
}];
events: [{
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "amountsIn";
type: {
vec: "u64";
};
}, {
index: false;
name: "lpAmount";
type: "u64";
}];
name: "AddLiquidityEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "ClosePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "FinalizePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "FreezePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "startingLptAmount";
type: "u64";
}];
name: "StartPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "mint";
type: "publicKey";
}, {
index: false;
name: "amountIn";
type: "u64";
}];
name: "InitializeJoinPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "fee";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}, {
index: false;
name: "mints";
type: {
vec: "publicKey";
};
}, {
index: false;
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
index: false;
name: "weights";
type: {
vec: "u64";
};
}, {
index: false;
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "InitializePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "lpAmount";
type: "u64";
}, {
index: false;
name: "amountsOut";
type: {
vec: "u64";
};
}];
name: "RemoveLiquidityEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "bidMint";
type: "publicKey";
}, {
index: false;
name: "askMint";
type: "publicKey";
}, {
index: false;
name: "bidAmount";
type: "u64";
}, {
index: false;
name: "limit";
type: "u64";
}, {
index: false;
name: "askAmount";
type: "u64";
}];
name: "RouteEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "bidMint";
type: "publicKey";
}, {
index: false;
name: "askMint";
type: "publicKey";
}, {
index: false;
name: "bidAmount";
type: "u64";
}, {
index: false;
name: "limit";
type: "u64";
}, {
index: false;
name: "askAmount";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}, {
index: false;
name: "fee";
type: "u64";
}];
name: "SwapEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "ThawPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "newOwner";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "TransferOwnershipEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "UpdateActionsEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "fee";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}];
name: "UpdateFeeEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "weights";
type: {
vec: "u64";
};
}];
name: "UpdateWeightsEvent";
}];
instructions: [{
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: true;
name: "pool";
}, {
isMut: true;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: true;
name: "mintLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "fee";
type: "u64";
}, {
name: "tax";
type: "u64";
}, {
name: "mints";
type: {
vec: "publicKey";
};
}, {
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
name: "weights";
type: {
vec: "u64";
};
}, {
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "initializePool";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: true;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "mint";
}, {
isMut: true;
isSigner: false;
name: "dstTreasury";
}, {
isMut: true;
isSigner: false;
name: "srcAssociatedTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "tokenAccountTaxman";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amount";
type: "u64";
}];
name: "initializeJoin";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amountsIn";
type: {
vec: "u64";
};
}];
name: "addLiquidity";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [{
name: "amountsLpt";
type: "u64";
}];
name: "removeLiquidity";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "bidMint";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "srcTreasury";
}, {
isMut: true;
isSigner: false;
name: "srcAssociatedTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "srcTokenAccountTaxman";
}, {
isMut: false;
isSigner: false;
name: "askMint";
}, {
isMut: true;
isSigner: false;
name: "dstTreasury";
}, {
isMut: true;
isSigner: false;
name: "dstAssociatedTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "bidAmount";
type: "u64";
}, {
name: "limit";
type: "u64";
}];
name: "swap";
returns: "u64";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [{
name: "bidAmount";
type: "u64";
}, {
name: "limit";
type: "u64";
}];
name: "route";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "weights";
type: {
vec: "u64";
};
}];
name: "updateWeights";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "finalizePool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "freezePool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "thawPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "owner";
type: "publicKey";
}];
name: "transferOwnership";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "updateActions";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "fee";
type: "u64";
}, {
name: "taxFee";
type: "u64";
}];
name: "updateFee";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [];
name: "closePool";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "mint";
}, {
isMut: false;
isSigner: true;
name: "src";
}, {
isMut: true;
isSigner: false;
name: "srcTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "dst";
}, {
isMut: true;
isSigner: false;
name: "dstTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amount";
type: "u64";
}];
name: "safeTransfer";
}];
name: "balancer_amm";
types: [{
docs: ["", "Pool state", ""];
name: "PoolState";
type: {
kind: "enum";
variants: [{
name: "Uninitialized";
}, {
name: "Initialized";
}, {
name: "Frozen";
}, {
name: "Deleted";
}, {
name: "Initializing";
}];
};
}, {
docs: ["", "Mint state", ""];
name: "MintActionState";
type: {
kind: "enum";
variants: [{
name: "Active";
}, {
name: "BidOnly";
}, {
name: "AskOnly";
}, {
name: "Paused";
}];
};
}];
version: "0.1.0";
}
Type declaration
accounts: [{
name: "pool";
type: {
fields: [{
name: "authority";
type: "publicKey";
}, {
name: "fee";
type: "u64";
}, {
name: "tax";
type: "u64";
}, {
name: "state";
type: {
defined: "PoolState";
};
}, {
name: "mintLpt";
type: "publicKey";
}, {
name: "taxman";
type: "publicKey";
}, {
name: "mints";
type: {
vec: "publicKey";
};
}, {
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}, {
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
name: "reserves";
type: {
vec: "u64";
};
}, {
name: "weights";
type: {
vec: "u64";
};
}];
kind: "struct";
};
}]
errors: [{
code: 6000;
msg: "Operation overflowed";
name: "Overflow";
}, {
code: 6001;
msg: "Not have permission!";
name: "InvalidPermission";
}, {
code: 6002;
msg: "Invalid length of parameters!";
name: "ParamsLength";
}, {
code: 6003;
msg: "Zero value is invalid!";
name: "ParamsZero";
}, {
code: 6004;
msg: "Invalid weights!";
name: "ParamsWeights";
}, {
code: 6005;
msg: "Invalid mint address!";
name: "AccountMint";
}, {
code: 6006;
msg: "Invalid treasury address!";
name: "AccountTreasury";
}, {
code: 6007;
msg: "Invalid pool state!";
name: "InvalidPoolState";
}, {
code: 6008;
msg: "The pool was stopped!";
name: "PoolStopped";
}, {
code: 6009;
msg: "The pool is inactive!";
name: "PoolInactive";
}, {
code: 6010;
msg: "The pool is not frozen!";
name: "PoolNotFrozen";
}, {
code: 6011;
msg: "Invalid mint state!";
name: "MintState";
}, {
code: 6012;
msg: "Cant calculate starting lpt";
name: "CalcStartingLpt";
}, {
code: 6013;
msg: "Cant calculate swap";
name: "CalcSwap";
}, {
code: 6014;
msg: "Can't calculate the amount of LP tokens";
name: "CannotDeposit";
}, {
code: 6015;
msg: "Can't calculate the amount of tokens";
name: "CalcWithdraw";
}, {
code: 6016;
msg: "Large slippage";
name: "Slippage";
}, {
code: 6017;
msg: "Too many referrer addresses.";
name: "TooManyReferrers";
}]
events: [{
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "amountsIn";
type: {
vec: "u64";
};
}, {
index: false;
name: "lpAmount";
type: "u64";
}];
name: "AddLiquidityEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "ClosePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "FinalizePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "FreezePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "startingLptAmount";
type: "u64";
}];
name: "StartPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "mint";
type: "publicKey";
}, {
index: false;
name: "amountIn";
type: "u64";
}];
name: "InitializeJoinPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "fee";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}, {
index: false;
name: "mints";
type: {
vec: "publicKey";
};
}, {
index: false;
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
index: false;
name: "weights";
type: {
vec: "u64";
};
}, {
index: false;
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "InitializePoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "lpAmount";
type: "u64";
}, {
index: false;
name: "amountsOut";
type: {
vec: "u64";
};
}];
name: "RemoveLiquidityEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "bidMint";
type: "publicKey";
}, {
index: false;
name: "askMint";
type: "publicKey";
}, {
index: false;
name: "bidAmount";
type: "u64";
}, {
index: false;
name: "limit";
type: "u64";
}, {
index: false;
name: "askAmount";
type: "u64";
}];
name: "RouteEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "bidMint";
type: "publicKey";
}, {
index: false;
name: "askMint";
type: "publicKey";
}, {
index: false;
name: "bidAmount";
type: "u64";
}, {
index: false;
name: "limit";
type: "u64";
}, {
index: false;
name: "askAmount";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}, {
index: false;
name: "fee";
type: "u64";
}];
name: "SwapEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "ThawPoolEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "newOwner";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}];
name: "TransferOwnershipEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "UpdateActionsEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "fee";
type: "u64";
}, {
index: false;
name: "tax";
type: "u64";
}];
name: "UpdateFeeEvent";
}, {
fields: [{
index: false;
name: "authority";
type: "publicKey";
}, {
index: false;
name: "pool";
type: "publicKey";
}, {
index: false;
name: "weights";
type: {
vec: "u64";
};
}];
name: "UpdateWeightsEvent";
}]
instructions: [{
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: true;
name: "pool";
}, {
isMut: true;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: true;
name: "mintLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "fee";
type: "u64";
}, {
name: "tax";
type: "u64";
}, {
name: "mints";
type: {
vec: "publicKey";
};
}, {
name: "treasuries";
type: {
vec: "publicKey";
};
}, {
name: "weights";
type: {
vec: "u64";
};
}, {
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "initializePool";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: true;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "mint";
}, {
isMut: true;
isSigner: false;
name: "dstTreasury";
}, {
isMut: true;
isSigner: false;
name: "srcAssociatedTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "tokenAccountTaxman";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amount";
type: "u64";
}];
name: "initializeJoin";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amountsIn";
type: {
vec: "u64";
};
}];
name: "addLiquidity";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "mintLpt";
}, {
isMut: true;
isSigner: false;
name: "associatedTokenAccountLpt";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [{
name: "amountsLpt";
type: "u64";
}];
name: "removeLiquidity";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "taxman";
}, {
isMut: false;
isSigner: false;
name: "bidMint";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: true;
isSigner: false;
name: "srcTreasury";
}, {
isMut: true;
isSigner: false;
name: "srcAssociatedTokenAccount";
}, {
isMut: true;
isSigner: false;
name: "srcTokenAccountTaxman";
}, {
isMut: false;
isSigner: false;
name: "askMint";
}, {
isMut: true;
isSigner: false;
name: "dstTreasury";
}, {
isMut: true;
isSigner: false;
name: "dstAssociatedTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "bidAmount";
type: "u64";
}, {
name: "limit";
type: "u64";
}];
name: "swap";
returns: "u64";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [{
name: "bidAmount";
type: "u64";
}, {
name: "limit";
type: "u64";
}];
name: "route";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "weights";
type: {
vec: "u64";
};
}];
name: "updateWeights";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "finalizePool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "freezePool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [];
name: "thawPool";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "owner";
type: "publicKey";
}];
name: "transferOwnership";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "actions";
type: {
vec: {
defined: "MintActionState";
};
};
}];
name: "updateActions";
}, {
accounts: [{
isMut: false;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}];
args: [{
name: "fee";
type: "u64";
}, {
name: "taxFee";
type: "u64";
}];
name: "updateFee";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "authority";
}, {
isMut: true;
isSigner: false;
name: "pool";
}, {
isMut: false;
isSigner: false;
name: "treasurer";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}, {
isMut: false;
isSigner: false;
name: "this";
}];
args: [];
name: "closePool";
}, {
accounts: [{
isMut: true;
isSigner: true;
name: "payer";
}, {
isMut: false;
isSigner: false;
name: "mint";
}, {
isMut: false;
isSigner: true;
name: "src";
}, {
isMut: true;
isSigner: false;
name: "srcTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "dst";
}, {
isMut: true;
isSigner: false;
name: "dstTokenAccount";
}, {
isMut: false;
isSigner: false;
name: "systemProgram";
}, {
isMut: false;
isSigner: false;
name: "tokenProgram";
}, {
isMut: false;
isSigner: false;
name: "associatedTokenProgram";
}, {
isMut: false;
isSigner: false;
name: "rent";
}];
args: [{
name: "amount";
type: "u64";
}];
name: "safeTransfer";
}]
name: "balancer_amm"
types: [{
docs: ["", "Pool state", ""];
name: "PoolState";
type: {
kind: "enum";
variants: [{
name: "Uninitialized";
}, {
name: "Initialized";
}, {
name: "Frozen";
}, {
name: "Deleted";
}, {
name: "Initializing";
}];
};
}, {
docs: ["", "Mint state", ""];
name: "MintActionState";
type: {
kind: "enum";
variants: [{
name: "Active";
}, {
name: "BidOnly";
}, {
name: "AskOnly";
}, {
name: "Paused";
}];
};
}]
version: "0.1.0"