# Variable: PRECOMPILE\_ABI

> `const` **PRECOMPILE\_ABI**: readonly \[\{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"transferTokens"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setIncomingApproval"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setOutgoingApproval"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getCollection"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"collection"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getBalance"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"balance"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getAddressList"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"list"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getApprovalTracker"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"tracker"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getChallengeTracker"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"numUsed"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getETHSignatureTracker"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"numUsed"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getDynamicStore"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"store"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getDynamicStoreValue"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"value"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getWrappableBalances"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"amount"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"isAddressReservedProtocol"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"isReserved"`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getAllReservedProtocolAddresses"`; `outputs`: readonly \[\{ `internalType`: `"address[]"`; `name`: `"addresses"`; `type`: `"address[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getVote"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"vote"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getVotes"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"votes"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"params"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"params"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getBalanceAmount"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"amount"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"getTotalSupply"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"amount"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"deleteCollection"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"deleteIncomingApproval"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"deleteOutgoingApproval"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"createDynamicStore"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"storeId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"updateDynamicStore"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"deleteDynamicStore"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setDynamicStoreValue"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setCustomData"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setIsArchived"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setManager"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setCollectionMetadata"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setStandards"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"castVote"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"createCollection"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"updateCollection"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"updateUserApprovals"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"createAddressLists"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"purgeApprovals"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"numPurged"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setValidTokenIds"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setTokenMetadata"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"setCollectionApprovals"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `name`: `"universalUpdateCollection"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"collectionId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"string"`; `name`: `"messageType"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"msgJson"`; `type`: `"string"`; \}\]; `internalType`: `"(string,string)[]"`; `name`: `"messages"`; `type`: `"tuple[]"`; \}\]; `name`: `"executeMultiple"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"success"`; `type`: `"bool"`; \}\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}\] = `precompileAbi.abi`

Defined in: [packages/bitbadgesjs-sdk/src/transactions/precompile/abi.ts:70](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/transactions/precompile/abi.ts#L70)

Precompile ABI (Application Binary Interface)

This ABI defines all available functions on the tokenization precompile.
All transaction methods accept a single `string msgJson` parameter.
Query methods are included but not used (we use Cosmos queries instead).
