Comments (1)
I think @dvilelaf has implemented a method which can help you parse the logs for events. Here is an example:
@classmethod
def get_transaction_transfer_logs( # type: ignore # pylint: disable=too-many-arguments,too-many-locals,unused-argument,arguments-differ
cls,
ledger_api: EthereumApi,
contract_address: str,
tx_hash: str,
target_address: Optional[str] = None,
) -> JSONLike:
"""
Get all transfer events derived from a transaction.
:param ledger_api: the ledger API object
:param contract_address: the address of the contract
:param tx_hash: the transaction hash
:param target_address: optional address to filter tranfer events to just those that affect it
:return: the verified status
"""
transfer_logs_data: Optional[JSONLike] = super(
UniswapV2ERC20Contract, cls
).get_transaction_transfer_logs( # type: ignore
ledger_api,
tx_hash,
target_address,
)
transfer_logs: List = []
if transfer_logs_data:
transfer_logs = cast(
List,
transfer_logs_data["logs"],
)
transfer_logs = [
{
"from": log["args"]["from"],
"to": log["args"]["to"],
"value": log["args"]["value"],
"token_address": log["address"],
}
for log in transfer_logs
]
if target_address:
transfer_logs = list(
filter(
lambda log: target_address in (log["from"], log["to"]), # type: ignore
transfer_logs,
)
)
return dict(logs=transfer_logs)
from agent-academy-1.
Related Issues (20)
- Backport grpc to open-autonomy
- Don't spend funds from non-whitelisted addresses
- El Collectooorr review 18/07/22 `e7f5eae0c430444ac43aa70ea64c63a5f219bca7` HOT 2
- Resetting support
- Fix the README HOT 2
- Deploy test version
- Reuse already deployed safe contract HOT 3
- Better gas setting for safe txs
- Replace AEAEnforceError with a more appropriate mechanism
- Unused reset_pause_abci
- Request -> Increase timeout for deployment as we are deploying on mainnet HOT 1
- Request -> Increase timeout for deployment as we are deploying on mainnet HOT 1
- Renaming HOT 1
- Address some points raised here
- Too many rpc calls HOT 2
- Reserve price for the first vault shows as 0 on fractional art HOT 6
- Move tests into packages
- Remove `safe_deployment_abci` HOT 1
- Move tests into the correct packages
- CI checks potentially missing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agent-academy-1.