The validateContractCall() function seems important, but I am not 100% clear on what gets validated and what my own contract code needs to do in terms of further validation to ensure that the message is legit and originated from "allowed" contract(s) on the source chain. I know other GMP services require you to register an "allowlist" of contract addresses, etc. -- what is the approach with Axelar?
Thank You
What Does The Axelar Function ValidateContractCall() Do?
116 Views Asked by benjamin852 At
1
There are 1 best solutions below
Related Questions in ETHEREUM
- Automatic Transfer of Token in Solidity Contract
- Not able to create accounts for Private Ethereum Blockchain using Geth and Web3 API
- Deploying Ethereum Private Network
- Uncaught ReferenceError: web3 is not defined at window.onload
- Does the "holy trinity" (Ethereum, Swarm and Whisper) support multimedia streaming?
- How to accurately measure the effort required to reduce a λ-term?
- Q: How do I add nicehash support to open-ethereum-pool for musicoin
- eth_SendTransaction - Unknown Account
- solidity - get return value of delegatecall with assembly
- Link Javascript to Solidity?
- Can I configure my truffle project to use an .ipc endpoint file instead of an ethereum RPC listener?
- Can we use mysql with ethereum?
- Monitoring Ethereum private network
- Is Ethereum wallet to wallet token exchange possible?
- How do display all the events logs from a smart contract?
Related Questions in BLOCKCHAIN
- Blockchain receive API with same address
- panic: runtime error: invalid memory address or nil pointer dereference when running Blockchainr
- Cannot "Query" hyperledger-fabric, error code -32003
- Why is transactions not always record to the block? - Blockchain PBFT
- Hyperledger on Bluemix: Failed to launch chaincode spec(Could not get deployment transaction
- Connect to Multichain network using aws EC2
- Deploying Ethereum Private Network
- Does the "holy trinity" (Ethereum, Swarm and Whisper) support multimedia streaming?
- Hyperledger Fabric v0.6 using Docker Toolbox
- What is the ibm bluemix blockchain port for events?
- Unable to deploy Hyperledger Java chaincode via Github
- How to accurately measure the effort required to reduce a λ-term?
- IBM Blockchain (Hyperledger) - "Error when deploying chaincode"
- Transaction via Blockchain API using Multiple recipients
- Computing acoustic fingerprint in a distributed manner without exposing the whole file to any participant
Related Questions in AXELAR
- GMP Transaction Stuck at Approving Stage
- Getting 400 types.DepositStateRequest on AxelarTest Api
- Axelar Transaction mined but execution failed on CallContractWithToken
- Message Passing from Polygon To Bnb With Axelar
- Post 400 Error When Trying To Generate DepositAddress
- Estimate gas from within smart contract
- Mechanisms of Interaction Between Different Networks with Axelar
- Unhandled Runtime Error On Axelar Examples
- Axelar "Transaction Underpriced" Error On Token Deployment For BSC
- What Does The Axelar Function ValidateContractCall() Do?
- How to predict gas on source chain, in the contract itself with Axelar?
- Is there a Specific Axelar Executor Address I can Whitelist?
- How can I make an erc20votes token an interchain token using axelar?
- Minting of Fantom token with Hardhat fails
- High Gas Fees Across Many Testnets
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
What is getting validated here is that the execution of the function is coming from the Axelar network. The Axelar validator set owns the key which controls the Gateway contract on each chain it's deployed on.
This key is generated by many "key shares". Each validator controls a given amount of key shares based on how much AXL they have staked. Transactions are confirmed after a vote by the validators. Only after a successful consensus by the validator set the Gateway contract is executed by this key.
The validateContractCall() is making sure that the key triggering the function is, in fact coming from the Axelar validator set after completing the above process.
Worth noting that in the actual definition of this function:
We pass in the
sourceChainandsourceAddressmanually, so it is also worth validating that the call is coming from the correct source chain and source contract address in addition to validating that the call is coming from the Axelar network.Here are some good resources if you want to read up more on this!