LIT-Protocol / Issues-and-Reports

For bug reports, feature requests, and implementation questions related to Lit Protocol and use of the Lit SDK.
0 stars 0 forks source link

Having problems with Using SIWE params in Custom Contract Calls example #67

Open serdave-eth opened 2 hours ago

serdave-eth commented 2 hours ago

Description of the issue

I am trying to decrypt a file using a SIWE param in a custom contract call per this document:

https://developer.litprotocol.com/sdk/access-control/evm/custom-contract-calls

You can find my example code here:

https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/src/decryptFileSiweParam.ts

And the code that calls it here:

https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/test/endToEndTest.ts

You can run the test using this command in the root directory:

npx ts-node test/endToEndTest.ts 0x4f57fcf62f181b8ce9eda57b7037a84953f10398d92225d54171123bb091dc55 decrypt-siwe ../ciphertext ../dataToEncryptHash

The first entry is the private key of a wallet with an NFT that grants access to the file (don't worry this wallet has nothing in it besides that NFT), the second entry is the command to run (decrypt-siwe) and the last two commands are the ciphertext and hash for decrypting.

I have a smart contract with a function "checkPermission" that takes two inputs. The first input is the hash of the file and the second input is the useraddress. I define the access control condition and SIWE parameters on lines 40 - 115 in decryptFileSiweParams.ts. If I hardcode the hash of the file into the contract condition and uncomment line 93, I am able to decrypt the file.

I think I might be doing something wrong with setting up the resources. I tried looking through the Lit github for an example of how to do this and couldn't find anything, so any help would be greatly appreciated!

Additional context

No response

serdave-eth commented 2 hours ago

Sorry should've included the output when I try decrypting (apologies for it being so long):

Click to reveal full logs ``` avidblumenfeld@MacBook-Air-83 lit-cli-debug % npx ts-node test/endToEndTest.ts 0x4f57fcf62f181b8ce9eda57b7037a84953f10398d92225d54171123bb091dc55 decrypt-siwe ../ciphertext ../dataToEncryptHash πŸ”„ Connecting to Lit network... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.162Z] [DEBUG] [core] Looks like you are running in NodeJS and did not provide a storage provider, your sessions will not be cached [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.237Z] [DEBUG] [core] βœ… [BLS SDK] wasmExports loaded. 12 functions available. Run 'wasmExports' in the console to see them. [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.238Z] [DEBUG] [core] βœ… [ECDSA SDK NodeJS] wasmECDSA loaded. 7 functions available. Run 'wasmECDSA' in the console to see them. [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.238Z] [DEBUG] [core] βœ… [SEV SNP Utils SDK] wasmSevSnpUtils loaded. 13 functions available. Run 'wasmSevSnpUtils' in the console to see them. [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.640Z] [DEBUG] [contract-sdk] Validator's URL: https://15.235.83.220:7470 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.642Z] [DEBUG] [core] [_getValidatorData] epochInfo: { epochLength: 300, number: 16850, endTime: 1728599396, retries: 0, timeout: 60 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.645Z] [DEBUG] [core] [_getValidatorData] minNodeCount: 2 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.646Z] [DEBUG] [core] [_getValidatorData] Bootstrap urls: [ 'https://15.235.83.220:7470', 'https://15.235.83.220:7472', 'https://15.235.83.220:7471' ] [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.647Z] [DEBUG] [core] [_getValidatorData] stakingContract: Contract { interface: Interface { fragments: [ [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [EventFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [EventFragment], [FunctionFragment], [FunctionFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [ErrorFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [EventFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [EventFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], [FunctionFragment], ... 30 more items ], _abiCoder: AbiCoder { coerceFunc: null }, functions: { 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [FunctionFragment], 'facetAddress(bytes4)': [FunctionFragment], 'facetAddresses()': [FunctionFragment], 'facetFunctionSelectors(address)': [FunctionFragment], 'facets()': [FunctionFragment], 'supportsInterface(bytes4)': [FunctionFragment], 'owner()': [FunctionFragment], 'transferOwnership(address)': [FunctionFragment], 'adminKickValidatorInNextEpoch(address)': [FunctionFragment], 'adminRejoinValidator(address)': [FunctionFragment], 'adminResetEpoch()': [FunctionFragment], 'adminSlashValidator(address,uint256)': [FunctionFragment], 'advanceEpoch()': [FunctionFragment], 'exit()': [FunctionFragment], 'getReward()': [FunctionFragment], 'kickValidatorInNextEpoch(address,uint256,bytes)': [FunctionFragment], 'lockValidatorsForNextEpoch()': [FunctionFragment], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [FunctionFragment], 'requestToLeave()': [FunctionFragment], 'requestToLeaveAsNode()': [FunctionFragment], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [FunctionFragment], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [FunctionFragment], 'setContractResolver(address)': [FunctionFragment], 'setEpochEndTime(uint256)': [FunctionFragment], 'setEpochLength(uint256)': [FunctionFragment], 'setEpochState(uint8)': [FunctionFragment], 'setEpochTimeout(uint256)': [FunctionFragment], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [FunctionFragment], 'setKickPenaltyPercent(uint256,uint256)': [FunctionFragment], 'signalReadyForNextEpoch(uint256)': [FunctionFragment], 'stake(uint256)': [FunctionFragment], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [FunctionFragment], 'withdraw(uint256)': [FunctionFragment], 'checkVersion((uint256,uint256,uint256))': [FunctionFragment], 'getMaxVersion()': [FunctionFragment], 'getMaxVersionString()': [FunctionFragment], 'getMinVersion()': [FunctionFragment], 'getMinVersionString()': [FunctionFragment], 'setMaxVersion((uint256,uint256,uint256))': [FunctionFragment], 'setMinVersion((uint256,uint256,uint256))': [FunctionFragment], 'complaintConfig(uint256)': [FunctionFragment], 'config()': [FunctionFragment], 'contractResolver()': [FunctionFragment], 'countOfCurrentValidatorsReadyForNextEpoch()': [FunctionFragment], 'countOfNextValidatorsReadyForNextEpoch()': [FunctionFragment], 'currentValidatorCountForConsensus()': [FunctionFragment], 'epoch()': [FunctionFragment], 'getActiveUnkickedValidatorStructs()': [FunctionFragment], 'getActiveUnkickedValidatorStructsAndCounts()': [FunctionFragment], 'getActiveUnkickedValidators()': [FunctionFragment], 'getKeyTypes()': [FunctionFragment], 'getKickedValidators()': [FunctionFragment], 'getNodeStakerAddressMappings(address[])': [FunctionFragment], 'getStakingBalancesAddress()': [FunctionFragment], 'getTokenAddress()': [FunctionFragment], 'getValidatorsInCurrentEpoch()': [FunctionFragment], 'getValidatorsInCurrentEpochLength()': [FunctionFragment], 'getValidatorsInNextEpoch()': [FunctionFragment], 'getValidatorsStructs(address[])': [FunctionFragment], 'getValidatorsStructsInCurrentEpoch()': [FunctionFragment], 'getValidatorsStructsInNextEpoch()': [FunctionFragment], 'getVotingStatusToKickValidator(uint256,address,address)': [FunctionFragment], 'isActiveValidator(address)': [FunctionFragment], 'isActiveValidatorByNodeAddress(address)': [FunctionFragment], 'isReadyForNextEpoch()': [FunctionFragment], 'kickPenaltyPercentByReason(uint256)': [FunctionFragment], 'nextValidatorCountForConsensus()': [FunctionFragment], 'nodeAddressToStakerAddress(address)': [FunctionFragment], 'readyForNextEpoch(address)': [FunctionFragment], 'shouldKickValidator(address)': [FunctionFragment], 'state()': [FunctionFragment], 'validators(address)': [FunctionFragment] }, errors: { 'CannotAddFunctionToDiamondThatAlreadyExists(bytes4)': [ErrorFragment], 'CannotAddSelectorsToZeroAddress(bytes4[])': [ErrorFragment], 'CannotRemoveFunctionThatDoesNotExist(bytes4)': [ErrorFragment], 'CannotRemoveImmutableFunction(bytes4)': [ErrorFragment], 'CannotReplaceFunctionThatDoesNotExists(bytes4)': [ErrorFragment], 'CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet(bytes4)': [ErrorFragment], 'CannotReplaceFunctionsFromFacetWithZeroAddress(bytes4[])': [ErrorFragment], 'CannotReplaceImmutableFunction(bytes4)': [ErrorFragment], 'IncorrectFacetCutAction(uint8)': [ErrorFragment], 'InitializationFunctionReverted(address,bytes)': [ErrorFragment], 'NoBytecodeAtAddress(address,string)': [ErrorFragment], 'NoSelectorsProvidedForFacetForCut(address)': [ErrorFragment], 'NotContractOwner(address,address)': [ErrorFragment], 'RemoveFacetAddressMustBeZeroAddress(address)': [ErrorFragment], 'ActiveValidatorsCannotLeave()': [ErrorFragment], 'CallerNotOwner()': [ErrorFragment], 'CannotKickBelowCurrentValidatorThreshold()': [ErrorFragment], 'CannotRejoinUntilNextEpochBecauseKicked(address)': [ErrorFragment], 'CannotReuseCommsKeys(uint256,uint256)': [ErrorFragment], 'CannotStakeZero()': [ErrorFragment], 'CannotVoteTwice(address)': [ErrorFragment], 'CannotWithdrawZero()': [ErrorFragment], 'CouldNotMapNodeAddressToStakerAddress(address)': [ErrorFragment], 'MustBeInActiveOrUnlockedOrPausedState(uint8)': [ErrorFragment], 'MustBeInActiveOrUnlockedState(uint8)': [ErrorFragment], 'MustBeInNextValidatorSetLockedOrReadyForNextEpochOrRestoreState(uint8)': [ErrorFragment], 'MustBeInNextValidatorSetLockedOrReadyForNextEpochState(uint8)': [ErrorFragment], 'MustBeInNextValidatorSetLockedState(uint8)': [ErrorFragment], 'MustBeInReadyForNextEpochState(uint8)': [ErrorFragment], 'MustBeValidatorInNextEpochToKick(address)': [ErrorFragment], 'NotEnoughTimeElapsedForTimeoutSinceLastEpoch(uint256,uint256,uint256)': [ErrorFragment], 'NotEnoughTimeElapsedSinceLastEpoch(uint256,uint256)': [ErrorFragment], 'NotEnoughValidatorsInNextEpoch(uint256,uint256)': [ErrorFragment], 'NotEnoughValidatorsReadyForNextEpoch(uint256,uint256,uint256)': [ErrorFragment], 'SignaledReadyForWrongEpochNumber(uint256,uint256)': [ErrorFragment], 'StakerNotPermitted(address)': [ErrorFragment], 'TryingToWithdrawMoreThanStaked(uint256,uint256)': [ErrorFragment], 'ValidatorIsNotInNextEpoch(address,address[])': [ErrorFragment] }, events: { 'DiamondCut((address,uint8,bytes4[])[],address,bytes)': [EventFragment], 'OwnershipTransferred(address,address)': [EventFragment], 'ComplaintConfigSet(uint256,(uint256,uint256,uint256))': [EventFragment], 'ConfigSet(uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool)': [EventFragment], 'EpochEndTimeSet(uint256)': [EventFragment], 'EpochLengthSet(uint256)': [EventFragment], 'EpochTimeoutSet(uint256)': [EventFragment], 'KickPenaltyPercentSet(uint256,uint256)': [EventFragment], 'ReadyForNextEpoch(address,uint256)': [EventFragment], 'Recovered(address,uint256)': [EventFragment], 'RequestToJoin(address)': [EventFragment], 'RequestToLeave(address)': [EventFragment], 'ResolverContractAddressSet(address)': [EventFragment], 'RewardsDurationUpdated(uint256)': [EventFragment], 'StakingTokenSet(address)': [EventFragment], 'StateChanged(uint8)': [EventFragment], 'ValidatorKickedFromNextEpoch(address,uint256)': [EventFragment], 'ValidatorRejoinedNextEpoch(address)': [EventFragment], 'VotedToKickValidatorInNextEpoch(address,address,uint256,bytes)': [EventFragment], 'VersionRequirementsUpdated(uint256,(uint256,uint256,uint256))': [EventFragment] }, structs: {}, deploy: ConstructorFragment { name: null, type: 'constructor', inputs: [], payable: false, stateMutability: 'nonpayable', gas: null, _isFragment: true }, _isInterface: true }, provider: StaticJsonRpcProvider { _isProvider: true, _events: [], _emitted: { block: -2 }, disableCcipRead: false, formatter: Formatter { formats: [Object] }, anyNetwork: false, _networkPromise: Promise { [Object] }, _maxInternalBlockNumber: -1024, _lastBlockNumber: -2, _maxFilterBlockRange: 10, _pollingInterval: 4000, _fastQueryDate: 0, connection: { url: 'https://yellowstone-rpc.litprotocol.com' }, _nextId: 44, _eventLoopCache: { detectNetwork: null, eth_chainId: null }, _network: { chainId: 175188, name: 'unknown' } }, signer: null, callStatic: { 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'facetAddress(bytes4)': [Function (anonymous)], 'facetAddresses()': [Function (anonymous)], 'facetFunctionSelectors(address)': [Function (anonymous)], 'facets()': [Function (anonymous)], 'supportsInterface(bytes4)': [Function (anonymous)], 'owner()': [Function (anonymous)], 'transferOwnership(address)': [Function (anonymous)], 'adminKickValidatorInNextEpoch(address)': [Function (anonymous)], 'adminRejoinValidator(address)': [Function (anonymous)], 'adminResetEpoch()': [Function (anonymous)], 'adminSlashValidator(address,uint256)': [Function (anonymous)], 'advanceEpoch()': [Function (anonymous)], 'exit()': [Function (anonymous)], 'getReward()': [Function (anonymous)], 'kickValidatorInNextEpoch(address,uint256,bytes)': [Function (anonymous)], 'lockValidatorsForNextEpoch()': [Function (anonymous)], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'requestToLeave()': [Function (anonymous)], 'requestToLeaveAsNode()': [Function (anonymous)], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [Function (anonymous)], 'setContractResolver(address)': [Function (anonymous)], 'setEpochEndTime(uint256)': [Function (anonymous)], 'setEpochLength(uint256)': [Function (anonymous)], 'setEpochState(uint8)': [Function (anonymous)], 'setEpochTimeout(uint256)': [Function (anonymous)], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'setKickPenaltyPercent(uint256,uint256)': [Function (anonymous)], 'signalReadyForNextEpoch(uint256)': [Function (anonymous)], 'stake(uint256)': [Function (anonymous)], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'withdraw(uint256)': [Function (anonymous)], 'checkVersion((uint256,uint256,uint256))': [Function (anonymous)], 'getMaxVersion()': [Function (anonymous)], 'getMaxVersionString()': [Function (anonymous)], 'getMinVersion()': [Function (anonymous)], 'getMinVersionString()': [Function (anonymous)], 'setMaxVersion((uint256,uint256,uint256))': [Function (anonymous)], 'setMinVersion((uint256,uint256,uint256))': [Function (anonymous)], 'complaintConfig(uint256)': [Function (anonymous)], 'config()': [Function (anonymous)], 'contractResolver()': [Function (anonymous)], 'countOfCurrentValidatorsReadyForNextEpoch()': [Function (anonymous)], 'countOfNextValidatorsReadyForNextEpoch()': [Function (anonymous)], 'currentValidatorCountForConsensus()': [Function (anonymous)], 'epoch()': [Function (anonymous)], 'getActiveUnkickedValidatorStructs()': [Function (anonymous)], 'getActiveUnkickedValidatorStructsAndCounts()': [Function (anonymous)], 'getActiveUnkickedValidators()': [Function (anonymous)], 'getKeyTypes()': [Function (anonymous)], 'getKickedValidators()': [Function (anonymous)], 'getNodeStakerAddressMappings(address[])': [Function (anonymous)], 'getStakingBalancesAddress()': [Function (anonymous)], 'getTokenAddress()': [Function (anonymous)], 'getValidatorsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsInCurrentEpochLength()': [Function (anonymous)], 'getValidatorsInNextEpoch()': [Function (anonymous)], 'getValidatorsStructs(address[])': [Function (anonymous)], 'getValidatorsStructsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsStructsInNextEpoch()': [Function (anonymous)], 'getVotingStatusToKickValidator(uint256,address,address)': [Function (anonymous)], 'isActiveValidator(address)': [Function (anonymous)], 'isActiveValidatorByNodeAddress(address)': [Function (anonymous)], 'isReadyForNextEpoch()': [Function (anonymous)], 'kickPenaltyPercentByReason(uint256)': [Function (anonymous)], 'nextValidatorCountForConsensus()': [Function (anonymous)], 'nodeAddressToStakerAddress(address)': [Function (anonymous)], 'readyForNextEpoch(address)': [Function (anonymous)], 'shouldKickValidator(address)': [Function (anonymous)], 'state()': [Function (anonymous)], 'validators(address)': [Function (anonymous)], diamondCut: [Function (anonymous)], facetAddress: [Function (anonymous)], facetAddresses: [Function (anonymous)], facetFunctionSelectors: [Function (anonymous)], facets: [Function (anonymous)], supportsInterface: [Function (anonymous)], owner: [Function (anonymous)], transferOwnership: [Function (anonymous)], adminKickValidatorInNextEpoch: [Function (anonymous)], adminRejoinValidator: [Function (anonymous)], adminResetEpoch: [Function (anonymous)], adminSlashValidator: [Function (anonymous)], advanceEpoch: [Function (anonymous)], exit: [Function (anonymous)], getReward: [Function (anonymous)], kickValidatorInNextEpoch: [Function (anonymous)], lockValidatorsForNextEpoch: [Function (anonymous)], requestToJoin: [Function (anonymous)], requestToLeave: [Function (anonymous)], requestToLeaveAsNode: [Function (anonymous)], setComplaintConfig: [Function (anonymous)], setConfig: [Function (anonymous)], setContractResolver: [Function (anonymous)], setEpochEndTime: [Function (anonymous)], setEpochLength: [Function (anonymous)], setEpochState: [Function (anonymous)], setEpochTimeout: [Function (anonymous)], setIpPortNodeAddressAndCommunicationPubKeys: [Function (anonymous)], setKickPenaltyPercent: [Function (anonymous)], signalReadyForNextEpoch: [Function (anonymous)], stake: [Function (anonymous)], stakeAndJoin: [Function (anonymous)], withdraw: [Function (anonymous)], checkVersion: [Function (anonymous)], getMaxVersion: [Function (anonymous)], getMaxVersionString: [Function (anonymous)], getMinVersion: [Function (anonymous)], getMinVersionString: [Function (anonymous)], setMaxVersion: [Function (anonymous)], setMinVersion: [Function (anonymous)], complaintConfig: [Function (anonymous)], config: [Function (anonymous)], contractResolver: [Function (anonymous)], countOfCurrentValidatorsReadyForNextEpoch: [Function (anonymous)], countOfNextValidatorsReadyForNextEpoch: [Function (anonymous)], currentValidatorCountForConsensus: [Function (anonymous)], epoch: [Function (anonymous)], getActiveUnkickedValidatorStructs: [Function (anonymous)], getActiveUnkickedValidatorStructsAndCounts: [Function (anonymous)], getActiveUnkickedValidators: [Function (anonymous)], getKeyTypes: [Function (anonymous)], getKickedValidators: [Function (anonymous)], getNodeStakerAddressMappings: [Function (anonymous)], getStakingBalancesAddress: [Function (anonymous)], getTokenAddress: [Function (anonymous)], getValidatorsInCurrentEpoch: [Function (anonymous)], getValidatorsInCurrentEpochLength: [Function (anonymous)], getValidatorsInNextEpoch: [Function (anonymous)], getValidatorsStructs: [Function (anonymous)], getValidatorsStructsInCurrentEpoch: [Function (anonymous)], getValidatorsStructsInNextEpoch: [Function (anonymous)], getVotingStatusToKickValidator: [Function (anonymous)], isActiveValidator: [Function (anonymous)], isActiveValidatorByNodeAddress: [Function (anonymous)], isReadyForNextEpoch: [Function (anonymous)], kickPenaltyPercentByReason: [Function (anonymous)], nextValidatorCountForConsensus: [Function (anonymous)], nodeAddressToStakerAddress: [Function (anonymous)], readyForNextEpoch: [Function (anonymous)], shouldKickValidator: [Function (anonymous)], state: [Function (anonymous)], validators: [Function (anonymous)] }, estimateGas: { 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'facetAddress(bytes4)': [Function (anonymous)], 'facetAddresses()': [Function (anonymous)], 'facetFunctionSelectors(address)': [Function (anonymous)], 'facets()': [Function (anonymous)], 'supportsInterface(bytes4)': [Function (anonymous)], 'owner()': [Function (anonymous)], 'transferOwnership(address)': [Function (anonymous)], 'adminKickValidatorInNextEpoch(address)': [Function (anonymous)], 'adminRejoinValidator(address)': [Function (anonymous)], 'adminResetEpoch()': [Function (anonymous)], 'adminSlashValidator(address,uint256)': [Function (anonymous)], 'advanceEpoch()': [Function (anonymous)], 'exit()': [Function (anonymous)], 'getReward()': [Function (anonymous)], 'kickValidatorInNextEpoch(address,uint256,bytes)': [Function (anonymous)], 'lockValidatorsForNextEpoch()': [Function (anonymous)], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'requestToLeave()': [Function (anonymous)], 'requestToLeaveAsNode()': [Function (anonymous)], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [Function (anonymous)], 'setContractResolver(address)': [Function (anonymous)], 'setEpochEndTime(uint256)': [Function (anonymous)], 'setEpochLength(uint256)': [Function (anonymous)], 'setEpochState(uint8)': [Function (anonymous)], 'setEpochTimeout(uint256)': [Function (anonymous)], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'setKickPenaltyPercent(uint256,uint256)': [Function (anonymous)], 'signalReadyForNextEpoch(uint256)': [Function (anonymous)], 'stake(uint256)': [Function (anonymous)], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'withdraw(uint256)': [Function (anonymous)], 'checkVersion((uint256,uint256,uint256))': [Function (anonymous)], 'getMaxVersion()': [Function (anonymous)], 'getMaxVersionString()': [Function (anonymous)], 'getMinVersion()': [Function (anonymous)], 'getMinVersionString()': [Function (anonymous)], 'setMaxVersion((uint256,uint256,uint256))': [Function (anonymous)], 'setMinVersion((uint256,uint256,uint256))': [Function (anonymous)], 'complaintConfig(uint256)': [Function (anonymous)], 'config()': [Function (anonymous)], 'contractResolver()': [Function (anonymous)], 'countOfCurrentValidatorsReadyForNextEpoch()': [Function (anonymous)], 'countOfNextValidatorsReadyForNextEpoch()': [Function (anonymous)], 'currentValidatorCountForConsensus()': [Function (anonymous)], 'epoch()': [Function (anonymous)], 'getActiveUnkickedValidatorStructs()': [Function (anonymous)], 'getActiveUnkickedValidatorStructsAndCounts()': [Function (anonymous)], 'getActiveUnkickedValidators()': [Function (anonymous)], 'getKeyTypes()': [Function (anonymous)], 'getKickedValidators()': [Function (anonymous)], 'getNodeStakerAddressMappings(address[])': [Function (anonymous)], 'getStakingBalancesAddress()': [Function (anonymous)], 'getTokenAddress()': [Function (anonymous)], 'getValidatorsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsInCurrentEpochLength()': [Function (anonymous)], 'getValidatorsInNextEpoch()': [Function (anonymous)], 'getValidatorsStructs(address[])': [Function (anonymous)], 'getValidatorsStructsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsStructsInNextEpoch()': [Function (anonymous)], 'getVotingStatusToKickValidator(uint256,address,address)': [Function (anonymous)], 'isActiveValidator(address)': [Function (anonymous)], 'isActiveValidatorByNodeAddress(address)': [Function (anonymous)], 'isReadyForNextEpoch()': [Function (anonymous)], 'kickPenaltyPercentByReason(uint256)': [Function (anonymous)], 'nextValidatorCountForConsensus()': [Function (anonymous)], 'nodeAddressToStakerAddress(address)': [Function (anonymous)], 'readyForNextEpoch(address)': [Function (anonymous)], 'shouldKickValidator(address)': [Function (anonymous)], 'state()': [Function (anonymous)], 'validators(address)': [Function (anonymous)], diamondCut: [Function (anonymous)], facetAddress: [Function (anonymous)], facetAddresses: [Function (anonymous)], facetFunctionSelectors: [Function (anonymous)], facets: [Function (anonymous)], supportsInterface: [Function (anonymous)], owner: [Function (anonymous)], transferOwnership: [Function (anonymous)], adminKickValidatorInNextEpoch: [Function (anonymous)], adminRejoinValidator: [Function (anonymous)], adminResetEpoch: [Function (anonymous)], adminSlashValidator: [Function (anonymous)], advanceEpoch: [Function (anonymous)], exit: [Function (anonymous)], getReward: [Function (anonymous)], kickValidatorInNextEpoch: [Function (anonymous)], lockValidatorsForNextEpoch: [Function (anonymous)], requestToJoin: [Function (anonymous)], requestToLeave: [Function (anonymous)], requestToLeaveAsNode: [Function (anonymous)], setComplaintConfig: [Function (anonymous)], setConfig: [Function (anonymous)], setContractResolver: [Function (anonymous)], setEpochEndTime: [Function (anonymous)], setEpochLength: [Function (anonymous)], setEpochState: [Function (anonymous)], setEpochTimeout: [Function (anonymous)], setIpPortNodeAddressAndCommunicationPubKeys: [Function (anonymous)], setKickPenaltyPercent: [Function (anonymous)], signalReadyForNextEpoch: [Function (anonymous)], stake: [Function (anonymous)], stakeAndJoin: [Function (anonymous)], withdraw: [Function (anonymous)], checkVersion: [Function (anonymous)], getMaxVersion: [Function (anonymous)], getMaxVersionString: [Function (anonymous)], getMinVersion: [Function (anonymous)], getMinVersionString: [Function (anonymous)], setMaxVersion: [Function (anonymous)], setMinVersion: [Function (anonymous)], complaintConfig: [Function (anonymous)], config: [Function (anonymous)], contractResolver: [Function (anonymous)], countOfCurrentValidatorsReadyForNextEpoch: [Function (anonymous)], countOfNextValidatorsReadyForNextEpoch: [Function (anonymous)], currentValidatorCountForConsensus: [Function (anonymous)], epoch: [Function (anonymous)], getActiveUnkickedValidatorStructs: [Function (anonymous)], getActiveUnkickedValidatorStructsAndCounts: [Function (anonymous)], getActiveUnkickedValidators: [Function (anonymous)], getKeyTypes: [Function (anonymous)], getKickedValidators: [Function (anonymous)], getNodeStakerAddressMappings: [Function (anonymous)], getStakingBalancesAddress: [Function (anonymous)], getTokenAddress: [Function (anonymous)], getValidatorsInCurrentEpoch: [Function (anonymous)], getValidatorsInCurrentEpochLength: [Function (anonymous)], getValidatorsInNextEpoch: [Function (anonymous)], getValidatorsStructs: [Function (anonymous)], getValidatorsStructsInCurrentEpoch: [Function (anonymous)], getValidatorsStructsInNextEpoch: [Function (anonymous)], getVotingStatusToKickValidator: [Function (anonymous)], isActiveValidator: [Function (anonymous)], isActiveValidatorByNodeAddress: [Function (anonymous)], isReadyForNextEpoch: [Function (anonymous)], kickPenaltyPercentByReason: [Function (anonymous)], nextValidatorCountForConsensus: [Function (anonymous)], nodeAddressToStakerAddress: [Function (anonymous)], readyForNextEpoch: [Function (anonymous)], shouldKickValidator: [Function (anonymous)], state: [Function (anonymous)], validators: [Function (anonymous)] }, functions: { 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'facetAddress(bytes4)': [Function (anonymous)], 'facetAddresses()': [Function (anonymous)], 'facetFunctionSelectors(address)': [Function (anonymous)], 'facets()': [Function (anonymous)], 'supportsInterface(bytes4)': [Function (anonymous)], 'owner()': [Function (anonymous)], 'transferOwnership(address)': [Function (anonymous)], 'adminKickValidatorInNextEpoch(address)': [Function (anonymous)], 'adminRejoinValidator(address)': [Function (anonymous)], 'adminResetEpoch()': [Function (anonymous)], 'adminSlashValidator(address,uint256)': [Function (anonymous)], 'advanceEpoch()': [Function (anonymous)], 'exit()': [Function (anonymous)], 'getReward()': [Function (anonymous)], 'kickValidatorInNextEpoch(address,uint256,bytes)': [Function (anonymous)], 'lockValidatorsForNextEpoch()': [Function (anonymous)], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'requestToLeave()': [Function (anonymous)], 'requestToLeaveAsNode()': [Function (anonymous)], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [Function (anonymous)], 'setContractResolver(address)': [Function (anonymous)], 'setEpochEndTime(uint256)': [Function (anonymous)], 'setEpochLength(uint256)': [Function (anonymous)], 'setEpochState(uint8)': [Function (anonymous)], 'setEpochTimeout(uint256)': [Function (anonymous)], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'setKickPenaltyPercent(uint256,uint256)': [Function (anonymous)], 'signalReadyForNextEpoch(uint256)': [Function (anonymous)], 'stake(uint256)': [Function (anonymous)], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'withdraw(uint256)': [Function (anonymous)], 'checkVersion((uint256,uint256,uint256))': [Function (anonymous)], 'getMaxVersion()': [Function (anonymous)], 'getMaxVersionString()': [Function (anonymous)], 'getMinVersion()': [Function (anonymous)], 'getMinVersionString()': [Function (anonymous)], 'setMaxVersion((uint256,uint256,uint256))': [Function (anonymous)], 'setMinVersion((uint256,uint256,uint256))': [Function (anonymous)], 'complaintConfig(uint256)': [Function (anonymous)], 'config()': [Function (anonymous)], 'contractResolver()': [Function (anonymous)], 'countOfCurrentValidatorsReadyForNextEpoch()': [Function (anonymous)], 'countOfNextValidatorsReadyForNextEpoch()': [Function (anonymous)], 'currentValidatorCountForConsensus()': [Function (anonymous)], 'epoch()': [Function (anonymous)], 'getActiveUnkickedValidatorStructs()': [Function (anonymous)], 'getActiveUnkickedValidatorStructsAndCounts()': [Function (anonymous)], 'getActiveUnkickedValidators()': [Function (anonymous)], 'getKeyTypes()': [Function (anonymous)], 'getKickedValidators()': [Function (anonymous)], 'getNodeStakerAddressMappings(address[])': [Function (anonymous)], 'getStakingBalancesAddress()': [Function (anonymous)], 'getTokenAddress()': [Function (anonymous)], 'getValidatorsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsInCurrentEpochLength()': [Function (anonymous)], 'getValidatorsInNextEpoch()': [Function (anonymous)], 'getValidatorsStructs(address[])': [Function (anonymous)], 'getValidatorsStructsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsStructsInNextEpoch()': [Function (anonymous)], 'getVotingStatusToKickValidator(uint256,address,address)': [Function (anonymous)], 'isActiveValidator(address)': [Function (anonymous)], 'isActiveValidatorByNodeAddress(address)': [Function (anonymous)], 'isReadyForNextEpoch()': [Function (anonymous)], 'kickPenaltyPercentByReason(uint256)': [Function (anonymous)], 'nextValidatorCountForConsensus()': [Function (anonymous)], 'nodeAddressToStakerAddress(address)': [Function (anonymous)], 'readyForNextEpoch(address)': [Function (anonymous)], 'shouldKickValidator(address)': [Function (anonymous)], 'state()': [Function (anonymous)], 'validators(address)': [Function (anonymous)], diamondCut: [Function (anonymous)], facetAddress: [Function (anonymous)], facetAddresses: [Function (anonymous)], facetFunctionSelectors: [Function (anonymous)], facets: [Function (anonymous)], supportsInterface: [Function (anonymous)], owner: [Function (anonymous)], transferOwnership: [Function (anonymous)], adminKickValidatorInNextEpoch: [Function (anonymous)], adminRejoinValidator: [Function (anonymous)], adminResetEpoch: [Function (anonymous)], adminSlashValidator: [Function (anonymous)], advanceEpoch: [Function (anonymous)], exit: [Function (anonymous)], getReward: [Function (anonymous)], kickValidatorInNextEpoch: [Function (anonymous)], lockValidatorsForNextEpoch: [Function (anonymous)], requestToJoin: [Function (anonymous)], requestToLeave: [Function (anonymous)], requestToLeaveAsNode: [Function (anonymous)], setComplaintConfig: [Function (anonymous)], setConfig: [Function (anonymous)], setContractResolver: [Function (anonymous)], setEpochEndTime: [Function (anonymous)], setEpochLength: [Function (anonymous)], setEpochState: [Function (anonymous)], setEpochTimeout: [Function (anonymous)], setIpPortNodeAddressAndCommunicationPubKeys: [Function (anonymous)], setKickPenaltyPercent: [Function (anonymous)], signalReadyForNextEpoch: [Function (anonymous)], stake: [Function (anonymous)], stakeAndJoin: [Function (anonymous)], withdraw: [Function (anonymous)], checkVersion: [Function (anonymous)], getMaxVersion: [Function (anonymous)], getMaxVersionString: [Function (anonymous)], getMinVersion: [Function (anonymous)], getMinVersionString: [Function (anonymous)], setMaxVersion: [Function (anonymous)], setMinVersion: [Function (anonymous)], complaintConfig: [Function (anonymous)], config: [Function (anonymous)], contractResolver: [Function (anonymous)], countOfCurrentValidatorsReadyForNextEpoch: [Function (anonymous)], countOfNextValidatorsReadyForNextEpoch: [Function (anonymous)], currentValidatorCountForConsensus: [Function (anonymous)], epoch: [Function (anonymous)], getActiveUnkickedValidatorStructs: [Function (anonymous)], getActiveUnkickedValidatorStructsAndCounts: [Function (anonymous)], getActiveUnkickedValidators: [Function (anonymous)], getKeyTypes: [Function (anonymous)], getKickedValidators: [Function (anonymous)], getNodeStakerAddressMappings: [Function (anonymous)], getStakingBalancesAddress: [Function (anonymous)], getTokenAddress: [Function (anonymous)], getValidatorsInCurrentEpoch: [Function (anonymous)], getValidatorsInCurrentEpochLength: [Function (anonymous)], getValidatorsInNextEpoch: [Function (anonymous)], getValidatorsStructs: [Function (anonymous)], getValidatorsStructsInCurrentEpoch: [Function (anonymous)], getValidatorsStructsInNextEpoch: [Function (anonymous)], getVotingStatusToKickValidator: [Function (anonymous)], isActiveValidator: [Function (anonymous)], isActiveValidatorByNodeAddress: [Function (anonymous)], isReadyForNextEpoch: [Function (anonymous)], kickPenaltyPercentByReason: [Function (anonymous)], nextValidatorCountForConsensus: [Function (anonymous)], nodeAddressToStakerAddress: [Function (anonymous)], readyForNextEpoch: [Function (anonymous)], shouldKickValidator: [Function (anonymous)], state: [Function (anonymous)], validators: [Function (anonymous)] }, populateTransaction: { 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'facetAddress(bytes4)': [Function (anonymous)], 'facetAddresses()': [Function (anonymous)], 'facetFunctionSelectors(address)': [Function (anonymous)], 'facets()': [Function (anonymous)], 'supportsInterface(bytes4)': [Function (anonymous)], 'owner()': [Function (anonymous)], 'transferOwnership(address)': [Function (anonymous)], 'adminKickValidatorInNextEpoch(address)': [Function (anonymous)], 'adminRejoinValidator(address)': [Function (anonymous)], 'adminResetEpoch()': [Function (anonymous)], 'adminSlashValidator(address,uint256)': [Function (anonymous)], 'advanceEpoch()': [Function (anonymous)], 'exit()': [Function (anonymous)], 'getReward()': [Function (anonymous)], 'kickValidatorInNextEpoch(address,uint256,bytes)': [Function (anonymous)], 'lockValidatorsForNextEpoch()': [Function (anonymous)], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'requestToLeave()': [Function (anonymous)], 'requestToLeaveAsNode()': [Function (anonymous)], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [Function (anonymous)], 'setContractResolver(address)': [Function (anonymous)], 'setEpochEndTime(uint256)': [Function (anonymous)], 'setEpochLength(uint256)': [Function (anonymous)], 'setEpochState(uint8)': [Function (anonymous)], 'setEpochTimeout(uint256)': [Function (anonymous)], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'setKickPenaltyPercent(uint256,uint256)': [Function (anonymous)], 'signalReadyForNextEpoch(uint256)': [Function (anonymous)], 'stake(uint256)': [Function (anonymous)], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'withdraw(uint256)': [Function (anonymous)], 'checkVersion((uint256,uint256,uint256))': [Function (anonymous)], 'getMaxVersion()': [Function (anonymous)], 'getMaxVersionString()': [Function (anonymous)], 'getMinVersion()': [Function (anonymous)], 'getMinVersionString()': [Function (anonymous)], 'setMaxVersion((uint256,uint256,uint256))': [Function (anonymous)], 'setMinVersion((uint256,uint256,uint256))': [Function (anonymous)], 'complaintConfig(uint256)': [Function (anonymous)], 'config()': [Function (anonymous)], 'contractResolver()': [Function (anonymous)], 'countOfCurrentValidatorsReadyForNextEpoch()': [Function (anonymous)], 'countOfNextValidatorsReadyForNextEpoch()': [Function (anonymous)], 'currentValidatorCountForConsensus()': [Function (anonymous)], 'epoch()': [Function (anonymous)], 'getActiveUnkickedValidatorStructs()': [Function (anonymous)], 'getActiveUnkickedValidatorStructsAndCounts()': [Function (anonymous)], 'getActiveUnkickedValidators()': [Function (anonymous)], 'getKeyTypes()': [Function (anonymous)], 'getKickedValidators()': [Function (anonymous)], 'getNodeStakerAddressMappings(address[])': [Function (anonymous)], 'getStakingBalancesAddress()': [Function (anonymous)], 'getTokenAddress()': [Function (anonymous)], 'getValidatorsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsInCurrentEpochLength()': [Function (anonymous)], 'getValidatorsInNextEpoch()': [Function (anonymous)], 'getValidatorsStructs(address[])': [Function (anonymous)], 'getValidatorsStructsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsStructsInNextEpoch()': [Function (anonymous)], 'getVotingStatusToKickValidator(uint256,address,address)': [Function (anonymous)], 'isActiveValidator(address)': [Function (anonymous)], 'isActiveValidatorByNodeAddress(address)': [Function (anonymous)], 'isReadyForNextEpoch()': [Function (anonymous)], 'kickPenaltyPercentByReason(uint256)': [Function (anonymous)], 'nextValidatorCountForConsensus()': [Function (anonymous)], 'nodeAddressToStakerAddress(address)': [Function (anonymous)], 'readyForNextEpoch(address)': [Function (anonymous)], 'shouldKickValidator(address)': [Function (anonymous)], 'state()': [Function (anonymous)], 'validators(address)': [Function (anonymous)], diamondCut: [Function (anonymous)], facetAddress: [Function (anonymous)], facetAddresses: [Function (anonymous)], facetFunctionSelectors: [Function (anonymous)], facets: [Function (anonymous)], supportsInterface: [Function (anonymous)], owner: [Function (anonymous)], transferOwnership: [Function (anonymous)], adminKickValidatorInNextEpoch: [Function (anonymous)], adminRejoinValidator: [Function (anonymous)], adminResetEpoch: [Function (anonymous)], adminSlashValidator: [Function (anonymous)], advanceEpoch: [Function (anonymous)], exit: [Function (anonymous)], getReward: [Function (anonymous)], kickValidatorInNextEpoch: [Function (anonymous)], lockValidatorsForNextEpoch: [Function (anonymous)], requestToJoin: [Function (anonymous)], requestToLeave: [Function (anonymous)], requestToLeaveAsNode: [Function (anonymous)], setComplaintConfig: [Function (anonymous)], setConfig: [Function (anonymous)], setContractResolver: [Function (anonymous)], setEpochEndTime: [Function (anonymous)], setEpochLength: [Function (anonymous)], setEpochState: [Function (anonymous)], setEpochTimeout: [Function (anonymous)], setIpPortNodeAddressAndCommunicationPubKeys: [Function (anonymous)], setKickPenaltyPercent: [Function (anonymous)], signalReadyForNextEpoch: [Function (anonymous)], stake: [Function (anonymous)], stakeAndJoin: [Function (anonymous)], withdraw: [Function (anonymous)], checkVersion: [Function (anonymous)], getMaxVersion: [Function (anonymous)], getMaxVersionString: [Function (anonymous)], getMinVersion: [Function (anonymous)], getMinVersionString: [Function (anonymous)], setMaxVersion: [Function (anonymous)], setMinVersion: [Function (anonymous)], complaintConfig: [Function (anonymous)], config: [Function (anonymous)], contractResolver: [Function (anonymous)], countOfCurrentValidatorsReadyForNextEpoch: [Function (anonymous)], countOfNextValidatorsReadyForNextEpoch: [Function (anonymous)], currentValidatorCountForConsensus: [Function (anonymous)], epoch: [Function (anonymous)], getActiveUnkickedValidatorStructs: [Function (anonymous)], getActiveUnkickedValidatorStructsAndCounts: [Function (anonymous)], getActiveUnkickedValidators: [Function (anonymous)], getKeyTypes: [Function (anonymous)], getKickedValidators: [Function (anonymous)], getNodeStakerAddressMappings: [Function (anonymous)], getStakingBalancesAddress: [Function (anonymous)], getTokenAddress: [Function (anonymous)], getValidatorsInCurrentEpoch: [Function (anonymous)], getValidatorsInCurrentEpochLength: [Function (anonymous)], getValidatorsInNextEpoch: [Function (anonymous)], getValidatorsStructs: [Function (anonymous)], getValidatorsStructsInCurrentEpoch: [Function (anonymous)], getValidatorsStructsInNextEpoch: [Function (anonymous)], getVotingStatusToKickValidator: [Function (anonymous)], isActiveValidator: [Function (anonymous)], isActiveValidatorByNodeAddress: [Function (anonymous)], isReadyForNextEpoch: [Function (anonymous)], kickPenaltyPercentByReason: [Function (anonymous)], nextValidatorCountForConsensus: [Function (anonymous)], nodeAddressToStakerAddress: [Function (anonymous)], readyForNextEpoch: [Function (anonymous)], shouldKickValidator: [Function (anonymous)], state: [Function (anonymous)], validators: [Function (anonymous)] }, filters: { 'DiamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'OwnershipTransferred(address,address)': [Function (anonymous)], 'ComplaintConfigSet(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'ConfigSet(uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool)': [Function (anonymous)], 'EpochEndTimeSet(uint256)': [Function (anonymous)], 'EpochLengthSet(uint256)': [Function (anonymous)], 'EpochTimeoutSet(uint256)': [Function (anonymous)], 'KickPenaltyPercentSet(uint256,uint256)': [Function (anonymous)], 'ReadyForNextEpoch(address,uint256)': [Function (anonymous)], 'Recovered(address,uint256)': [Function (anonymous)], 'RequestToJoin(address)': [Function (anonymous)], 'RequestToLeave(address)': [Function (anonymous)], 'ResolverContractAddressSet(address)': [Function (anonymous)], 'RewardsDurationUpdated(uint256)': [Function (anonymous)], 'StakingTokenSet(address)': [Function (anonymous)], 'StateChanged(uint8)': [Function (anonymous)], 'ValidatorKickedFromNextEpoch(address,uint256)': [Function (anonymous)], 'ValidatorRejoinedNextEpoch(address)': [Function (anonymous)], 'VotedToKickValidatorInNextEpoch(address,address,uint256,bytes)': [Function (anonymous)], 'VersionRequirementsUpdated(uint256,(uint256,uint256,uint256))': [Function (anonymous)], DiamondCut: [Function (anonymous)], OwnershipTransferred: [Function (anonymous)], ComplaintConfigSet: [Function (anonymous)], ConfigSet: [Function (anonymous)], EpochEndTimeSet: [Function (anonymous)], EpochLengthSet: [Function (anonymous)], EpochTimeoutSet: [Function (anonymous)], KickPenaltyPercentSet: [Function (anonymous)], ReadyForNextEpoch: [Function (anonymous)], Recovered: [Function (anonymous)], RequestToJoin: [Function (anonymous)], RequestToLeave: [Function (anonymous)], ResolverContractAddressSet: [Function (anonymous)], RewardsDurationUpdated: [Function (anonymous)], StakingTokenSet: [Function (anonymous)], StateChanged: [Function (anonymous)], ValidatorKickedFromNextEpoch: [Function (anonymous)], ValidatorRejoinedNextEpoch: [Function (anonymous)], VotedToKickValidatorInNextEpoch: [Function (anonymous)], VersionRequirementsUpdated: [Function (anonymous)] }, _runningEvents: {}, _wrappedEmits: {}, address: '0xD4507CD392Af2c80919219d7896508728f6A623F', resolvedAddress: Promise { '0xD4507CD392Af2c80919219d7896508728f6A623F' }, 'diamondCut((address,uint8,bytes4[])[],address,bytes)': [Function (anonymous)], 'facetAddress(bytes4)': [Function (anonymous)], 'facetAddresses()': [Function (anonymous)], 'facetFunctionSelectors(address)': [Function (anonymous)], 'facets()': [Function (anonymous)], 'supportsInterface(bytes4)': [Function (anonymous)], 'owner()': [Function (anonymous)], 'transferOwnership(address)': [Function (anonymous)], 'adminKickValidatorInNextEpoch(address)': [Function (anonymous)], 'adminRejoinValidator(address)': [Function (anonymous)], 'adminResetEpoch()': [Function (anonymous)], 'adminSlashValidator(address,uint256)': [Function (anonymous)], 'advanceEpoch()': [Function (anonymous)], 'exit()': [Function (anonymous)], 'getReward()': [Function (anonymous)], 'kickValidatorInNextEpoch(address,uint256,bytes)': [Function (anonymous)], 'lockValidatorsForNextEpoch()': [Function (anonymous)], 'requestToJoin(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'requestToLeave()': [Function (anonymous)], 'requestToLeaveAsNode()': [Function (anonymous)], 'setComplaintConfig(uint256,(uint256,uint256,uint256))': [Function (anonymous)], 'setConfig((uint256,uint256,uint256,uint256[],uint256,uint256,uint256,uint256,uint256,uint256,bool))': [Function (anonymous)], 'setContractResolver(address)': [Function (anonymous)], 'setEpochEndTime(uint256)': [Function (anonymous)], 'setEpochLength(uint256)': [Function (anonymous)], 'setEpochState(uint8)': [Function (anonymous)], 'setEpochTimeout(uint256)': [Function (anonymous)], 'setIpPortNodeAddressAndCommunicationPubKeys(uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'setKickPenaltyPercent(uint256,uint256)': [Function (anonymous)], 'signalReadyForNextEpoch(uint256)': [Function (anonymous)], 'stake(uint256)': [Function (anonymous)], 'stakeAndJoin(uint256,uint32,uint128,uint32,address,uint256,uint256)': [Function (anonymous)], 'withdraw(uint256)': [Function (anonymous)], 'checkVersion((uint256,uint256,uint256))': [Function (anonymous)], 'getMaxVersion()': [Function (anonymous)], 'getMaxVersionString()': [Function (anonymous)], 'getMinVersion()': [Function (anonymous)], 'getMinVersionString()': [Function (anonymous)], 'setMaxVersion((uint256,uint256,uint256))': [Function (anonymous)], 'setMinVersion((uint256,uint256,uint256))': [Function (anonymous)], 'complaintConfig(uint256)': [Function (anonymous)], 'config()': [Function (anonymous)], 'contractResolver()': [Function (anonymous)], 'countOfCurrentValidatorsReadyForNextEpoch()': [Function (anonymous)], 'countOfNextValidatorsReadyForNextEpoch()': [Function (anonymous)], 'currentValidatorCountForConsensus()': [Function (anonymous)], 'epoch()': [Function (anonymous)], 'getActiveUnkickedValidatorStructs()': [Function (anonymous)], 'getActiveUnkickedValidatorStructsAndCounts()': [Function (anonymous)], 'getActiveUnkickedValidators()': [Function (anonymous)], 'getKeyTypes()': [Function (anonymous)], 'getKickedValidators()': [Function (anonymous)], 'getNodeStakerAddressMappings(address[])': [Function (anonymous)], 'getStakingBalancesAddress()': [Function (anonymous)], 'getTokenAddress()': [Function (anonymous)], 'getValidatorsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsInCurrentEpochLength()': [Function (anonymous)], 'getValidatorsInNextEpoch()': [Function (anonymous)], 'getValidatorsStructs(address[])': [Function (anonymous)], 'getValidatorsStructsInCurrentEpoch()': [Function (anonymous)], 'getValidatorsStructsInNextEpoch()': [Function (anonymous)], 'getVotingStatusToKickValidator(uint256,address,address)': [Function (anonymous)], 'isActiveValidator(address)': [Function (anonymous)], 'isActiveValidatorByNodeAddress(address)': [Function (anonymous)], 'isReadyForNextEpoch()': [Function (anonymous)], 'kickPenaltyPercentByReason(uint256)': [Function (anonymous)], 'nextValidatorCountForConsensus()': [Function (anonymous)], 'nodeAddressToStakerAddress(address)': [Function (anonymous)], 'readyForNextEpoch(address)': [Function (anonymous)], 'shouldKickValidator(address)': [Function (anonymous)], 'state()': [Function (anonymous)], 'validators(address)': [Function (anonymous)], diamondCut: [Function (anonymous)], facetAddress: [Function (anonymous)], facetAddresses: [Function (anonymous)], facetFunctionSelectors: [Function (anonymous)], facets: [Function (anonymous)], supportsInterface: [Function (anonymous)], owner: [Function (anonymous)], transferOwnership: [Function (anonymous)], adminKickValidatorInNextEpoch: [Function (anonymous)], adminRejoinValidator: [Function (anonymous)], adminResetEpoch: [Function (anonymous)], adminSlashValidator: [Function (anonymous)], advanceEpoch: [Function (anonymous)], exit: [Function (anonymous)], getReward: [Function (anonymous)], kickValidatorInNextEpoch: [Function (anonymous)], lockValidatorsForNextEpoch: [Function (anonymous)], requestToJoin: [Function (anonymous)], requestToLeave: [Function (anonymous)], requestToLeaveAsNode: [Function (anonymous)], setComplaintConfig: [Function (anonymous)], setConfig: [Function (anonymous)], setContractResolver: [Function (anonymous)], setEpochEndTime: [Function (anonymous)], setEpochLength: [Function (anonymous)], setEpochState: [Function (anonymous)], setEpochTimeout: [Function (anonymous)], setIpPortNodeAddressAndCommunicationPubKeys: [Function (anonymous)], setKickPenaltyPercent: [Function (anonymous)], signalReadyForNextEpoch: [Function (anonymous)], stake: [Function (anonymous)], stakeAndJoin: [Function (anonymous)], withdraw: [Function (anonymous)], checkVersion: [Function (anonymous)], getMaxVersion: [Function (anonymous)], getMaxVersionString: [Function (anonymous)], getMinVersion: [Function (anonymous)], getMinVersionString: [Function (anonymous)], setMaxVersion: [Function (anonymous)], setMinVersion: [Function (anonymous)], complaintConfig: [Function (anonymous)], config: [Function (anonymous)], contractResolver: [Function (anonymous)], countOfCurrentValidatorsReadyForNextEpoch: [Function (anonymous)], countOfNextValidatorsReadyForNextEpoch: [Function (anonymous)], currentValidatorCountForConsensus: [Function (anonymous)], epoch: [Function (anonymous)], getActiveUnkickedValidatorStructs: [Function (anonymous)], getActiveUnkickedValidatorStructsAndCounts: [Function (anonymous)], getActiveUnkickedValidators: [Function (anonymous)], getKeyTypes: [Function (anonymous)], getKickedValidators: [Function (anonymous)], getNodeStakerAddressMappings: [Function (anonymous)], getStakingBalancesAddress: [Function (anonymous)], getTokenAddress: [Function (anonymous)], getValidatorsInCurrentEpoch: [Function (anonymous)], getValidatorsInCurrentEpochLength: [Function (anonymous)], getValidatorsInNextEpoch: [Function (anonymous)], getValidatorsStructs: [Function (anonymous)], getValidatorsStructsInCurrentEpoch: [Function (anonymous)], getValidatorsStructsInNextEpoch: [Function (anonymous)], getVotingStatusToKickValidator: [Function (anonymous)], isActiveValidator: [Function (anonymous)], isActiveValidatorByNodeAddress: [Function (anonymous)], isReadyForNextEpoch: [Function (anonymous)], kickPenaltyPercentByReason: [Function (anonymous)], nextValidatorCountForConsensus: [Function (anonymous)], nodeAddressToStakerAddress: [Function (anonymous)], readyForNextEpoch: [Function (anonymous)], shouldKickValidator: [Function (anonymous)], state: [Function (anonymous)], validators: [Function (anonymous)] } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.661Z] [DEBUG] [core] handshakeWithNode https://15.235.83.220:7470/web/handshake/ [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.661Z] [DEBUG] [core] [id: 9df2ad73e880c] sendCommandToNode with url https://15.235.83.220:7470/web/handshake/ and data { clientPublicKey: 'test', challenge: 'b4d935b4a85cef7aeeb625aa8f6dad6f62d23bb764d849e9a61e96d72b533358', epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.669Z] [DEBUG] [core] handshakeWithNode https://15.235.83.220:7472/web/handshake/ [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.669Z] [DEBUG] [core] [id: 9df2ad73e880c] sendCommandToNode with url https://15.235.83.220:7472/web/handshake/ and data { clientPublicKey: 'test', challenge: '70743cc0f10524fc780d9775187ef8670e14b71f26056b0d7d26e08c6b60bb99', epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.670Z] [DEBUG] [core] handshakeWithNode https://15.235.83.220:7471/web/handshake/ [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.670Z] [DEBUG] [core] [id: 9df2ad73e880c] sendCommandToNode with url https://15.235.83.220:7471/web/handshake/ and data { clientPublicKey: 'test', challenge: 'd17044309498c6ff20045281f8b1225a010f7a91762ff4cf053cb5111bcff541', epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.949Z] [DEBUG] [core] Handshake with https://15.235.83.220:7472 returned keys: { serverPubKey: '', subnetPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKeySet: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', hdRootPubkeys: [ '03ab0ccc2dc8a3d9c2de9a7421b171475a09e60cb546fe446a9d0c3aadb8f639ae', '03b6300abf338b504b7b49eb83b59554d12232b9f390f6bb5bf06150b812678b53', '039911489c48624554fef51f37323053953def50ed3b40e69620d0a6bcb4ffdc2f', '034feeda3a7912131c980ae8b6376611dd5052d574979247d64da8bb1446e240d7', '023dd81dba4b89da5e4c3dec5da93ba0e1addc0eafbe03487450c42e28628570d1', '0346ac7da954f1b8ee891b79eb8cf45bafef62c85dffc1dc41e4b755bc0428689f', '0222be55763b2339daf0c149e5e6e927894e0667671de47a591fc24f38eef48cd3', '0313cce430e8c79053e02460e880ec36f1d64763617b47e0a2f83d06caae86c27a', '023e4f4020ea03b0631b02cbb595631e6bbbd563f1fe9f1cf953b29ea8a2d26a85', '0332914fa7b8ca6083139bb969650c26b092fe9990ef188daada9e4049bef58899' ], latestBlockhash: '0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186' } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.953Z] [DEBUG] [core] Handshake with https://15.235.83.220:7470 returned keys: { serverPubKey: '', subnetPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKeySet: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', hdRootPubkeys: [ '03ab0ccc2dc8a3d9c2de9a7421b171475a09e60cb546fe446a9d0c3aadb8f639ae', '03b6300abf338b504b7b49eb83b59554d12232b9f390f6bb5bf06150b812678b53', '039911489c48624554fef51f37323053953def50ed3b40e69620d0a6bcb4ffdc2f', '034feeda3a7912131c980ae8b6376611dd5052d574979247d64da8bb1446e240d7', '023dd81dba4b89da5e4c3dec5da93ba0e1addc0eafbe03487450c42e28628570d1', '0346ac7da954f1b8ee891b79eb8cf45bafef62c85dffc1dc41e4b755bc0428689f', '0222be55763b2339daf0c149e5e6e927894e0667671de47a591fc24f38eef48cd3', '0313cce430e8c79053e02460e880ec36f1d64763617b47e0a2f83d06caae86c27a', '023e4f4020ea03b0631b02cbb595631e6bbbd563f1fe9f1cf953b29ea8a2d26a85', '0332914fa7b8ca6083139bb969650c26b092fe9990ef188daada9e4049bef58899' ], latestBlockhash: '0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186' } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.955Z] [DEBUG] [core] Handshake with https://15.235.83.220:7471 returned keys: { serverPubKey: '', subnetPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKeySet: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', hdRootPubkeys: [ '03ab0ccc2dc8a3d9c2de9a7421b171475a09e60cb546fe446a9d0c3aadb8f639ae', '03b6300abf338b504b7b49eb83b59554d12232b9f390f6bb5bf06150b812678b53', '039911489c48624554fef51f37323053953def50ed3b40e69620d0a6bcb4ffdc2f', '034feeda3a7912131c980ae8b6376611dd5052d574979247d64da8bb1446e240d7', '023dd81dba4b89da5e4c3dec5da93ba0e1addc0eafbe03487450c42e28628570d1', '0346ac7da954f1b8ee891b79eb8cf45bafef62c85dffc1dc41e4b755bc0428689f', '0222be55763b2339daf0c149e5e6e927894e0667671de47a591fc24f38eef48cd3', '0313cce430e8c79053e02460e880ec36f1d64763617b47e0a2f83d06caae86c27a', '023e4f4020ea03b0631b02cbb595631e6bbbd563f1fe9f1cf953b29ea8a2d26a85', '0332914fa7b8ca6083139bb969650c26b092fe9990ef188daada9e4049bef58899' ], latestBlockhash: '0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186' } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.966Z] [DEBUG] [core] listening for state change on staking contract: 0xD4507CD392Af2c80919219d7896508728f6A623F [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.969Z] [DEBUG] [core] πŸ”₯ lit is ready. "litNodeClient" variable is ready to use globally. [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:57.969Z] [DEBUG] [core] current network config { networkPubkey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', networkPubKeySet: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', hdRootPubkeys: [ '03ab0ccc2dc8a3d9c2de9a7421b171475a09e60cb546fe446a9d0c3aadb8f639ae', '03b6300abf338b504b7b49eb83b59554d12232b9f390f6bb5bf06150b812678b53', '039911489c48624554fef51f37323053953def50ed3b40e69620d0a6bcb4ffdc2f', '034feeda3a7912131c980ae8b6376611dd5052d574979247d64da8bb1446e240d7', '023dd81dba4b89da5e4c3dec5da93ba0e1addc0eafbe03487450c42e28628570d1', '0346ac7da954f1b8ee891b79eb8cf45bafef62c85dffc1dc41e4b755bc0428689f', '0222be55763b2339daf0c149e5e6e927894e0667671de47a591fc24f38eef48cd3', '0313cce430e8c79053e02460e880ec36f1d64763617b47e0a2f83d06caae86c27a', '023e4f4020ea03b0631b02cbb595631e6bbbd563f1fe9f1cf953b29ea8a2d26a85', '0332914fa7b8ca6083139bb969650c26b092fe9990ef188daada9e4049bef58899' ], subnetPubkey: '82b7ec4aac62a87aba55f6920862e021df37c445a075e72d87a64c3573aea67cfbb59a7be671e785fb3cb05d242cf2e6', latestBlockhash: '0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186' } βœ… Connected to Lit network πŸ”„ Getting EOA Session Sigs... ENCODED RESOURCE: MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA Storage key "lit-session-key" is missing. Not a problem. Contiune... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.028Z] [DEBUG] [core] [getSessionKey] Localstorage not available.Not a problem. Contiune... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.028Z] [DEBUG] [core] Blockhash is still valid. No need to sync. [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.028Z] [DEBUG] [core] getWalletSig - flow starts storageKey: lit-wallet-sig storedWalletSigOrError: {"type":"ERROR","result":{"message":"Failed to get lit-wallet-sig from local storage","errorKind":"Unexpected","errorCode":"LocalStorageItemNotFoundException"}} [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.028Z] [DEBUG] [core] getWalletSig - flow 1 Storage key "lit-wallet-sig" is missing. Not a problem. Continue... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.028Z] [DEBUG] [core] getWalletSig - flow 1.1 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.029Z] [DEBUG] [core] callback body: { chain: 'baseSepolia', statement: 'I further authorize the stated URI to perform the following actions on my behalf:', resources: [ 'urn:recap:eyJhdHQiOnt9LCJwcmYiOltdfQ' ], expiration: '2024-10-11T22:27:58.001Z', uri: 'lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', sessionKey: { publicKey: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', secretKey: '0b9042a68f1e7b8f37e0de7975197aa068871787338401c3aa19e5cf13f3516a44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8' }, nonce: '0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186', resourceAbilityRequests: [ { resource: [LitAccessControlConditionResource], ability: 'access-control-condition-decryption' } ] } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.044Z] [DEBUG] [core] getWalletSig - flow 1.3 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.044Z] [DEBUG] [core] getWalletSig - flow 1.4 Unable to store walletSig in local storage. Not a problem. Continue... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.045Z] [DEBUG] [core] getWalletSig - flow 3 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.099Z] [DEBUG] [core] signatures: { 'https://15.235.83.220:7472': { sig: 'ba62fd6c24292f1ed3e6e7c203ea352a9082d049293ef1431e94c312c30374d1c8277e4f215682ea3ba286bf19d14d36108e3420f63d7a23f0250cff7d1d0106', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7472"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' }, 'https://15.235.83.220:7470': { sig: '331bf76dc47f274d0021da598e50e0da6ee51a4328fab8095cf2699b22a7b0c6f74a8c71f06a15aa38898181b6d36631e4a93ac88aa1a2f3b9efff1855feaa04', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7470"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' }, 'https://15.235.83.220:7471': { sig: '7013dd6c9dcfa0619bed97de45ebfc83393203b84d39c4c48401743d723a3fb159df7c5e28b995c5de23eed99b187e07f81dfc9b70171456f4cb8310b9a74404', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7471"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' } } βœ… Got EOA Session Sigs πŸ”„ Decrypting to file... [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.100Z] [DEBUG] [core] Hashing evm contract conditions: [{"contractAddress":"0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686","functionName":"checkPermission","functionParams":[":litParam:fileHash",":userAddress"],"functionAbi":{"name":"checkPermission","inputs":[{"name":"fileIdentifier","type":"string"},{"name":"requestAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}],"constant":false,"stateMutability":"view"},"chain":"baseSepolia","returnValueTest":{"key":"","comparator":"=","value":"true"}}] [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.102Z] [DEBUG] [core] formattedEVMContractConditions [{"contractAddress":"0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686","functionName":"checkPermission","functionParams":[":litParam:fileHash",":userAddress"],"functionAbi":{"name":"checkPermission","inputs":[{"name":"fileIdentifier","type":"string"},{"name":"requestAddress","type":"address"}],"outputs":[{"name":"","type":"bool"}],"constant":false,"stateMutability":"view"},"chain":"baseSepolia","returnValueTest":{"key":"","comparator":"=","value":"true"}}] [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.102Z] [DEBUG] [core] identityParam lit-accesscontrolcondition://d9f9d023bf21a4b3627a04ef2b38d62b12aed545863953a5476de2bd68068824/01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130 [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.102Z] [DEBUG] [core] [id: 3c01037749fa6] sendCommandToNode with url https://15.235.83.220:7472/web/encryption/sign/ and data { accessControlConditions: undefined, evmContractConditions: [ { contractAddress: '0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686', functionName: 'checkPermission', functionParams: [Array], functionAbi: [Object], chain: 'baseSepolia', returnValueTest: [Object] } ], solRpcConditions: undefined, unifiedAccessControlConditions: undefined, dataToEncryptHash: '01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130', chain: 'baseSepolia', authSig: { sig: 'ba62fd6c24292f1ed3e6e7c203ea352a9082d049293ef1431e94c312c30374d1c8277e4f215682ea3ba286bf19d14d36108e3420f63d7a23f0250cff7d1d0106', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7472"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' }, epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.102Z] [DEBUG] [core] [id: 3c01037749fa6] sendCommandToNode with url https://15.235.83.220:7470/web/encryption/sign/ and data { accessControlConditions: undefined, evmContractConditions: [ { contractAddress: '0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686', functionName: 'checkPermission', functionParams: [Array], functionAbi: [Object], chain: 'baseSepolia', returnValueTest: [Object] } ], solRpcConditions: undefined, unifiedAccessControlConditions: undefined, dataToEncryptHash: '01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130', chain: 'baseSepolia', authSig: { sig: '331bf76dc47f274d0021da598e50e0da6ee51a4328fab8095cf2699b22a7b0c6f74a8c71f06a15aa38898181b6d36631e4a93ac88aa1a2f3b9efff1855feaa04', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7470"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' }, epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.103Z] [DEBUG] [core] [id: 3c01037749fa6] sendCommandToNode with url https://15.235.83.220:7471/web/encryption/sign/ and data { accessControlConditions: undefined, evmContractConditions: [ { contractAddress: '0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686', functionName: 'checkPermission', functionParams: [Array], functionAbi: [Object], chain: 'baseSepolia', returnValueTest: [Object] } ], solRpcConditions: undefined, unifiedAccessControlConditions: undefined, dataToEncryptHash: '01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130', chain: 'baseSepolia', authSig: { sig: '7013dd6c9dcfa0619bed97de45ebfc83393203b84d39c4c48401743d723a3fb159df7c5e28b995c5de23eed99b187e07f81dfc9b70171456f4cb8310b9a74404', derivedVia: 'litSessionSignViaNacl', signedMessage: `{"sessionKey":"44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8","resourceAbilityRequests":[{"resource":{"resource":"litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA","resourcePrefix":"lit-accesscontrolcondition"},"ability":"access-control-condition-decryption"}],"capabilities":[{"sig":"0x22716780b7850948637a8f86ff9a46698e631f810cce49ce48c2fc0fc0a36d5e139eb45cb159f28452b2a7be6b06336edefc9bb790437acbd3417c884ad8f31b1c","derivedVia":"web3.eth.personal.sign","signedMessage":"localhost wants you to sign in with your Ethereum account:\\n0x21c0d9980417b4BaA894742734153Fd1b048025a\\n\\nThis is a test statement. You can put anything you want here. I further authorize the stated URI to perform the following actions on my behalf: (1) 'Threshold': 'Decryption' for 'lit-accesscontrolcondition://litParam:fileHash:MDE2NzE3MzFjOGIzMzc4N2QwNDc4YTZjMzQyMTFkOTEzZDcyY2ZlM2U1YzA5MGRmMjA3MDE4MWU0NTZhMzEzMA'.\\n\\nURI: lit:session:44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8\\nVersion: 1\\nChain ID: 1\\nNonce: 0xa708bcdd79df55a5139aed779ce332a9cda6b153dd231b8e3a936495ef206186\\nIssued At: 2024-10-10T22:27:58.032Z\\nExpiration Time: 2024-10-11T22:27:58.001Z\\nResources:\\n- urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly9saXRQYXJhbTpmaWxlSGFzaDpNREUyTnpFM016RmpPR0l6TXpjNE4yUXdORGM0WVRaak16UXlNVEZrT1RFelpEY3lZMlpsTTJVMVl6QTVNR1JtTWpBM01ERTRNV1UwTlRaaE16RXpNQSI6eyJUaHJlc2hvbGQvRGVjcnlwdGlvbiI6W3t9XX19LCJwcmYiOltdfQ","address":"0x21c0d9980417b4BaA894742734153Fd1b048025a"}],"issuedAt":"2024-10-10T22:27:58.074Z","expiration":"2024-10-11T22:27:58.001Z","nodeAddress":"https://15.235.83.220:7471"}`, address: '44fb08105333ac46eac8ed4162ad8556c57be4bb3ee02552ec0637931d9277d8', algo: 'ed25519' }, epoch: 16850 } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.369Z] [ERROR] [core] [id: 3c01037749fa6] Something went wrong, internal id for request: lit_3c01037749fa6. Please provide this identifier with any support requests. Error is Error related to a blockchain or its contract - RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None } [Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.389Z] [ERROR] [core] [id: 3c01037749fa6] most common error: {"errorKind":"Blockchain","errorCode":"NodeBlockchainError","status":502,"message":"Error related to a blockchain or its contract","correlationId":"lit_3c01037749fa6","details":["RPC error: Error { code: ServerError(-32000), message: \"execution reverted\", data: None }"]} errConstructorFunc { message: 'Error related to a blockchain or its contract', errorCode: 'NodeBlockchainError', errorKind: 'Blockchain', status: 502, details: [ 'RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None }' ], requestId: '3c01037749fa6' } ```

Request error message:

[Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.369Z] [ERROR] [core] [id: 3c01037749fa6] Something went wrong, internal id for request: lit_3c01037749fa6. Please provide this identifier with any support requests. Error is Error related to a blockchain or its contract - RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None }
[Lit-JS-SDK v6.5.0] [2024-10-10T22:27:58.389Z] [ERROR] [core] [id: 3c01037749fa6] most common error: {"errorKind":"Blockchain","errorCode":"NodeBlockchainError","status":502,"message":"Error related to a blockchain or its contract","correlationId":"lit_3c01037749fa6","details":["RPC error: Error { code: ServerError(-32000), message: \"execution reverted\", data: None }"]}
errConstructorFunc {
  message: 'Error related to a blockchain or its contract',
  errorCode: 'NodeBlockchainError',
  errorKind: 'Blockchain',
  status: 502,
  details: [
    'RPC error: Error { code: ServerError(-32000), message: "execution reverted", data: None }'
  ],
  requestId: '3c01037749fa6'
}
zach-is-my-name commented 2 hours ago

