I have the following task. I have a contract, which I don't have the source code for, so what I have is the contract's function selector: 0xddc24be3. The function accepts a uint256 as an argument. When I make the call to the function through web3 lib, I need to encode the given integer and append it in the data field along with the function selector. Question is how do I encode it correctly, using JS/ts-node?

1 Answer 1

const Web3 = require("web3");
const web3 = new Web3(); // You can also pass a provider URL here

// Your uint256 value
const uintValue = "10";

// Encode the uint256 value
const encodedValue = web3.eth.abi.encodeParameter("uint256", uintValue);

console.log("Encoded Value:", encodedValue);
const prex = "0xddc24be3";

const postx = prex + encodedValue.substring(2);

console.log("Postx:", postx);

Encoded Value: 0x000000000000000000000000000000000000000000000000000000000000000a

Postx: 0xddc24be3000000000000000000000000000000000000000000000000000000000000000a

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.