hashAuthorization
Computes an Authorization hash in EIP-7702 format
Loading...
Computes an Authorization hash in EIP-7702 format
Computes an Authorization hash in EIP-7702 format: keccak256('0x05' || rlp([chain_id, address, nonce])).
import "github.com/ChefBingbong/viem-go/utils/authorization"import "github.com/ChefBingbong/viem-go/utils/authorization"
hash, err := authorization.HashAuthorization(authorization.HashAuthorizationParameters{ AuthorizationRequest: authorization.AuthorizationRequest{ Address: "0x1234567890123456789012345678901234567890", ChainId: 1, Nonce: 0, },})if err != nil { log.Fatal(err)}fmt.Printf("Hash: %s", hash)// Hash: 0x...
// Get hash as byteshashBytes, err := authorization.HashAuthorizationBytes(authorization.AuthorizationRequest{ Address: "0x1234567890123456789012345678901234567890", ChainId: 1, Nonce: 0,})if err != nil { log.Fatal(err)}(string, error) for HashAuthorization/HashAuthorizationHex, ([]byte, error) for HashAuthorizationBytesThe authorization hash. HashAuthorization/HashAuthorizationHex returns a hex string with 0x prefix, HashAuthorizationBytes returns raw bytes.
authorization.HashAuthorizationParametersParameters for hashing an authorization.
params := authorization.HashAuthorizationParameters{ AuthorizationRequest: authorization.AuthorizationRequest{ Address: "0x1234567890123456789012345678901234567890", ChainId: 1, Nonce: 0, },}
hash, _ := authorization.HashAuthorization(params)authorization.AuthorizationRequestThe authorization request containing address, chain ID, and nonce.
authRequest := authorization.AuthorizationRequest{ Address: "0x1234567890123456789012345678901234567890", ChainId: 1, Nonce: 0,}
params := authorization.HashAuthorizationParameters{ AuthorizationRequest: authRequest,}stringThe contract address being authorized. Can also use ContractAddress for compatibility.
authRequest := authorization.AuthorizationRequest{ Address: "0x1234567890123456789012345678901234567890", // ...}intThe chain ID for this authorization.
authRequest := authorization.AuthorizationRequest{ ChainId: 1, // ...}intThe account nonce for this authorization.
authRequest := authorization.AuthorizationRequest{ Nonce: 0, // ...}Computes the authorization hash:
hash, _ := authorization.HashAuthorization(params)
Computes the authorization hash and returns a hex string:
hash, _ := authorization.HashAuthorizationHex(authRequest)
Computes the authorization hash and returns bytes:
hashBytes, _ := authorization.HashAuthorizationBytes(authRequest)
The authorization hash is computed as:
keccak256('0x05' || rlp([chain_id, address, nonce]))
Where:
0x05 is the EIP-7702 magic byte