Skip to content

Latest commit

 

History

History
 
 

hts-precompile

HTS Precompile methods

The following table highlights the coded HTS precompile methods and their availability in the Hedera network exposed via the 0x167 address.

Function Name hash Consensus Node Release Version HIP Method Interface Comments
allowance 0x927da105 0.26 HIP 514 allowance(address token, address owner, address spender)
allowance 0xdd62ed3e 0.26 HIP 376 allowance(address owner, address spender) ERC allowance
approve 0xe1f21c67 0.26 HIP 514 approve(address token, address to, uint256 tokenId)
approve 0x95ea7b3 0.26 HIP 376 approve(address to, uint256 tokenId) ERC approve
approveNFT 0x7336aaf0 0.28 HIP 514 approveNFT(address token, address to, uint256 tokenId)
associateToken 0x49146bde 0.22 HIP 206 associateToken(address account, address token)
associateTokens 0x2e63879b 0.22 HIP 206 associateTokens(address account, address[] memory tokens)
burnToken 0xacb9cff9 0.22 HIP 206 burnToken(address token, uint64 amount, int64[] memory serialNumbers)
burnToken 0xd6910d06 0.32 HIP 206 burnToken(address token, int64 amount, int64[] memory serialNumbers) v2. Update amount int64
createFungibleToken 0x7812a04b 0.25 HIP 358 createFungibleToken(HederaToken memory token, uint initialTotalSupply, uint decimals)
createFungibleToken 0xc23baeb6 0.30 HIP 358 createFungibleToken(HederaToken memory token, uint64 initialTotalSupply, uint32 decimals) v2. Update initialTotalSupply to uint64 and decimals to uint32
createFungibleToken 0x0fb65bf3 0.32 HIP 358 createFungibleToken(HederaToken memory token, int64 initialTotalSupply, int32 decimals) v3. Update initialTotalSupply to int64 and decimals to int32
createFungibleTokenWithCustomFees 0x4c381ae7 0.25 HIP 358 createFungibleTokenWithCustomFees(HederaToken memory token, uint initialTotalSupply, uint decimals, FixedFee[] memory fixedFees, FractionalFee[] memory fractionalFees)
createFungibleTokenWithCustomFees 0xb937581a 0.25 HIP 358 createFungibleTokenWithCustomFees(HederaToken memory token, uint64 initialTotalSupply, uint32 decimals, FixedFee[] memory fixedFees, FractionalFee[] memory fractionalFees) v2.
createFungibleTokenWithCustomFees 0x2af0c59a 0.30 HIP 358 createFungibleTokenWithCustomFees(HederaToken memory token, int64 initialTotalSupply, int32 decimals, FixedFee[] memory fixedFees, FractionalFee[] memory fractionalFees) v3.
createNonFungibleToken 0x9dc711e0 0.32 HIP 358 createNonFungibleToken(HederaToken memory token)
createNonFungibleToken 0x9c89bb35 0.25 HIP 358 createNonFungibleToken(HederaToken memory token) v2. HederaToken field maxSupply updated to int64
createNonFungibleToken 0xea83f293 0.25 HIP 358 createNonFungibleToken(HederaToken memory token) v3.
createNonFungibleTokenWithCustomFees 0x5bc7c0e6 0.25 HIP 358 createNonFungibleTokenWithCustomFees(HederaToken memory token, FixedFee[] memory fixedFees, RoyaltyFee[] memory royaltyFees)
createNonFungibleTokenWithCustomFees 0x45733969 0.30 HIP 358 createNonFungibleTokenWithCustomFees(HederaToken memory token, FixedFee[] memory fixedFees, RoyaltyFee[] memory royaltyFees) v2.
createNonFungibleTokenWithCustomFees 0xabb54eb5 0.32 HIP 358 createNonFungibleTokenWithCustomFees(HederaToken memory token, FixedFee[] memory fixedFees, RoyaltyFee[] memory royaltyFees) v3.
cryptoTransfer 0x189a554c 0.22 HIP 206 cryptoTransfer(TokenTransferList[] memory tokenTransfers)
cryptoTransfer 0x0e71804f Unreleased HIP 206 cryptoTransfer(TransferList memory transferList, TokenTransferList[] memory tokenTransfers) external returns (int64 responseCode) v2. Atomic transfers
deleteToken 0xf069f712 0.29 HIP 514 deleteToken(address token)
dissociateToken 0x099794e8 0.22 HIP 206 dissociateToken(address account, address token)
dissociateTokens 0x78b63918 0.22 HIP 206 dissociateTokens(address account, address[] memory tokens)
freezeToken 0x5b8f8584 0.29 HIP 514 freezeToken(address token, address account)
getApproved 0x081812fc 0.26 HIP 376 getApproved(uint256 tokenId) ERC
getApproved 0x098f2366 0.26 HIP 376 getApproved(address token, uint256 tokenId)
getFungibleTokenInfo 0x3f28a19b 0.29 HIP 514 getFungibleTokenInfo(address token)
getNonFungibleTokenInfo 0x287e1da8 0.29 HIP 514 getNonFungibleTokenInfo(address token, int64 serialNumber)
getTokenCustomFees 0xae7611a0 0.29 HIP 514 getTokenCustomFees(address token)
getTokenDefaultFreezeStatus 0xa7daa18d 0.29 HIP 514 getTokenDefaultFreezeStatus(address token)
getTokenDefaultKycStatus 0x335e04c1 0.29 HIP 514 getTokenDefaultKycStatus(address token)
getTokenExpiryInfo 0xd614cdb8 0.30 HIP 514 getTokenExpiryInfo(address token)
getTokenInfo 0x1f69565f 0.29 HIP 514 getTokenInfo(address token)
getTokenKey 0x3c4dd32e 0.30 HIP 514 getTokenKey(address token, uint256 keyType)
getTokenType 0x93272baf 0.30 HIP 514 getTokenType(address token)
grantTokenKyc 0x8f8d7f99 0.29 HIP 514 grantTokenKyc(address token, address account)
isApprovedForAll 0xf49f40db 0.26 HIP 376 isApprovedForAll(address token, address owner, address operator) ERC
isApprovedForAll 0xe985e9c5 0.26 HIP 376 isApprovedForAll(address token, address owner, address operator)
isFrozen 0x46de0fb1 0.29 HIP 514 isFrozen(address token, address account)
isKyc 0xf2c31ff4 0.29 HIP 514 isKyc(address token, address account)
isToken 0x19f37361 0.30 HIP 514 isToken(address token)
mintToken 0x278e0b88 0.22 HIP 206 mintToken(address token, uint64 amount, bytes[] memory metadata)
mintToken 0xe0f4059a 0.32 HIP 206 mintToken(address token, int64 amount, bytes[] memory metadata) v2. Update amount to int64
redirectForToken 0x618dc65e 0.30 HIP 218 redirectForToken(address token, bytes memory data)
revokeTokenKyc 0xaf99c633 0.29 HIP 514 revokeTokenKyc(address token, address account)
setApprovalForAll 0xa22cb465 0.26 HIP 376 setApprovalForAll(address operator, bool approved) ERC
setApprovalForAll 0x367605ca 0.26 HIP 376 setApprovalForAll(address token, address operator, bool approved)
transferFrom 0x23b872dd 0.26 HIP 376 transferFrom(address from, address to, uint256 tokenId) ERC
transferFrom 0x15dacbea 0.26 HIP 376 transferFrom(address token, address from, address to, uint256 tokenId)
transferFromNFT 0x9b23d3d9 0.26 HIP 376 transferFromNFT(address token, address from, address to, uint256 serialNumber)
transferNFT 0x5cfc9011 0.22 HIP 206 transferNFT(address token, address sender, address recipient, int64 serialNum)
transferNFTs 0x2c4ba191 0.22 HIP 206 transferNFTs(address token, address[] memory sender, address[] memory receiver, int64[] memory serialNumber)
transferToken 0xeca36917 0.22 HIP 206 transferToken(address token, address sender, address recipient, int64 amount)
transferTokens 0x82bba493 0.22 HIP 206 transferTokens(address token, address[] memory accountId, int64[] memory amount)
unfreezeToken 0x52f91387 0.29 HIP 514 unfreezeToken(address token, address account)
unpauseToken 0x3b3bff0f 0.29 HIP 514 unpauseToken(address token)
updateTokenExpiryInfo 0x593d6e82 0.30 HIP 514 updateTokenExpiryInfo(address token, Expiry expiry)
updateTokenExpiryInfo 0xd27be6cd 0.32 HIP 514 updateTokenExpiryInfo(address token, Expiry expiry) v2.
updateTokenInfo 0x2cccc36f 0.30 HIP 514 updateTokenInfo(address token, HederaToken hederaToken)
updateTokenInfo 0x18370d34 0.30 HIP 514 updateTokenInfo(address token, HederaToken hederaToken) v2.
updateTokenInfo 0x7d305cfa 0.32 HIP 514 updateTokenInfo(address token, HederaToken hederaToken) v3.
updateTokenKeys 0x6fc3cbaf 0.30 HIP 514 updateTokenKeys(address token, Expiry expiry)
wipeTokenAccount 0x9790686d 0.29 HIP 514 wipeTokenAccount(address token, address account, uint32 amount)
wipeTokenAccount 0xefef57f9 0.32 HIP 514 wipeTokenAccount(address token, address account, int64 amount) v2. Update amount to int64
wipeTokenAccountNFT 0xf7f38e26 0.29 HIP 514 wipeTokenAccountNFT(address token, address account, int64[] serialNumbers)