Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/Transaction / Authorization

Authorization

Classes

Authorization

Defined in: src/primitives/Transaction/Authorization/Authorization.js:42 Factory function for creating Authorization instances.

See

https://voltaire.tevm.sh/primitives/transaction for Transaction documentation

Since

0.0.0

Param

Authorization parameters

Throws

Never throws

Example

import { Authorization } from './primitives/Transaction/Authorization/Authorization.js';
const auth = Authorization({
  chainId: 1n,
  address: addr,
  nonce: 0n,
  yParity: 0,
  r: new Uint8Array(32),
  s: new Uint8Array(32)
});
const hash = Authorization.getSigningHash(auth);

Constructors

Constructor
new Authorization(auth): Authorization
Defined in: src/primitives/Transaction/Authorization/Authorization.js:42 Factory function for creating Authorization instances.
Parameters
auth
Authorization parameters
address
AddressType
chainId
bigint
nonce
bigint
r
Uint8Array
s
Uint8Array
yParity
number
Returns
Authorization Authorization instance
See
https://voltaire.tevm.sh/primitives/transaction for Transaction documentation
Since
0.0.0
Throws
Never throws
Example
import { Authorization } from './primitives/Transaction/Authorization/Authorization.js';
const auth = Authorization({
  chainId: 1n,
  address: addr,
  nonce: 0n,
  yParity: 0,
  r: new Uint8Array(32),
  s: new Uint8Array(32)
});
const hash = Authorization.getSigningHash(auth);

Properties

getAuthorizer()
getAuthorizer: (…args) => any
Defined in: src/primitives/Transaction/Authorization/Authorization.js:61
Parameters
args
…[any, ...argArray: any[]]
Returns
any
getSigningHash()
getSigningHash: (…args) => any
Defined in: src/primitives/Transaction/Authorization/Authorization.js:57
Parameters
args
…[any, ...argArray: any[]]
Returns
any
verifySignature()
verifySignature: (…args) => any
Defined in: src/primitives/Transaction/Authorization/Authorization.js:59
Parameters
args
…[any, ...argArray: any[]]
Returns
any
getAuthorizer()
static getAuthorizer: (auth) => AddressType
Defined in: src/primitives/Transaction/Authorization/Authorization.js:55 Get authorizing address from signature. Recovers the Ethereum address that signed the authorization using the signature components (r, s, yParity) and the signing hash.
Parameters
auth
BrandedAuthorization Authorization to recover from
Returns
AddressType Recovered authorizer address
See
https://voltaire.tevm.sh/primitives/transaction for Transaction documentation
Since
0.0.0
Throws
If signature recovery fails
Example
import { getAuthorizer } from './primitives/Transaction/Authorization/getAuthorizer.js';
const authorizerAddr = getAuthorizer(auth);
getSigningHash()
static getSigningHash: (auth) => HashType
Defined in: src/primitives/Transaction/Authorization/Authorization.js:53 Get signing hash for authorization (EIP-7702). Per EIP-7702: keccak256(MAGIC || rlp([chain_id, address, nonce])) MAGIC = 0x05
Parameters
auth
BrandedAuthorization Authorization to hash
Returns
HashType Signing hash
See
https://voltaire.tevm.sh/primitives/transaction for Transaction documentation
Since
0.0.0
Throws
Never throws
Example
import { getSigningHash } from './primitives/Transaction/Authorization/getSigningHash.js';
const hash = getSigningHash(auth);
verifySignature()
static verifySignature: (auth) => boolean
Defined in: src/primitives/Transaction/Authorization/Authorization.js:54 Verify authorization signature. Validates that the signature (r, s, yParity) is valid for the authorization’s signing hash by recovering and verifying the public key.
Parameters
auth
BrandedAuthorization Authorization to verify
Returns
boolean True if signature is valid
See
https://voltaire.tevm.sh/primitives/transaction for Transaction documentation
Since
0.0.0
Throws
Never throws - returns false on error
Example
import { verifySignature } from './primitives/Transaction/Authorization/verifySignature.js';
const isValid = verifySignature(auth);

Type Aliases

BrandedAuthorization

BrandedAuthorization = object
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:7 Branded Authorization type for EIP-7702

Properties

[brand]
readonly [brand]: "Authorization"
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:8
address
address: AddressType
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:10
chainId
chainId: bigint
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:9
nonce
nonce: bigint
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:11
r
r: Uint8Array
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:13
s
s: Uint8Array
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:14
yParity
yParity: number
Defined in: src/primitives/Transaction/Authorization/BrandedAuthorization.d.ts:12

Functions

getAuthorizer()

getAuthorizer(auth): AddressType
Defined in: src/primitives/Transaction/Authorization/getAuthorizer.js:21 Get authorizing address from signature. Recovers the Ethereum address that signed the authorization using the signature components (r, s, yParity) and the signing hash.

Parameters

auth
BrandedAuthorization Authorization to recover from

Returns

AddressType Recovered authorizer address

See

https://voltaire.tevm.sh/primitives/transaction for Transaction documentation

Since

0.0.0

Throws

If signature recovery fails

Example

import { getAuthorizer } from './primitives/Transaction/Authorization/getAuthorizer.js';
const authorizerAddr = getAuthorizer(auth);

getSigningHash()

getSigningHash(auth): HashType
Defined in: src/primitives/Transaction/Authorization/getSigningHash.js:22 Get signing hash for authorization (EIP-7702). Per EIP-7702: keccak256(MAGIC || rlp([chain_id, address, nonce])) MAGIC = 0x05

Parameters

auth
BrandedAuthorization Authorization to hash

Returns

HashType Signing hash

See

https://voltaire.tevm.sh/primitives/transaction for Transaction documentation

Since

0.0.0

Throws

Never throws

Example

import { getSigningHash } from './primitives/Transaction/Authorization/getSigningHash.js';
const hash = getSigningHash(auth);

verifySignature()

verifySignature(auth): boolean
Defined in: src/primitives/Transaction/Authorization/verifySignature.js:22 Verify authorization signature. Validates that the signature (r, s, yParity) is valid for the authorization’s signing hash by recovering and verifying the public key.

Parameters

auth
BrandedAuthorization Authorization to verify

Returns

boolean True if signature is valid

See

https://voltaire.tevm.sh/primitives/transaction for Transaction documentation

Since

0.0.0

Throws

Never throws - returns false on error

Example

import { verifySignature } from './primitives/Transaction/Authorization/verifySignature.js';
const isValid = verifySignature(auth);