Skip to content

authorizationExpiryCall

authorizationExpiryCall(options): object

Defined in: packages/synapse-core/src/session-key/authorization-expiry.ts:139

Create a call to the authorizationExpiry function

This function is used to create a call to the authorizationExpiry function for use with the multicall or readContract function.

ParameterTypeDescription
options{ address: `0x${string}`; chain: Chain; contractAddress?: `0x${string}`; permission: SessionKeyPermissions; sessionKeyAddress: `0x${string}`; }authorizationExpiryCall.OptionsType
options.address`0x${string}`The address of the user account.
options.chainChainThe chain to use to get the authorization expiry.
options.contractAddress?`0x${string}`Session key registry contract address. If not provided, the default is the session key registry contract address for the chain.
options.permissionSessionKeyPermissionsThe session key permission.
options.sessionKeyAddress`0x${string}`The address of the session key.

object

The call to the authorizationExpiry function authorizationExpiryCall.OutputType

abi: readonly [{ inputs: readonly [{ internalType: "address"; name: "user"; type: "address"; }, { internalType: "address"; name: "signer"; type: "address"; }, { internalType: "bytes32"; name: "permission"; type: "bytes32"; }]; name: "authorizationExpiry"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "signer"; type: "address"; }, { internalType: "uint256"; name: "expiry"; type: "uint256"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }, { internalType: "string"; name: "origin"; type: "string"; }]; name: "login"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ internalType: "address payable"; name: "signer"; type: "address"; }, { internalType: "uint256"; name: "expiry"; type: "uint256"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }, { internalType: "string"; name: "origin"; type: "string"; }]; name: "loginAndFund"; outputs: readonly []; stateMutability: "payable"; type: "function"; }, { inputs: readonly [{ internalType: "address"; name: "signer"; type: "address"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }, { internalType: "string"; name: "origin"; type: "string"; }]; name: "revoke"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "identity"; type: "address"; }, { indexed: false; internalType: "address"; name: "signer"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "expiry"; type: "uint256"; }, { indexed: false; internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }, { indexed: false; internalType: "string"; name: "origin"; type: "string"; }]; name: "AuthorizationsUpdated"; type: "event"; }] = chain.contracts.sessionKeyRegistry.abi

address: `0x${string}`

args: [`0x${string}`, `0x${string}`, `0x${string}`]

functionName: "authorizationExpiry" = 'authorizationExpiry'

Errors authorizationExpiryCall.ErrorType

import { authorizationExpiryCall } from '@filoz/synapse-core/session-key'
import { createPublicClient, http } from 'viem'
import { multicall } from 'viem/actions'
import { calibration } from '@filoz/synapse-core/chains'
const client = createPublicClient({
chain: calibration,
transport: http(),
})
const results = await multicall(client, {
contracts: [
authorizationExpiryCall({
chain: calibration,
address: '0x1234567890123456789012345678901234567890',
sessionKeyAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
permission: 'CreateDataSet',
}),
],
})
console.log(results[0])