@antseed/ants 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ants-web/assets/Arc-VDBY7LNS-BChRXCXW.js +1 -0
- package/dist/ants-web/assets/Brave-BRAKJXDS-mq-Xo37j.js +1 -0
- package/dist/ants-web/assets/Browser-76IHF3Y2-BMhRaC5Z.js +1 -0
- package/dist/ants-web/assets/Chrome-65Q5P54Y-DR9MQEVr.js +1 -0
- package/dist/ants-web/assets/Edge-XSPUTORV-DEoZslQE.js +1 -0
- package/dist/ants-web/assets/Firefox-AAHGJQIP-Bp_Hm04m.js +1 -0
- package/dist/ants-web/assets/Linux-OO4TNCLJ-B0aw93n9.js +1 -0
- package/dist/ants-web/assets/Macos-MW4AE7LN-Vvm8Drw3.js +1 -0
- package/dist/ants-web/assets/Opera-KQZLSACL-Cwv5MDFy.js +1 -0
- package/dist/ants-web/assets/Safari-ZPL37GXR-C4Ggg6rz.js +1 -0
- package/dist/ants-web/assets/Windows-PPTHQER6-BlyV2p7Y.js +1 -0
- package/dist/ants-web/assets/add-1qQ_SVL6.js +15 -0
- package/dist/ants-web/assets/all-wallets-D0QF065k.js +6 -0
- package/dist/ants-web/assets/apechain-SX5YFU6N-q5qBv-mp.js +1 -0
- package/dist/ants-web/assets/app-store-j-2thKGl.js +17 -0
- package/dist/ants-web/assets/apple-CCcInWVX.js +18 -0
- package/dist/ants-web/assets/ar_AR-44JUQ6EW-BMX-am0v.js +1487 -0
- package/dist/ants-web/assets/arbitrum-WURIBY6W-CqVkHBr5.js +1 -0
- package/dist/ants-web/assets/arrow-bottom-DVZa97G2.js +8 -0
- package/dist/ants-web/assets/arrow-bottom-circle-tt2k5BWG.js +11 -0
- package/dist/ants-web/assets/arrow-left-DnjqXMe0.js +8 -0
- package/dist/ants-web/assets/arrow-right-De8QMymS.js +8 -0
- package/dist/ants-web/assets/arrow-top-BS2oLt_x.js +8 -0
- package/dist/ants-web/assets/assets-Q6ZU7ZJ5-P8HioiAD.js +1 -0
- package/dist/ants-web/assets/avalanche-KOMJD3XY-Dsn_JPR4.js +1 -0
- package/dist/ants-web/assets/bank-DIxCskFM.js +14 -0
- package/dist/ants-web/assets/base-OAXLRA4F-CoYTVIiL.js +1 -0
- package/dist/ants-web/assets/baseAccount-44UITRK7-CsjdbWCf.js +1 -0
- package/dist/ants-web/assets/basic-D0Dg7j2v.js +2128 -0
- package/dist/ants-web/assets/berachain-NJECWIVC-DumxnFvf.js +1 -0
- package/dist/ants-web/assets/blast-V555OVXZ-BbhJh1tj.js +1 -0
- package/dist/ants-web/assets/browser-n9VVPree.js +14 -0
- package/dist/ants-web/assets/bsc-N647EYR2-B2nLKXWV.js +1 -0
- package/dist/ants-web/assets/card-Bl7AHEuE.js +14 -0
- package/dist/ants-web/assets/ccip-C_ifxkiT.js +1 -0
- package/dist/ants-web/assets/celo-GEP4TUHG-CenIBYLU.js +1 -0
- package/dist/ants-web/assets/checkmark-DXB1SsFx.js +11 -0
- package/dist/ants-web/assets/checkmark-bold-CIMnw7st.js +8 -0
- package/dist/ants-web/assets/chevron-bottom-DGkVb8CY.js +8 -0
- package/dist/ants-web/assets/chevron-left-D8vC6sW_.js +8 -0
- package/dist/ants-web/assets/chevron-right-CP8tyhU4.js +8 -0
- package/dist/ants-web/assets/chevron-top-DUqp6O8b.js +8 -0
- package/dist/ants-web/assets/chrome-store-CDk6Jfiv.js +61 -0
- package/dist/ants-web/assets/clock-t0Dwo5ck.js +8 -0
- package/dist/ants-web/assets/close-BiTlv6FX.js +8 -0
- package/dist/ants-web/assets/coinPlaceholder-PJZCh_De.js +8 -0
- package/dist/ants-web/assets/compass-CctP2ZVM.js +8 -0
- package/dist/ants-web/assets/connect-UA7M4XW6-IY3X6Bmr.js +1 -0
- package/dist/ants-web/assets/copy-b1i5dSZT.js +15 -0
- package/dist/ants-web/assets/core-4w9H32as.js +908 -0
- package/dist/ants-web/assets/create-FASO7PVG-D_rvSpre.js +1 -0
- package/dist/ants-web/assets/cronos-HJPAQTAE-BEOvlOC4.js +1 -0
- package/dist/ants-web/assets/cursor-kLCZuRWK.js +3 -0
- package/dist/ants-web/assets/cursor-transparent-C1IxvCBs.js +12 -0
- package/dist/ants-web/assets/de_DE-PYAO5YD6-BWlqPWgO.js +1487 -0
- package/dist/ants-web/assets/degen-FQQ4XGHB-CeHTs88l.js +1 -0
- package/dist/ants-web/assets/desktop-Qa_41eha.js +9 -0
- package/dist/ants-web/assets/disconnect-7QBZVVG8.js +8 -0
- package/dist/ants-web/assets/discord-DuRr0OMy.js +17 -0
- package/dist/ants-web/assets/es_419-HRGOJ6VT-D-qzxUM-.js +1487 -0
- package/dist/ants-web/assets/ethereum-RGGVA4PY-SWGOlkuk.js +1 -0
- package/dist/ants-web/assets/etherscan-BOImzSgC.js +6 -0
- package/dist/ants-web/assets/events-DQ172AOg.js +1 -0
- package/dist/ants-web/assets/exclamation-triangle-evZ54TSt.js +4 -0
- package/dist/ants-web/assets/extension-YSvzNEgu.js +8 -0
- package/dist/ants-web/assets/external-link-BukU3aK3.js +8 -0
- package/dist/ants-web/assets/facebook-WJZQGI9M.js +26 -0
- package/dist/ants-web/assets/farcaster-Dt0XRvlP.js +12 -0
- package/dist/ants-web/assets/filters-CFC5g--u.js +8 -0
- package/dist/ants-web/assets/flow-5FQJFCTK-CUie2reO.js +1 -0
- package/dist/ants-web/assets/fr_FR-IGGVC6RM-D8LpUM75.js +1487 -0
- package/dist/ants-web/assets/github-Bhz0AnGj.js +18 -0
- package/dist/ants-web/assets/gnosis-37ZC4RBL-B137OtHZ.js +1 -0
- package/dist/ants-web/assets/google-CGzSUXjP.js +18 -0
- package/dist/ants-web/assets/gravity-J5YQHTYH-Bj6B0uod.js +1 -0
- package/dist/ants-web/assets/hardhat-TX56IT5N-CV1FY-wE.js +1 -0
- package/dist/ants-web/assets/help-circle-BoGPtVJY.js +12 -0
- package/dist/ants-web/assets/hi_IN-XSKAA3MF-C3QUpWyP.js +1487 -0
- package/dist/ants-web/assets/hyperevm-VKPAA4SA-CHwraEsx.js +1 -0
- package/dist/ants-web/assets/id-ir8rS0J_.js +12 -0
- package/dist/ants-web/assets/id_ID-KUOB4UAL-K9y-nRWm.js +1487 -0
- package/dist/ants-web/assets/image-DXBUHwz_.js +4 -0
- package/dist/ants-web/assets/index-9ALlRD6p.css +1 -0
- package/dist/ants-web/assets/index-B7p3jPAJ.js +1 -0
- package/dist/ants-web/assets/index-BqWNkBzB.js +395 -0
- package/dist/ants-web/assets/index-C-I4ROfT.js +16 -0
- package/dist/ants-web/assets/index-Chq8yV_g.js +47 -0
- package/dist/ants-web/assets/index-Ci5bF__2.js +1729 -0
- package/dist/ants-web/assets/index-kzlEvkEN.js +1 -0
- package/dist/ants-web/assets/index.es-D1GdDJUC.js +39 -0
- package/dist/ants-web/assets/info-DzGq_QPQ.js +3 -0
- package/dist/ants-web/assets/info-circle-z91TqQxH.js +12 -0
- package/dist/ants-web/assets/ink-FZMYZWHG-62p-5IK5.js +1 -0
- package/dist/ants-web/assets/ja_JP-4WRQ63RX-Ct5pF4ug.js +1487 -0
- package/dist/ants-web/assets/kaia-65D2U3PU-JmuLQ4gC.js +1 -0
- package/dist/ants-web/assets/ko_KR-I2K7AIEP-B5gw8Mwb.js +1487 -0
- package/dist/ants-web/assets/lightbulb-CgYwiQYs.js +3 -0
- package/dist/ants-web/assets/linea-QRMVQ5DY-DuI3vv0d.js +1 -0
- package/dist/ants-web/assets/login-UP3DZBGS-Db_wM5oQ.js +1 -0
- package/dist/ants-web/assets/mail-FLPFIbqi.js +8 -0
- package/dist/ants-web/assets/manta-SI27YFEJ-CpVOKa06.js +1 -0
- package/dist/ants-web/assets/mantle-CKIUT334-DR2WgqzU.js +1 -0
- package/dist/ants-web/assets/metaMaskWallet-SITXT2FV-BlemcphV.js +1 -0
- package/dist/ants-web/assets/metamask-sdk-QG4PtQco.js +542 -0
- package/dist/ants-web/assets/mobile--kHpa5NK.js +9 -0
- package/dist/ants-web/assets/monad-4KWC6TSS-DVXSkpiz.js +1 -0
- package/dist/ants-web/assets/more-CJbReLy0.js +11 -0
- package/dist/ants-web/assets/ms_MY-6VZW6Q3Z-BtFD07hR.js +1487 -0
- package/dist/ants-web/assets/network-placeholder-BfSizFBN.js +14 -0
- package/dist/ants-web/assets/nftPlaceholder-BTfly2G8.js +8 -0
- package/dist/ants-web/assets/off-DCMXa6Y2.js +8 -0
- package/dist/ants-web/assets/optimism-HAF2GUT7-ec6Nqxs9.js +1 -0
- package/dist/ants-web/assets/play-store-CbbevixE.js +32 -0
- package/dist/ants-web/assets/plus-BxINT2r_.js +13 -0
- package/dist/ants-web/assets/polygon-WW6ZI7PM-DXlmm4L1.js +1 -0
- package/dist/ants-web/assets/pt_BR-N3XOZ4SV-CvVpfsHb.js +1487 -0
- package/dist/ants-web/assets/qr-code-CMEsvGrE.js +6 -0
- package/dist/ants-web/assets/rainbowWallet-O26YNBMX-DUhYus-9.js +1 -0
- package/dist/ants-web/assets/recycle-horizontal-BldRTXPT.js +9 -0
- package/dist/ants-web/assets/refresh-82vLCcdB.js +8 -0
- package/dist/ants-web/assets/refresh-S4T5V5GX-CwqIaaxK.js +1 -0
- package/dist/ants-web/assets/reown-logo-BPGalyzg.js +12 -0
- package/dist/ants-web/assets/ronin-EMCPYXZT-N-QBHZdV.js +1 -0
- package/dist/ants-web/assets/ru_RU-IITAPRET-DOj6Jzj7.js +1487 -0
- package/dist/ants-web/assets/safeWallet-5MNKTR5Z-D-5imDLD.js +1 -0
- package/dist/ants-web/assets/sanko-RHQYXGM5-OX010CbN.js +1 -0
- package/dist/ants-web/assets/scan-4UYSQ56Q-CjMz6-XC.js +1 -0
- package/dist/ants-web/assets/scroll-5OBGQVOV-DJFECiai.js +1 -0
- package/dist/ants-web/assets/search-CADsyV1c.js +8 -0
- package/dist/ants-web/assets/secp256k1-B5byVYSZ.js +1 -0
- package/dist/ants-web/assets/secp256k1-Cb4vPU9D.js +1 -0
- package/dist/ants-web/assets/send-DyAisqGO.js +15 -0
- package/dist/ants-web/assets/sign-A7IJEUT5-CGsRnPrd.js +1 -0
- package/dist/ants-web/assets/superposition-HG6MMR2Y-bRkgatRO.js +1 -0
- package/dist/ants-web/assets/swapHorizontal-BfHwXZPT.js +8 -0
- package/dist/ants-web/assets/swapHorizontalBold-FIoCjqnp.js +8 -0
- package/dist/ants-web/assets/swapHorizontalMedium-CzDDCY_G.js +16 -0
- package/dist/ants-web/assets/swapHorizontalRoundedBold-CvMRJeWj.js +8 -0
- package/dist/ants-web/assets/swapVertical-BgSezaow.js +8 -0
- package/dist/ants-web/assets/telegram-CsMNhXCs.js +16 -0
- package/dist/ants-web/assets/th_TH-3ZQCKCQE-BcHUN2Q4.js +1487 -0
- package/dist/ants-web/assets/three-dots-DYf4gmVW.js +5 -0
- package/dist/ants-web/assets/tr_TR-QUPUGMUF-CwpF6ZFn.js +1487 -0
- package/dist/ants-web/assets/twitch-BtBr-NTg.js +18 -0
- package/dist/ants-web/assets/twitterIcon-BmRf6M77.js +6 -0
- package/dist/ants-web/assets/uk_UA-SSN6SV5E-IlYYyRC6.js +1487 -0
- package/dist/ants-web/assets/unichain-C5BWO2ZY-BfguYsnu.js +1 -0
- package/dist/ants-web/assets/verify-cxA8gdP6.js +8 -0
- package/dist/ants-web/assets/verify-filled-DHnnW8EE.js +8 -0
- package/dist/ants-web/assets/vi_VN-7BUVRNYY-CZ9S75qZ.js +1487 -0
- package/dist/ants-web/assets/w3m-modal-D1ucMOAa.js +642 -0
- package/dist/ants-web/assets/wallet-BT4Fue1R.js +8 -0
- package/dist/ants-web/assets/wallet-placeholder-C2J5s6Yp.js +14 -0
- package/dist/ants-web/assets/walletConnectWallet-YHWKVTDY-D3lyiczV.js +1 -0
- package/dist/ants-web/assets/walletconnect-B5k8iJl-.js +30 -0
- package/dist/ants-web/assets/warning-circle-9rNSUSsX.js +12 -0
- package/dist/ants-web/assets/x-CpRc85jR.js +12 -0
- package/dist/ants-web/assets/xdc-KJ3TDBYO-DNV6zchh.js +1 -0
- package/dist/ants-web/assets/zetachain-TLDS5IPW-Udhyw16T.js +1 -0
- package/dist/ants-web/assets/zh_CN-HJBN674C-Baf0GEeT.js +1487 -0
- package/dist/ants-web/assets/zh_HK-JW3WLRKE-VztJKXL5.js +1487 -0
- package/dist/ants-web/assets/zh_TW-VNNRNXY7-aWfg7Qp4.js +1487 -0
- package/dist/ants-web/assets/zksync-DH7HK5U4-Dt4usFw6.js +1 -0
- package/dist/ants-web/assets/zora-FYL5H3IO-iB4wygST.js +1 -0
- package/dist/ants-web/index.html +2 -2
- package/dist/api-types.d.ts +168 -6
- package/dist/browser-signer.d.ts +30 -0
- package/dist/browser-signer.js +189 -0
- package/dist/browser-signer.js.map +1 -0
- package/dist/jobs.d.ts +10 -3
- package/dist/jobs.js +97 -20
- package/dist/jobs.js.map +1 -1
- package/dist/position-actions.d.ts +13 -0
- package/dist/position-actions.js +25 -0
- package/dist/position-actions.js.map +1 -0
- package/dist/routes.d.ts +7 -0
- package/dist/routes.js +63 -5
- package/dist/routes.js.map +1 -1
- package/dist/server.d.ts +8 -0
- package/dist/server.js +157 -12
- package/dist/server.js.map +1 -1
- package/dist/service/context.d.ts +25 -3
- package/dist/service/context.js +56 -5
- package/dist/service/context.js.map +1 -1
- package/dist/service/display-snapshot.d.ts +28 -0
- package/dist/service/display-snapshot.js +144 -0
- package/dist/service/display-snapshot.js.map +1 -0
- package/dist/service/emissions.js +11 -19
- package/dist/service/emissions.js.map +1 -1
- package/dist/service/explorer.js +2 -1
- package/dist/service/explorer.js.map +1 -1
- package/dist/service/format.d.ts +1 -1
- package/dist/service/format.js +2 -0
- package/dist/service/format.js.map +1 -1
- package/dist/service/indexed-wallet.d.ts +7 -0
- package/dist/service/indexed-wallet.js +58 -0
- package/dist/service/indexed-wallet.js.map +1 -0
- package/dist/service/indexer.d.ts +32 -3
- package/dist/service/indexer.js +64 -8
- package/dist/service/indexer.js.map +1 -1
- package/dist/service/legacy-payout.d.ts +3 -0
- package/dist/service/legacy-payout.js +32 -0
- package/dist/service/legacy-payout.js.map +1 -0
- package/dist/service/network.d.ts +5 -0
- package/dist/service/network.js +185 -0
- package/dist/service/network.js.map +1 -0
- package/dist/service/overview-reads.d.ts +30 -0
- package/dist/service/overview-reads.js +69 -0
- package/dist/service/overview-reads.js.map +1 -0
- package/dist/service/overview.js +14 -36
- package/dist/service/overview.js.map +1 -1
- package/dist/service/pool-merge.d.ts +2 -1
- package/dist/service/pool-merge.js +11 -4
- package/dist/service/pool-merge.js.map +1 -1
- package/dist/service/pools.d.ts +22 -1
- package/dist/service/pools.js +257 -98
- package/dist/service/pools.js.map +1 -1
- package/dist/service/position-feed.d.ts +73 -0
- package/dist/service/position-feed.js +173 -0
- package/dist/service/position-feed.js.map +1 -0
- package/dist/service/positions.d.ts +3 -5
- package/dist/service/positions.js +155 -93
- package/dist/service/positions.js.map +1 -1
- package/dist/service/rewards.d.ts +1 -0
- package/dist/service/rewards.js +117 -56
- package/dist/service/rewards.js.map +1 -1
- package/dist/service/rpc-provider.d.ts +4 -0
- package/dist/service/rpc-provider.js +44 -3
- package/dist/service/rpc-provider.js.map +1 -1
- package/dist/service/seller-models.d.ts +2 -0
- package/dist/service/seller-models.js +94 -0
- package/dist/service/seller-models.js.map +1 -0
- package/dist/service/seller.js +33 -30
- package/dist/service/seller.js.map +1 -1
- package/dist/service/stake-eligibility.d.ts +6 -0
- package/dist/service/stake-eligibility.js +68 -0
- package/dist/service/stake-eligibility.js.map +1 -0
- package/dist/service/usage.js +5 -13
- package/dist/service/usage.js.map +1 -1
- package/dist/service/yield.d.ts +3 -0
- package/dist/service/yield.js +12 -0
- package/dist/service/yield.js.map +1 -0
- package/dist/view-cache.d.ts +5 -10
- package/dist/view-cache.js +12 -14
- package/dist/view-cache.js.map +1 -1
- package/dist/wallet-errors.d.ts +9 -0
- package/dist/wallet-errors.js +32 -0
- package/dist/wallet-errors.js.map +1 -0
- package/package.json +8 -3
- package/dist/ants-web/assets/index-BunPfgXh.css +0 -1
- package/dist/ants-web/assets/index-zCPoF694.js +0 -40
|
@@ -1,62 +1,67 @@
|
|
|
1
|
+
import { Interface, isError } from 'ethers';
|
|
1
2
|
import { estimateEarlyExit, positionState, projectedEarlyExitSlashBps } from '@antseed/node/payments';
|
|
2
3
|
import { parseAnts, formatAnts } from './format.js';
|
|
3
4
|
import { toJson } from './json.js';
|
|
4
5
|
import { IndexerError } from './indexer.js';
|
|
6
|
+
import { stakeEligibility } from './stake-eligibility.js';
|
|
5
7
|
import { assertAgentId, assertEpochs, assertPositiveIds, silentReporter } from './steps.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return fallback;
|
|
12
|
-
}
|
|
8
|
+
import { liveWalletPositions, validateWalletRewards } from './indexed-wallet.js';
|
|
9
|
+
import { positionActionEpoch, positionActionProblem } from '../position-actions.js';
|
|
10
|
+
/** A position still earns until its close epoch passes (split, merge and move sources close next epoch). */
|
|
11
|
+
function isOpenAt(position, epoch) {
|
|
12
|
+
return !position.withdrawn && (position.closedAtEpoch === 0 || position.closedAtEpoch > epoch);
|
|
13
13
|
}
|
|
14
|
-
async function describePositions(ctx, positions, currentEpoch, config) {
|
|
15
|
-
const
|
|
14
|
+
async function describePositions(ctx, positions, currentEpoch, config, sources = {}) {
|
|
15
|
+
const { live, indexedRewards } = sources;
|
|
16
16
|
const poolRewards = ctx.poolRewards();
|
|
17
|
-
// Closed positions keep the reward earned up to their close epoch, so every id is previewed.
|
|
18
|
-
const rewardIds = positions.map((position) => position.id);
|
|
17
|
+
// Closed positions keep the reward earned up to their close epoch, so every id is previewed when no reward feed exists.
|
|
19
18
|
const rewards = new Map();
|
|
20
|
-
if (poolRewards &&
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const details = [];
|
|
25
|
-
for (let offset = 0; offset < positions.length; offset += 8) {
|
|
26
|
-
details.push(...await Promise.all(positions.slice(offset, offset + 8).map(async (position) => {
|
|
27
|
-
const open = !position.withdrawn && position.closedAtEpoch === 0;
|
|
28
|
-
const [withdrawableEpoch, maxLocked] = await Promise.all([
|
|
29
|
-
safe(() => pools.positionWithdrawableEpoch(position.id), 0),
|
|
30
|
-
open ? safe(() => pools.isMaxLocked(position.id, Math.max(currentEpoch, position.stakeStartEpoch)), false) : Promise.resolve(false),
|
|
31
|
-
]);
|
|
32
|
-
const changePending = currentEpoch < withdrawableEpoch;
|
|
33
|
-
const slashBps = open && !changePending ? await safe(() => pools.earlyExitSlashBps(position.id), null) : null;
|
|
34
|
-
const projectedSlashBps = open ? projectedEarlyExitSlashBps(position, currentEpoch, config, maxLocked) : 0;
|
|
35
|
-
const estimate = estimateEarlyExit(position, slashBps ?? projectedSlashBps);
|
|
36
|
-
return {
|
|
37
|
-
id: position.id,
|
|
38
|
-
agentId: position.agentId,
|
|
39
|
-
owner: position.owner,
|
|
40
|
-
amount: position.amount.toString(),
|
|
41
|
-
weightAmount: position.weightAmount.toString(),
|
|
42
|
-
stakeStartEpoch: position.stakeStartEpoch,
|
|
43
|
-
stakeEndEpoch: position.stakeEndEpoch,
|
|
44
|
-
closedAtEpoch: position.closedAtEpoch,
|
|
45
|
-
withdrawn: position.withdrawn,
|
|
46
|
-
state: positionState(position, currentEpoch),
|
|
47
|
-
withdrawableEpoch,
|
|
48
|
-
changePending,
|
|
49
|
-
maxLocked,
|
|
50
|
-
slashBps,
|
|
51
|
-
projectedSlashBps,
|
|
52
|
-
slashedAmount: open ? estimate.slashedAmount.toString() : '0',
|
|
53
|
-
returnedAmount: open ? estimate.returnedAmount.toString() : '0',
|
|
54
|
-
pendingReward: (rewards.get(position.id) ?? 0n).toString(),
|
|
55
|
-
epochsRemaining: open ? Math.max(0, position.stakeEndEpoch - Math.max(currentEpoch, position.stakeStartEpoch)) : 0,
|
|
56
|
-
raw: position,
|
|
57
|
-
};
|
|
58
|
-
})));
|
|
19
|
+
if (indexedRewards === undefined && poolRewards && positions.length > 0) {
|
|
20
|
+
const ids = positions.map((position) => position.id);
|
|
21
|
+
const amounts = await poolRewards.previewStakerRewards(ids);
|
|
22
|
+
ids.forEach((id, index) => rewards.set(id, amounts[index] ?? 0n));
|
|
59
23
|
}
|
|
24
|
+
const liveById = new Map(live?.positions.map(row => [row.id, row]));
|
|
25
|
+
const statuses = live ? null : await ctx.requirePools().positionStatusesBatch(positions, currentEpoch);
|
|
26
|
+
const pendingReward = (id) => {
|
|
27
|
+
if (indexedRewards === undefined)
|
|
28
|
+
return (rewards.get(id) ?? 0n).toString();
|
|
29
|
+
return indexedRewards?.get(id) ?? null;
|
|
30
|
+
};
|
|
31
|
+
const details = positions.map((position, index) => {
|
|
32
|
+
const open = isOpenAt(position, currentEpoch);
|
|
33
|
+
const liveRow = liveById.get(position.id);
|
|
34
|
+
const { withdrawableEpoch, maxLocked, maxLockedNext, slashBps } = liveRow
|
|
35
|
+
? { withdrawableEpoch: liveRow.withdrawableEpoch, maxLocked: liveRow.maxLocked, maxLockedNext: liveRow.maxLockedNext, slashBps: null }
|
|
36
|
+
: statuses[index];
|
|
37
|
+
const changePending = liveRow?.changePending ?? currentEpoch < withdrawableEpoch;
|
|
38
|
+
const projectedSlashBps = open ? projectedEarlyExitSlashBps(position, currentEpoch, config, maxLocked) : 0;
|
|
39
|
+
const estimate = estimateEarlyExit(position, slashBps ?? projectedSlashBps);
|
|
40
|
+
return {
|
|
41
|
+
id: position.id,
|
|
42
|
+
agentId: position.agentId,
|
|
43
|
+
owner: position.owner,
|
|
44
|
+
amount: position.amount.toString(),
|
|
45
|
+
weightAmount: position.weightAmount.toString(),
|
|
46
|
+
stakeStartEpoch: position.stakeStartEpoch,
|
|
47
|
+
stakeEndEpoch: position.stakeEndEpoch,
|
|
48
|
+
closedAtEpoch: position.closedAtEpoch,
|
|
49
|
+
withdrawn: position.withdrawn,
|
|
50
|
+
state: liveRow?.state ?? positionState(position, currentEpoch),
|
|
51
|
+
withdrawableEpoch,
|
|
52
|
+
changePending,
|
|
53
|
+
maxLocked,
|
|
54
|
+
maxLockedNext,
|
|
55
|
+
slashBps,
|
|
56
|
+
projectedSlashBps,
|
|
57
|
+
slashedAmount: open ? estimate.slashedAmount.toString() : '0',
|
|
58
|
+
returnedAmount: open ? estimate.returnedAmount.toString() : '0',
|
|
59
|
+
pendingReward: pendingReward(position.id),
|
|
60
|
+
...(liveRow ? { power: liveRow.power, nextPower: liveRow.nextPower } : {}),
|
|
61
|
+
epochsRemaining: open ? Math.max(0, position.stakeEndEpoch - Math.max(currentEpoch, position.stakeStartEpoch)) : 0,
|
|
62
|
+
raw: position,
|
|
63
|
+
};
|
|
64
|
+
});
|
|
60
65
|
return details.sort((a, b) => b.id - a.id);
|
|
61
66
|
}
|
|
62
67
|
/**
|
|
@@ -65,43 +70,74 @@ async function describePositions(ctx, positions, currentEpoch, config) {
|
|
|
65
70
|
* an indexer; never reconstructed from log scans.
|
|
66
71
|
*/
|
|
67
72
|
export async function closedPositionIds(ctx) {
|
|
73
|
+
const local = [...ctx.localPositionIds].filter(([, owner]) => owner.toLowerCase() === ctx.address.toLowerCase()).map(([id]) => id);
|
|
74
|
+
const verified = local.length ? (await ctx.requirePools().positionsBatch(local)).filter(p => p.owner.toLowerCase() === ctx.address.toLowerCase() && (p.closedAtEpoch !== 0 || p.withdrawn)).map(p => p.id) : [];
|
|
75
|
+
const fallback = { ids: verified, source: verified.length ? 'local' : 'chain', rows: [] };
|
|
68
76
|
const indexer = ctx.indexer();
|
|
69
77
|
if (!indexer)
|
|
70
|
-
return
|
|
78
|
+
return fallback;
|
|
71
79
|
try {
|
|
72
80
|
const rows = (await indexer.positions(ctx.address, true)).filter((row) => row.closedAtEpoch !== 0 || row.withdrawn);
|
|
73
|
-
return { ids: rows.map((row) => row.id), source: 'indexer', rows };
|
|
81
|
+
return { ids: [...new Set([...verified, ...rows.map((row) => row.id)])], source: 'indexer', rows };
|
|
74
82
|
}
|
|
75
83
|
catch (error) {
|
|
76
84
|
if (error instanceof IndexerError)
|
|
77
|
-
return
|
|
85
|
+
return fallback;
|
|
78
86
|
throw error;
|
|
79
87
|
}
|
|
80
88
|
}
|
|
81
|
-
/**
|
|
82
|
-
* The wallet's open positions from the on-chain `stakerPositionIds`
|
|
83
|
-
* enumeration, plus its closed positions from the indexer (with the reward
|
|
84
|
-
* still pending on them read live). The chain is never scanned for history.
|
|
85
|
-
*/
|
|
86
89
|
export async function positions(ctx) {
|
|
87
90
|
const stack = await ctx.stack();
|
|
88
91
|
const pools = ctx.requirePools();
|
|
89
92
|
const config = await pools.poolConfig();
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
let live;
|
|
94
|
+
let indexedRewards;
|
|
95
|
+
let rewardSource;
|
|
96
|
+
if (ctx.indexer()) {
|
|
97
|
+
const snapshot = await liveWalletPositions(ctx, stack.currentEpoch);
|
|
98
|
+
live = snapshot;
|
|
99
|
+
indexedRewards = null;
|
|
100
|
+
try {
|
|
101
|
+
validateWalletRewards(ctx, stack.currentEpoch, snapshot);
|
|
102
|
+
indexedRewards = new Map(snapshot.positions.map(row => [row.id, row.rewards.pending]));
|
|
103
|
+
rewardSource = { indexedBlock: snapshot.source.indexedBlock, indexedAt: snapshot.source.indexedAt };
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
rewardSource = { error: error instanceof Error ? error.message : String(error) };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
let list;
|
|
110
|
+
let closed;
|
|
111
|
+
if (live) {
|
|
112
|
+
list = live.positions.map(row => ({ ...row, amount: BigInt(row.amount), weightAmount: BigInt(row.weightAmount) }));
|
|
113
|
+
closed = { source: 'indexer', rows: live.positions };
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const [openIds, history] = await Promise.all([pools.allStakerPositionIds(ctx.address), closedPositionIds(ctx)]);
|
|
117
|
+
list = await pools.positionsBatch([...new Set([...openIds, ...history.ids])]);
|
|
118
|
+
closed = history;
|
|
119
|
+
}
|
|
120
|
+
const details = await describePositions(ctx, list, stack.currentEpoch, config, { live, indexedRewards });
|
|
121
|
+
const rewardsKnown = indexedRewards !== null && details.every(position => position.pendingReward !== null);
|
|
122
|
+
if (indexedRewards && !rewardsKnown)
|
|
123
|
+
rewardSource = { ...rewardSource, error: 'Antscan rewards have not indexed every position yet' };
|
|
93
124
|
const closedById = new Map(closed.rows.map((row) => [row.id, row]));
|
|
94
|
-
const
|
|
95
|
-
const
|
|
125
|
+
const stakeIn = (states) => details.filter((position) => states.includes(position.state)).reduce((sum, position) => sum + BigInt(position.amount), 0n);
|
|
126
|
+
const activeStake = live ? BigInt(live.totals.activeStake) : stakeIn(['active', 'matured']);
|
|
127
|
+
const pendingStake = live ? BigInt(live.totals.pendingStake) : stakeIn(['pending']);
|
|
128
|
+
const pendingRewards = rewardsKnown ? details.reduce((sum, position) => sum + BigInt(position.pendingReward), 0n) : null;
|
|
96
129
|
return toJson({
|
|
97
130
|
currentEpoch: stack.currentEpoch,
|
|
98
131
|
config,
|
|
99
132
|
positions: details.map(({ raw: _raw, ...view }) => {
|
|
100
133
|
const meta = closedById.get(view.id);
|
|
101
|
-
return meta
|
|
134
|
+
return meta && meta.closedAtEpoch === view.closedAtEpoch && meta.withdrawn === view.withdrawn
|
|
135
|
+
? { ...view, closedBy: meta.closedBy, replacementIds: meta.replacementIds } : view;
|
|
102
136
|
}),
|
|
103
|
-
totals: { activeStake: activeStake.toString(), pendingRewards: pendingRewards
|
|
137
|
+
totals: { activeStake: activeStake.toString(), pendingStake: pendingStake.toString(), pendingRewards: pendingRewards?.toString() ?? null, open: list.filter((position) => isOpenAt(position, stack.currentEpoch)).length },
|
|
138
|
+
...(rewardSource ? { rewardSource } : {}),
|
|
104
139
|
historySource: closed.source,
|
|
140
|
+
displaySource: live ? { source: 'indexer', indexedAt: live.liveSource.fetchedAt } : { source: 'chain' },
|
|
105
141
|
});
|
|
106
142
|
}
|
|
107
143
|
async function ownedOpenPositions(ctx, ids) {
|
|
@@ -126,13 +162,24 @@ async function requireNoPendingChange(ctx, list) {
|
|
|
126
162
|
if (pending.length > 0)
|
|
127
163
|
throw new Error(`Position(s) ${pending.join(', ')} changed this epoch; try again after the next epoch boundary.`);
|
|
128
164
|
}
|
|
165
|
+
async function requireActionState(ctx, list, action) {
|
|
166
|
+
const pools = ctx.requirePools();
|
|
167
|
+
const currentEpoch = await pools.currentEpoch();
|
|
168
|
+
const sharedEpoch = positionActionEpoch(action, currentEpoch, list);
|
|
169
|
+
const states = await Promise.all(list.map(async (position) => {
|
|
170
|
+
const effectiveEpoch = action === 'merge' ? sharedEpoch : positionActionEpoch(action, currentEpoch, [position]);
|
|
171
|
+
const segment = await pools.positionPowerSegmentAt(position.id, effectiveEpoch);
|
|
172
|
+
const problem = positionActionProblem({ ...position, stakeEndEpoch: segment.normalEndEpoch, maxLocked: segment.maxLockPower > 0n }, action, effectiveEpoch);
|
|
173
|
+
if (problem)
|
|
174
|
+
throw new Error(`Position ${position.id}: ${problem}`);
|
|
175
|
+
return { effectiveEpoch, normalEndEpoch: segment.normalEndEpoch };
|
|
176
|
+
}));
|
|
177
|
+
return states;
|
|
178
|
+
}
|
|
129
179
|
async function requireStakeableAgent(ctx, agentId) {
|
|
130
|
-
const
|
|
131
|
-
if (!
|
|
132
|
-
|
|
133
|
-
const seller = await registry.agentSeller(agentId).catch(() => null);
|
|
134
|
-
if (!seller || /^0x0{40}$/.test(seller)) {
|
|
135
|
-
throw new Error(`Agent ${agentId} has no seller bound in the seller registry, so it has no stakeable pool. The seller must run \`antseed seller register\` first.`);
|
|
180
|
+
const eligibility = await stakeEligibility(ctx, [agentId]);
|
|
181
|
+
if (!eligibility.get(agentId)?.stakeable) {
|
|
182
|
+
throw new Error(`Agent ${agentId} is not registered to its current owner in the pool's staking source.`);
|
|
136
183
|
}
|
|
137
184
|
}
|
|
138
185
|
export async function stake(ctx, request, report = silentReporter) {
|
|
@@ -156,6 +203,8 @@ export async function stake(ctx, request, report = silentReporter) {
|
|
|
156
203
|
return { hash, amount: amount.toString(), agentId, epochs };
|
|
157
204
|
}
|
|
158
205
|
export async function move(ctx, request, report = silentReporter) {
|
|
206
|
+
if ('amount' in request)
|
|
207
|
+
throw new Error('Partial moves are not supported. Move whole positions instead.');
|
|
159
208
|
const pools = ctx.requirePools();
|
|
160
209
|
const signer = ctx.requireSigner();
|
|
161
210
|
const ids = assertPositiveIds(request.positionIds);
|
|
@@ -164,10 +213,11 @@ export async function move(ctx, request, report = silentReporter) {
|
|
|
164
213
|
const already = list.filter((position) => position.agentId === toAgentId);
|
|
165
214
|
if (already.length > 0)
|
|
166
215
|
throw new Error(`Position(s) ${already.map((position) => position.id).join(', ')} already stake agent ${toAgentId}.`);
|
|
167
|
-
await requireNoPendingChange(ctx, list);
|
|
168
216
|
await requireStakeableAgent(ctx, toAgentId);
|
|
217
|
+
await requireActionState(ctx, list, 'move');
|
|
169
218
|
await report(`Moving ${ids.length} position(s) to agent ${toAgentId} (effective next epoch)`);
|
|
170
219
|
const hash = ids.length === 1 ? await pools.moveStake(signer, ids[0], toAgentId) : await pools.moveStakes(signer, ids, toAgentId);
|
|
220
|
+
ids.forEach(id => ctx.localPositionIds.set(id, ctx.address));
|
|
171
221
|
await report('Move confirmed', hash);
|
|
172
222
|
return { hash };
|
|
173
223
|
}
|
|
@@ -182,7 +232,7 @@ export async function split(ctx, request, report = silentReporter) {
|
|
|
182
232
|
const secondWeight = position.weightAmount * splitAmount / position.amount;
|
|
183
233
|
if (secondWeight === 0n || position.weightAmount - secondWeight === 0n)
|
|
184
234
|
throw new Error('Split amount is too small: both parts need non-zero weight.');
|
|
185
|
-
await
|
|
235
|
+
await requireActionState(ctx, [position], 'split');
|
|
186
236
|
await report(`Splitting ${formatAnts(splitAmount)} ANTS out of position ${id}`);
|
|
187
237
|
const hash = await pools.splitStake(signer, id, splitAmount);
|
|
188
238
|
await report('Split confirmed', hash);
|
|
@@ -198,15 +248,19 @@ export async function merge(ctx, request, report = silentReporter) {
|
|
|
198
248
|
const agents = new Set(list.map((position) => position.agentId));
|
|
199
249
|
if (agents.size !== 1)
|
|
200
250
|
throw new Error('All merged positions must stake the same agent pool.');
|
|
201
|
-
const
|
|
251
|
+
const states = await requireActionState(ctx, list, 'merge');
|
|
252
|
+
const ends = new Set(states.map(state => state.normalEndEpoch));
|
|
202
253
|
if (ends.size !== 1)
|
|
203
254
|
throw new Error('All merged positions must share the same lock end epoch (extend or disable max lock first to align them).');
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
255
|
+
const iface = new Interface(['function mergeStakes(uint256[] positionIds) returns (uint256)']);
|
|
256
|
+
try {
|
|
257
|
+
await ctx.provider().call({ from: ctx.address, to: pools.contractAddress, data: iface.encodeFunctionData('mergeStakes', [ids]) });
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
const message = isError(error, 'CALL_EXCEPTION')
|
|
261
|
+
? 'The contract rejected the merge. Positions must share the same effective lock start and end; matching unlock dates alone are not sufficient.'
|
|
262
|
+
: 'Merge simulation could not reach a reliable RPC result. No wallet request was submitted; try again when the RPC is available.';
|
|
263
|
+
throw new Error(message, { cause: error });
|
|
210
264
|
}
|
|
211
265
|
await report(`Merging ${ids.length} positions in agent ${list[0].agentId}`);
|
|
212
266
|
const hash = await pools.mergeStakes(signer, ids);
|
|
@@ -218,14 +272,13 @@ export async function extend(ctx, request, report = silentReporter) {
|
|
|
218
272
|
const signer = ctx.requireSigner();
|
|
219
273
|
const [id] = assertPositiveIds([request.positionId]);
|
|
220
274
|
const config = await pools.poolConfig();
|
|
221
|
-
const additional = assertEpochs(request.epochs, 1,
|
|
275
|
+
const additional = assertEpochs(request.epochs, 1, Number.MAX_SAFE_INTEGER);
|
|
222
276
|
const [position] = await ownedOpenPositions(ctx, [id]);
|
|
223
|
-
const
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
await report(`Extending position ${id} by ${additional} epoch(s) to epoch ${newEnd}`);
|
|
277
|
+
const [state] = await requireActionState(ctx, [position], 'extend');
|
|
278
|
+
const newEnd = Math.min(state.normalEndEpoch + additional, state.effectiveEpoch + config.maxStakeEpochs);
|
|
279
|
+
if (newEnd <= state.normalEndEpoch)
|
|
280
|
+
throw new Error(`Position ${id} is already at the maximum lock.`);
|
|
281
|
+
await report(`Extending position ${id} by ${newEnd - state.normalEndEpoch} epoch(s) to epoch ${newEnd}`);
|
|
229
282
|
const hash = await pools.extendLock(signer, id, additional);
|
|
230
283
|
await report('Extension confirmed', hash);
|
|
231
284
|
return { hash };
|
|
@@ -235,12 +288,7 @@ export async function maxLock(ctx, request, report = silentReporter) {
|
|
|
235
288
|
const signer = ctx.requireSigner();
|
|
236
289
|
const [id] = assertPositiveIds([request.positionId]);
|
|
237
290
|
const [position] = await ownedOpenPositions(ctx, [id]);
|
|
238
|
-
|
|
239
|
-
const locked = await pools.isMaxLocked(id, Math.max(stack.currentEpoch + 1, position.stakeStartEpoch));
|
|
240
|
-
if (request.enable && locked)
|
|
241
|
-
throw new Error(`Position ${id} is already max-locked.`);
|
|
242
|
-
if (!request.enable && !locked)
|
|
243
|
-
throw new Error(`Position ${id} is not max-locked.`);
|
|
291
|
+
await requireActionState(ctx, [position], request.enable ? 'enable-max-lock' : 'disable-max-lock');
|
|
244
292
|
await report(request.enable ? `Enabling max lock on position ${id} (constant maximum power; withdrawal restarts the full countdown)` : `Disabling max lock on position ${id} (a fresh ${(await pools.poolConfig()).maxStakeEpochs}-epoch countdown starts next epoch)`);
|
|
245
293
|
const hash = request.enable ? await pools.enableMaxLock(signer, id) : await pools.disableMaxLock(signer, id);
|
|
246
294
|
await report('Max lock change confirmed', hash);
|
|
@@ -251,7 +299,18 @@ export async function previewWithdraw(ctx, ids) {
|
|
|
251
299
|
const list = await ownedOpenPositions(ctx, assertPositiveIds(ids));
|
|
252
300
|
await requireNoPendingChange(ctx, list);
|
|
253
301
|
const estimates = await Promise.all(list.map(async (position) => estimateEarlyExit(position, await pools.earlyExitSlashBps(position.id))));
|
|
302
|
+
const pending = await ctx.poolRewards()?.previewStakerRewards(ids) ?? [];
|
|
303
|
+
const transfersRestricted = !(await ctx.antsToken().canTransfer(ctx.address));
|
|
304
|
+
let simulationError = null;
|
|
305
|
+
try {
|
|
306
|
+
const iface = new Interface(['function withdrawStakes(uint256[] ids)']);
|
|
307
|
+
await ctx.provider().call({ from: ctx.address, to: pools.contractAddress, data: iface.encodeFunctionData('withdrawStakes', [ids]) });
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
simulationError = error instanceof Error ? error.message : String(error);
|
|
311
|
+
}
|
|
254
312
|
return {
|
|
313
|
+
pendingRewards: pending.reduce((sum, amount) => sum + amount, 0n).toString(), transfersRestricted, simulationError,
|
|
255
314
|
positions: estimates.map((estimate) => ({ id: estimate.id, amount: estimate.amount.toString(), slashBps: estimate.slashBps, slashedAmount: estimate.slashedAmount.toString(), returnedAmount: estimate.returnedAmount.toString() })),
|
|
256
315
|
totalSlashed: estimates.reduce((sum, estimate) => sum + estimate.slashedAmount, 0n).toString(),
|
|
257
316
|
totalReturned: estimates.reduce((sum, estimate) => sum + estimate.returnedAmount, 0n).toString(),
|
|
@@ -263,6 +322,8 @@ export async function withdraw(ctx, request, report = silentReporter) {
|
|
|
263
322
|
const signer = ctx.requireSigner();
|
|
264
323
|
const ids = assertPositiveIds(request.positionIds);
|
|
265
324
|
const preview = await previewWithdraw(ctx, ids);
|
|
325
|
+
if (preview.simulationError)
|
|
326
|
+
throw new Error(`Withdrawal cannot execute: ${preview.simulationError}`);
|
|
266
327
|
if (preview.earlyExit) {
|
|
267
328
|
if (!request.acceptSlashing)
|
|
268
329
|
throw new Error(`Early exit burns an estimated ${formatAnts(preview.totalSlashed)} ANTS of principal. Re-run with slashing accepted to proceed.`);
|
|
@@ -274,6 +335,7 @@ export async function withdraw(ctx, request, report = silentReporter) {
|
|
|
274
335
|
? `Withdrawing ${ids.length} position(s), burning about ${formatAnts(preview.totalSlashed)} ANTS`
|
|
275
336
|
: `Withdrawing ${ids.length} matured position(s)`);
|
|
276
337
|
const hash = await pools.withdrawStakes(signer, ids);
|
|
338
|
+
ids.forEach(id => ctx.localPositionIds.set(id, ctx.address));
|
|
277
339
|
await report('Withdrawal confirmed', hash);
|
|
278
340
|
ctx.invalidate();
|
|
279
341
|
return { hash, preview };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/service/positions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/service/positions.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface StakeUsageResult {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function stakeUsageRewards(ctx: AntsContext, request: StakeUsageRequest, report?: StepReporter): Promise<StakeUsageResult>;
|
|
22
22
|
export interface CompoundRequest {
|
|
23
|
+
includeBuyer?: boolean;
|
|
23
24
|
epochs: number;
|
|
24
25
|
targetAgentId?: number;
|
|
25
26
|
stakeAgentId?: number;
|