Hey FYI that code isn't publicly reachable (gives me 404 like it's a private repo):

You can find my example code here:

https://github.com/serdave-eth/lit-cli-debug/blob/frontend-dev-changes/src/decryptFileSiweParam.ts

Also maybe wrap your output so the issue is easier to navigate πŸ™‚

<details>
  <summary>Click to reveal more details</summary>

  This text will be hidden until the summary is clicked. You can write anything here, including more Markdown.

  - List item 1
  - List item 2

  **Bold text** or *italic text* works too!

</details>
spacesailor24 commented 2 hours ago

Hey there, we can try to debug this further, but judging by the error:

Error related to a blockchain or its contract

at the Lit node logs for your request:

Handling API error {
    "error": {
        "pkg": "lit_node",
        "kind": "Blockchain",
        "code": "NodeBlockchainError",
        "msg": "Error making RPC Call",
        "source": "Rpc(Error { code: ServerError(-32000), message: \"execution reverted\", data: None })",
        "caller": {
            "file": "src/access_control/mod.rs:107:13"
        }
    },
    "correlation_id": "lit_3c01037749fa6",
    "lit_sdk_version": "6.5.0"
}

it looks like the request is failing because the contract call is reverting. If you make the same RPC call you're asking Lit to make directly to your RPC URL, is it successful?

serdave-eth commented 2 hours ago

Sorry forgot the repo is private! Attached are the key files: Lit Example.zip

If I run the contract call it returns true:

https://sepolia.basescan.org/address/0x5f92Cf56559Fdaa0892a92Ab7d22007791b82686#readContract

Try running checkPermission with these inputs: 01671731c8b33787d0478a6c34211d913d72cfe3e5c090df2070181e456a3130, 0x21c0d9980417b4BaA894742734153Fd1b048025a

But I'm not sure if the inputs are being passed correctly when I'm passing one of them through the SIWE message. Is there a way to check that?