add_new_farm
An entrypoint that adds a new farm with the specified parameters. Also setups share token default metadata.
Call parameters
type fa12_type is address
type fa2_type is [@layout:comb] record [
token : address;
id : token_id_type;
]
type token_type is
FA12 of fa12_type
| FA2 of fa2_type
type fees_type is [@layout:comb] record [
harvest_fee : nat;
withdrawal_fee : nat;
burn_reward : nat;
]
type stake_params_type is [@layout:comb] record [
staked_token : token_type;
is_v1_lp : bool;
]
type add_new_farm_type is [@layout:comb] record [
fees : fees_type;
stake_params : stake_params_type;
token_info : map(string, bytes);
paused : bool;
reward_per_second : nat;
timelock : nat;
start_time : timestamp;
]
fees_type
stake_params_type
add_new_farm_type
Usage
import { MichelsonMap } from "@taquito/michelson-encoder";
const qFarmAddress = "KT1...";
const params = {
fees: {
harvest_fee: 0.05 * 10 ** 16, // 0.05%
withdrawal_fee: 0.25 * 10 ** 16, // 0.25%
burn_reward: 3 * 10 ** 16, // 3%
},
stake_params: {
staked_token: {
fA2: {
token: "KT1...",
id: 0,
},
},
is_v1_lp: true, // or false
},
token_info: MichelsonMap.fromLiteral({
name: Buffer.from("wWBTC/TEZ FA2 Staking Share").toString("hex"),
symbol: Buffer.from("QSHR").toString("hex"),
decimals: Buffer.from("6").toString("hex"),
}),
paused: false, // or true
reward_per_second: 1169098400000000,
timelock: 0, // or positive number
start_time: String(Math.ceil(Date.now() / 1000)),
};
const qFarm = await tezos.contract.at(qFarmAddress);
const operation = await qFarm.methodsObject.add_new_farm(params).send();
await operation.confirmation();
Errors
Not-admin
-sender
of the transaction is not current administrator.
Last updated