Deploying TL Contracts
Deploy a TL Creator Contract, TRACE Contract, or BlockListRegistry from any dApp using our Universal Deployer contract factory.
Last updated
# omitted imports and creating a contract
# for more, visit https://web3py.readthedocs.io/en/stable/quickstart.html
contract_address = "" # can use any address
erc721tl_abi = '' # can get from etherscan
contract = web3.eth.contract(address=contract_address, abi=erc721tl_abi)
init_code = contract.encodeABI(
fn_name="initialize",
args=[
"Test 721",
"T721",
"personalization",
"0x0000000000000000000000000000000000C0FFEE",
1000,
"0x0000000000000000000000000000000000C0FFEE",
[],
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000"
]
)
print(init_code)// see more here: https://web3js.readthedocs.io/en/v1.10.0/web3-eth-contract.html#methods-mymethod-encodeabi
console.log(contract.methods.initialize(
"Test 721",
"T721",
"personalization",
"0x0000000000000000000000000000000000C0FFEE",
1000,
"0x0000000000000000000000000000000000C0FFEE",
[],
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000"
).encodeABI());// see more here: https://docs.ethers.org/v5/api/utils/abi/interface/#Interface--encoding
import { ethers } from "ethers";
const iFace = new ethers.utils.Interface([
"function initialize(string,string,string,address,uint256,address,address[],bool,address,address)"
]);
console.log(iFace.encodeFunctionData("initialize", [
"Test 721",
"T721",
"personalization",
"0x0000000000000000000000000000000000C0FFEE",
1000,
"0x0000000000000000000000000000000000C0FFEE",
[],
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000"
]);// see more here: https://viem.sh/docs/contract/encodeFunctionData
import { parseAbi, encodeFunctionData } from 'viem';
const abi = parseAbi([
"function initialize(string,string,string,address,uint256,address,address[],bool,address,address)"
]);
const initCode = encodeFunctionData({
abi,
functionName: "initialize",
args: [
"Test 721",
"T721",
"personalization",
"0x0000000000000000000000000000000000C0FFEE",
BigInt(1000),
"0x0000000000000000000000000000000000C0FFEE",
[],
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000"
]
});
console.log(initCode);cast calldata "initialize(string,string,string,address,uint256,address,address[],bool,address,address)" "Test 721" "T721" "personalization" 0x0000000000000000000000000000000000C0FFEE 1000 0x0000000000000000000000000000000000C0FFEE "[]" true 0x0000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000