如何设置stake,使得解除质押后在一定时间后才能取回
如何设置stake,使得解除质押后在一定时间后才能取回,我设置revokeWaitingPeriod似乎没有作用,revoke后,可以马上claim取回,
const stakeToken = { address: env.tokenId, value: fromTokenToUnit(1, 18).toString() };
const stakeAsset = async () => {
const { asset, staked, stakeAddress, stakeReciver } = await isStaked();
if (staked) return;
const from = wallet.address;
const to = stakeReciver;
const address = stakeAddress;
let tx = await client.multiSignStakeTx({
tx: {
itx: {
address: stakeAddress,
receiver: to,
locked: true,
message: 'DID Mail Server Node Statk ',
// revokeWaitingPeriod: 60 * 60 * 24 * 7,
revokeWaitingPeriod: 60 * 2,
slashers: [to],
nonce: '',
inputs: [
{
owner: from,
assets: [asset],
tokens: [stakeToken],
},
],
},
signatures: [
{
signer: from,
pk: wallet.publicKey,
},
],
},
wallet,
});
tx = await client.signStakeTx({ tx, wallet });
const hash = await client.sendStakeTx({ tx, wallet });
return [hash, address];
};
7 条回复
就是通过 revokeWaitingPeriod 来控制,看你的代码设置的太短了。你可以把链上的 Stake 地址贴上来,我来诊断下。
https://explorer.abtnetwork.io/explorer/txs/0B8C909777862866C98B17181F310DA7197994693AC8FB92F22902E755D740A0
这个单位是秒吗?
revokeWaitingPeriod 是秒
https://explorer.abtnetwork.io/explorer/stakes/zrjiZ1Wu8WyPix8aSZjBpZjzwi41M15yKNxb/transactions
stake:"revokeWaitingPeriod": 120
revoke时间:2024-08-28T01:09.811Z
claim时间: 2024-08-28T01:09.297Z
时间间隔5秒
Stake 交易目前的执行逻辑: