Skip to content

Conversation

@owenwahlgren
Copy link
Contributor

No description provided.

@vercel
Copy link

vercel bot commented Sep 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
builder-hub Ready Ready Preview Comment Oct 22, 2025 4:16pm

@owenwahlgren owenwahlgren changed the title feat: staking manager rough draft Console: ERC20 and Native Token Staking Manager Setup Sep 25, 2025
@owenwahlgren owenwahlgren marked this pull request as ready for review September 25, 2025 19:54
@owenwahlgren owenwahlgren requested a review from a team as a code owner September 25, 2025 19:54
@owenwahlgren owenwahlgren changed the title Console: ERC20 and Native Token Staking Manager Setup Console: ERC20 and Native Token Staking Manager Setup + Operations Oct 22, 2025
@owenwahlgren owenwahlgren added the DO NOT MERGE This PR is not meant to be merged in its current state label Oct 22, 2025
}

export function ValidatorsList({ validators, onChange, l1TotalInitializedWeight = null, userPChainBalanceNavax = null }: Props) {
export function ValidatorsList({ validators, onChange, l1TotalInitializedWeight = null, userPChainBalanceNavax = null, hideConsensusWeight = false }: Props) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we default to false because you can only go from PoA to PoS?

});

// Step 2: Get validation ID from contract using nodeID
// For StakingManager, we need to query the underlying ValidatorManager
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe lets change the name of the directory to Validator Manager - since now also the operations for permissionless l1s are in a permissioned l1s folder

Comment on lines +142 to +160
let validationIdQueryAddress = validatorManagerAddress;

if (useStakingManager && contractOwner) {
// Get the underlying ValidatorManager address from StakingManager settings
try {
const settings = await publicClient.readContract({
address: contractOwner as `0x${string}`,
abi: nativeTokenStakingManagerAbi.abi,
functionName: 'getStakingManagerSettings',
}) as any;

validationIdQueryAddress = settings.manager; // This is the actual ValidatorManager
console.log('[StakingManager] Querying ValidatorManager for validation ID:', validationIdQueryAddress);
} catch (err) {
console.warn("Failed to get ValidatorManager from StakingManager settings, using default:", err);
}
}

console.log('[CompleteValidatorRegistration] Querying validation ID from:', validationIdQueryAddress);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to store the validator manager address in a validationIdQueryAddress variable that then we set to the response of the rpc call?

in other words i think we can just delete line 142 i think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE This PR is not meant to be merged in its current state

Projects

None yet

Development

Successfully merging this pull request may close these issues.

POS L1s add back NativeStakingManager and ExampleRewardCalculator deployment

2 participants