DestroyedBlackFunds (USDT) event signature and topic0
The topic0 of the DestroyedBlackFunds (USDT) event is 0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6, the keccak-256 hash of DestroyedBlackFunds(address,uint256); none of its arguments are indexed. A frozen address's balance destroyed by the token issuer (Tether).
Topics
- topic00x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6keccak256("DestroyedBlackFunds(address,uint256)")
Data
- data_blackListedUser (address), _balance (uint256)ABI-encoded, decoded with the ABI
Arguments and where they sit in the log
Indexed arguments travel as topics and can be filtered cheaply; the others are ABI-encoded together in the data.
| Name | Type | In the log |
|---|---|---|
| _blackListedUser | address | data |
| _balance | uint256 | data |
Solidity declaration
event DestroyedBlackFunds(address _blackListedUser, uint256 _balance);
Canonical signature
DestroyedBlackFunds(address,uint256)
topic0
0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6
Get an alert on DestroyedBlackFunds
Each rule opens with the contract and the conditions filled in. Sign in, pick your chat and click Create.
Contracts we list that emit DestroyedBlackFunds
Any other contract with the same signature emits a log with the same topic0.
Read DestroyedBlackFunds logs in code
The same filter in viem, ethers and plain JSON-RPC, and the Solidity that emits it. The address is Tether (USDT), a contract we list that emits it.
import { createPublicClient, http, parseAbiItem } from "viem"
import { mainnet } from "viem/chains"
const client = createPublicClient({ chain: mainnet, transport: http() })
const logs = await client.getLogs({
address: "0xdac17f958d2ee523a2206206994597c13d831ec7",
event: parseAbiItem("event DestroyedBlackFunds(address _blackListedUser, uint256 _balance)"),
fromBlock: "latest",
})
for (const log of logs) console.log(log.args) // { _blackListedUser, _balance }import { Interface, JsonRpcProvider } from "ethers"
const provider = new JsonRpcProvider(process.env.RPC_URL)
const iface = new Interface(["event DestroyedBlackFunds(address _blackListedUser, uint256 _balance)"])
const logs = await provider.getLogs({
address: "0xdac17f958d2ee523a2206206994597c13d831ec7",
topics: [iface.getEvent("DestroyedBlackFunds")!.topicHash],
})
for (const log of logs) console.log(iface.parseLog(log)?.args){
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getLogs",
"params": [
{
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"topics": [
"0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6"
],
"fromBlock": "latest"
}
]
}event DestroyedBlackFunds(address _blackListedUser, uint256 _balance);
// inside a function:
emit DestroyedBlackFunds(_blackListedUser, _balance);An example DestroyedBlackFunds log, encoded and decoded
Placeholder values, not a real transaction: how each argument is stored in the topics and the data, and what decoding gives back.
- topic0keccak256("DestroyedBlackFunds(address,uint256)")0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6
- data0x000000000000000000000000111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000007d0
- _blackListedUseraddress0x1111111111111111111111111111111111111111
- _balanceuint2562000
Frequently asked questions
What is the topic0 of the DestroyedBlackFunds (USDT) event?
0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6: the keccak-256 hash of DestroyedBlackFunds(address,uint256).
Which DestroyedBlackFunds (USDT) arguments are indexed?
None: _blackListedUser, _balance are ABI-encoded in the log's data, so a log can only be filtered by address and topic0.
How do I get an alert when a contract emits DestroyedBlackFunds (USDT)?
Open one of the ready-made rules on this page, or add any contract and pick DestroyedBlackFunds (USDT) from the event list. Conditions can be set on its arguments, and each alert names the contract and links to the transaction.
More event signatures and tools
Know the moment a contract emits it
The Beta plan is free: one wallet and one contract, no credit card.