owned this note
owned this note
Published
Linked with GitHub
---
title: Calcifer Specs
tags:
---
# Calcifer Specs
Calcifer is a bot that makes keeping track and managing a Safe's transactions easy. There could be 2 ways that users can interact with the bot:
1. Users message the bot directly.
2. Users add the bot as a contact into the group
## Architecture
1 Bot instance --> 1 Community --> n Safes --> *n Signers*
## User Stories
### US0.1: Message the Bot directly
WHEN the user messages the bot directly (i.e. `@calciferbot`)
THEN the bot should send the following message:
> Hi there! I'm Calcifer - a bot that helps you keep track and manage a Gnosis Safe's transactions easily. Add me (`@calciferbot`) to your Telegram group and `/start` to get started!
### US0.2: Add Bot to the group or type `/start` (Fresh start)
WHEN the user adds the bot to a Telegram group OR type `/start`
THEN the bot should send a welcome message:
> Hi there! I'm Calcifer - a bot that helps you keep track and manage a Gnosis Safe's transactions easily. Type `/addSafe <safeAddress>` to add a safe, so that I can start keeping track of it!
:::info
Need to check if permissions are required
:::
### US0.3: Type `/start` (Existing safe)
> TODO:
### US1:`/addSafe`
**Happy Flow: User adds valid ETH safe & clicks "Yes"**
WHEN the user types `/addSafe <safeAddress>`
AND the `safeAddress` is ==valid==
AND the bot should send the following message
> Do you want me to track the following safe `ABCD...1234`?
AND the bot should have a `Yes` and `No` button
WHEN the user clicks `Yes` button
THEN the Safe Address should be saved to the bot instance
AND the bot should send the following message
> Safe added successfully! I'm now tracking pending and executed transactions from your Safe `1234...ABCD`.
> To add another safe, send `/addSafe <safeAddress>` in this chat!
**Unhappy Flow: User clicks "No"**
WHEN the user clicks `No` button
THEN the bot should send the following message
> Safe `1234...ABCD` NOT added! Please try `/addSafe` to add a safe
**Unhappy Flow: Invalid Safe address**
WHEN the user types `/addSafe <safeAddress>`
AND the safe address is invalid
THEN the bot should send
> "Your Safe at `safeAddress` is invalid. Please try again. "
**Unhappy Flow: Safe is not on ETH network**
WHEN the user types `/addSafe <safeAddress>`
AND the safe is not on ETH network
THEN the bot should send
>"It looks like your Safe is on `network` network, but I currently support Ethereum Mainnet safes only. Support for other networks is coming soon!"
### US2: Notify Pending TX to Sign
:::info
The following 3 user stories assume that the bot is listening to transactions that are happening to the particular safe address. Let's start with a listener every 1 minute.
:::
As a multi-sig owner, I want to know when there are pending transactions that require my signing, so I can quickly execute the transactions.
WHEN the bot instance has a valid `safeAddress`
AND the Safe has a ==pending transaction in the last 60 seconds==
THEN the bot should send the following message
AND the message should have a `Sign` or `View Tx` button
> **New pending TX `1234...ABCD` for Safe `1234...ABCD`**
> `proposer` proposed a `type` TX of `amount``to `to` on `submissionDate`
> X/Y signers required
> View more & sign here: `txLink`
WHEN the user clicks on `Sign` or `View TX`
THEN the app should open up the browser to the `txLink`
### US3: Notify Confirmations / Signatures on a Pending Tx
As a multi-sig owner, I want to know when signers have signed / confirmed a recent transaction, so that I can take action where it is required.
WHEN the bot instance has a valid `safeAddress`
AND the Safe has a confirmation for a pending transaction in the last 60 seconds
THEN the bot should send the following message
> **New confirmation from signer `1234...ABCD` for TX `1234...ABCD`**
> `owner` signed TX `txLink` on `submissionDate`
> `confirmations`/ `confirmationsRequired` more signatures needed
> View signature: `txLink` // confirmation link
> Sign TX: `txLink` // tx link

### US4: Notify Executed TX
As a multi-sig owner, I want to know when there are executed transactions that require my signing, so I can monitor what is happening with my safe.
WHEN the bot instance has a `safeAddress`
AND the Safe has a ==executed transaction in the last 60 seconds==
THEN the bot should send the following message
AND the message should have a `Sign` or `View Tx` button
> **New TX `1234...ABCD` executed for Safe `1234...ABCD`**
> `proposer` proposed a `type` TX to `to` on `submissionDate`
> X/Y signers signed & executed TX at `txLink`
> View TX: `txLink`
### US5: Notify Incoming TX
> TODO
### US5: `/pingSafeTX`
> TODO
### Pending User Stories
> User Story Y: FAQ
> User Story Z: Manual Refresh
## Resolvers
Address to Token symbol
Token symbol to price
Intents resolvers
---
# Appendix
## Incoming ETH TX (Rinkeby)
```json=
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"executionDate": "2022-06-09T08:12:44Z",
"to": "0xBFD02DE172FB3a43511492979D3C6D2Fb17Ff83b",
"data": null,
"txHash": "0x0def1fc1e91b11a714a902ae705222a82f16db7be9012f25f1a92a375373f3a1",
"blockNumber": 10820845,
"transfers": [
{
"type": "ETHER_TRANSFER",
"executionDate": "2022-06-09T08:12:44Z",
"blockNumber": 10820845,
"transactionHash": "0x0def1fc1e91b11a714a902ae705222a82f16db7be9012f25f1a92a375373f3a1",
"to": "0xBFD02DE172FB3a43511492979D3C6D2Fb17Ff83b",
"value": "10000000000000000",
"tokenId": null,
"tokenAddress": null,
"tokenInfo": null,
"from": "0x64f372EF18b423eD61719BA0C730CF84640551a6"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x64f372EF18b423eD61719BA0C730CF84640551a6"
}
]
}
```
## New Pending TX
```jsonld=
{
"safe": "0xBFD02DE172FB3a43511492979D3C6D2Fb17Ff83b",
"to": "0x64f372EF18b423eD61719BA0C730CF84640551a6",
"value": "10000000000000000",
"data": null,
"operation": 0,
"gasToken": "0x0000000000000000000000000000000000000000",
"safeTxGas": 0,
"baseGas": 0,
"gasPrice": "0",
"refundReceiver": "0x0000000000000000000000000000000000000000",
"nonce": 0,
"executionDate": null,
"submissionDate": "2022-06-09T08:15:20.525590Z",
"modified": "2022-06-09T08:15:20.554628Z",
"blockNumber": null,
"transactionHash": null,
"safeTxHash": "0x3063427e9440e6faa3d1ce2d91edbe0da475373d087504c2733e3ce12f45db17",
"executor": null,
"isExecuted": false,
"isSuccessful": null,
"ethGasPrice": null,
"maxFeePerGas": null,
"maxPriorityFeePerGas": null,
"gasUsed": null,
"fee": null,
"origin": null,
"dataDecoded": null,
"confirmationsRequired": null,
"confirmations": [
{
"owner": "0x64f372EF18b423eD61719BA0C730CF84640551a6",
"submissionDate": "2022-06-09T08:15:20.554628Z",
"transactionHash": null,
"signature": "0xf2b8e73cda7ceef65aa84f3fb1590251bfc5fc0cc77bc546a003175fd8f96d2b5dbe431c8d95b843c9dd18849965dc6ce366967e5aaa8e60ff561436146943581b",
"signatureType": "EOA"
}
],
"trusted": true,
"signatures": null,
"transfers": [],
"txType": "MULTISIG_TRANSACTION"
},
```
## Random
```json=
{
"count": 69,
"next": "https://safe-transaction.mainnet.gnosis.io/api/v1/safes/0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae/all-transactions/?executed=true&limit=20&offset=20&queued=true&trusted=true",
"previous": null,
"results": [
{
"executionDate": "2022-05-31T17:57:29Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000000826299e00",
"txHash": "0xaef68f0b3cbe044f6d6f1475ad112437b05c8638c62c006bb08badd2c5d5304b",
"blockNumber": 14880130,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-31T17:57:29Z",
"blockNumber": 14880130,
"transactionHash": "0xaef68f0b3cbe044f6d6f1475ad112437b05c8638c62c006bb08badd2c5d5304b",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "35000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x9DC088869b92cb580364d3Ee6F797280EC953C5a"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x9DC088869b92cb580364d3Ee6F797280EC953C5a"
},
{
"executionDate": "2022-05-30T07:08:57Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000005d21dba00",
"txHash": "0xb793235e5e5ef4984761eddc075d768f7e06417d4fb41da09e59121fbe933bf5",
"blockNumber": 14871220,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-30T07:08:57Z",
"blockNumber": 14871220,
"transactionHash": "0xb793235e5e5ef4984761eddc075d768f7e06417d4fb41da09e59121fbe933bf5",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "25000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
},
{
"executionDate": "2022-05-28T03:22:04Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000006fc23ac00",
"txHash": "0xb221531e8d0f437c2fa778264062c41e14fc17587db5edf730bb7c76bd197137",
"blockNumber": 14857911,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-28T03:22:04Z",
"blockNumber": 14857911,
"transactionHash": "0xb221531e8d0f437c2fa778264062c41e14fc17587db5edf730bb7c76bd197137",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "30000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x3654bF42A1283910EF4dB88edc68FDb3865e86c8"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x3654bF42A1283910EF4dB88edc68FDb3865e86c8"
},
{
"executionDate": "2022-05-26T18:15:09Z",
"to": "0x7ac712ec4C58dEd138CC4e63e0fd59F697cC6963",
"data": "0x6a761202000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000005d21dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000618d64611af0a80f77472051077f488f12004daa0000000000000000000000000000000000000000000000000000000000000000018406c53060c4ed8a40e6f56d550f98275c60554c34d7410a9ba303d2fa51053808df17f78e22e984f37c31a8e64e68dd1e45b6a90924893666b59fe87567a7bd1b6599ea961a01d26f5ccfecc2be3a9f7286b5f75826636c5f290bc9b6b540ed1a67a7aca428c4795438bf7c241514bb97213d41de7f6888db6293d73dff0da50a1b0000000000000000000000000000000000000000000000000000000000",
"txHash": "0xb4a40cad7d0f53694340c2e6e695ad7551b3b777ddba53b7e2b6c25a8c1206da",
"blockNumber": 14849472,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-26T18:15:09Z",
"blockNumber": 14849472,
"transactionHash": "0xb4a40cad7d0f53694340c2e6e695ad7551b3b777ddba53b7e2b6c25a8c1206da",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "400000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x7ac712ec4C58dEd138CC4e63e0fd59F697cC6963"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x618D64611aF0a80F77472051077F488f12004daa"
},
{
"executionDate": "2022-05-26T16:53:52Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000000ba43b7400",
"txHash": "0x34d5a468e0d11b77ac69a3dabd94fceb84ec92a5afe46110753ffc35e075e175",
"blockNumber": 14849114,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-26T16:53:52Z",
"blockNumber": 14849114,
"transactionHash": "0x34d5a468e0d11b77ac69a3dabd94fceb84ec92a5afe46110753ffc35e075e175",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "50000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xBbb6e8eabFBF4D1A6ebf16801B62cF7Bdf70cE57"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xBbb6e8eabFBF4D1A6ebf16801B62cF7Bdf70cE57"
},
{
"executionDate": "2022-05-26T15:49:42Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000001176592e00",
"txHash": "0x4a207df72a700222c4a79cb15b18468abde9f085a594db21b050df7d6d69f0d2",
"blockNumber": 14848833,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-26T15:49:42Z",
"blockNumber": 14848833,
"transactionHash": "0x4a207df72a700222c4a79cb15b18468abde9f085a594db21b050df7d6d69f0d2",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "75000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xBbb6e8eabFBF4D1A6ebf16801B62cF7Bdf70cE57"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xBbb6e8eabFBF4D1A6ebf16801B62cF7Bdf70cE57"
},
{
"executionDate": "2022-05-26T10:16:12Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000001176592e00",
"txHash": "0x2890d80b165b1867d7cc79cca6c0949e8bf7cece025dabf16da0657bb95597d8",
"blockNumber": 14847399,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-26T10:16:12Z",
"blockNumber": 14847399,
"transactionHash": "0x2890d80b165b1867d7cc79cca6c0949e8bf7cece025dabf16da0657bb95597d8",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "75000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
},
{
"executionDate": "2022-05-25T15:02:35Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae000000000000000000000000000000000000000000000000000000037e11d600",
"txHash": "0xcb63cb1eab980017928c53d53e51c87de92e7790e85d0336438bd4394a6874da",
"blockNumber": 14842539,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-25T15:02:35Z",
"blockNumber": 14842539,
"transactionHash": "0xcb63cb1eab980017928c53d53e51c87de92e7790e85d0336438bd4394a6874da",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "15000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xc35A5FEc6BE6957899E15559Be252Db882220b37"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xc35A5FEc6BE6957899E15559Be252Db882220b37"
},
{
"executionDate": "2022-05-25T14:11:07Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000002540be400",
"txHash": "0x0d8490620732ea02805e3b30b432ab329e2e67e0902f883f29bb63c48f5aea16",
"blockNumber": 14842307,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-25T14:11:07Z",
"blockNumber": 14842307,
"transactionHash": "0x0d8490620732ea02805e3b30b432ab329e2e67e0902f883f29bb63c48f5aea16",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "10000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x56De6BAb328EEa0dfc99781fC9e6B0a4b97a9932"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x56De6BAb328EEa0dfc99781fC9e6B0a4b97a9932"
},
{
"executionDate": "2022-05-25T13:51:29Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae000000000000000000000000000000000000000000000000000000037e11d600",
"txHash": "0x396354da80c77922241c7f24bd33045214a7aa2e58f640d79d3932f38376e845",
"blockNumber": 14842215,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-25T13:51:29Z",
"blockNumber": 14842215,
"transactionHash": "0x396354da80c77922241c7f24bd33045214a7aa2e58f640d79d3932f38376e845",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "15000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x44DdF3e35Cd2D629d78674FF6BF5b953e2B069fe"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x44DdF3e35Cd2D629d78674FF6BF5b953e2B069fe"
},
{
"executionDate": "2022-05-23T15:59:47Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000000ba43b7400",
"txHash": "0xb3d04ebfc1db9e0ef94f4d526e44a18674be2ad95218841995daf1b04dd3fc53",
"blockNumber": 14830490,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-23T15:59:47Z",
"blockNumber": 14830490,
"transactionHash": "0xb3d04ebfc1db9e0ef94f4d526e44a18674be2ad95218841995daf1b04dd3fc53",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "50000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x75AfAEce8CF2a7974B1e541648923aFD9339B3f8"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x75AfAEce8CF2a7974B1e541648923aFD9339B3f8"
},
{
"executionDate": "2022-05-22T16:15:28Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000006fc23ac00",
"txHash": "0x730978962e9f3833ce314d9be60901969f4411220427710105f18d14203982dc",
"blockNumber": 14824366,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-22T16:15:28Z",
"blockNumber": 14824366,
"transactionHash": "0x730978962e9f3833ce314d9be60901969f4411220427710105f18d14203982dc",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "30000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xDFd5293D8e347dFe59E90eFd55b2956a1343963d"
},
{
"executionDate": "2022-05-21T18:48:40Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000002540be400",
"txHash": "0xcb530bcb5c690979536b5337d7b38f71049924e0d2aaa03fbc303750410542f0",
"blockNumber": 14818902,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-21T18:48:40Z",
"blockNumber": 14818902,
"transactionHash": "0xcb530bcb5c690979536b5337d7b38f71049924e0d2aaa03fbc303750410542f0",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "10000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xC42008F4AaDc0b487F214d738fCdCea1D0488e9D"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xC42008F4AaDc0b487F214d738fCdCea1D0488e9D"
},
{
"executionDate": "2022-05-21T01:43:12Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000005d21dba00",
"txHash": "0x3f73e8b6d1e5c211bfdf4ab1491aa74041bc86a892572726ae5ce9c2e20cd25b",
"blockNumber": 14814499,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-21T01:43:12Z",
"blockNumber": 14814499,
"transactionHash": "0x3f73e8b6d1e5c211bfdf4ab1491aa74041bc86a892572726ae5ce9c2e20cd25b",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "25000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x3F86f18322a888d9b3adef38f127c941bCcc014D"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x3F86f18322a888d9b3adef38f127c941bCcc014D"
},
{
"executionDate": "2022-05-20T20:37:57Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000002540be400",
"txHash": "0xc696a9ea7478d4c1744763b6202ea745e393c30be19ab383aef25275407383a8",
"blockNumber": 14813186,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-20T20:37:57Z",
"blockNumber": 14813186,
"transactionHash": "0xc696a9ea7478d4c1744763b6202ea745e393c30be19ab383aef25275407383a8",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "10000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x5f350bF5feE8e254D6077f8661E9C7B83a30364e"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x5f350bF5feE8e254D6077f8661E9C7B83a30364e"
},
{
"executionDate": "2022-05-20T17:36:08Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae0000000000000000000000000000000000000000000000000000000ba43b7400",
"txHash": "0x272f9fd9d4e181809ec5d500db83b6674175b17ecffa53bf533517644603bdd9",
"blockNumber": 14812426,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-20T17:36:08Z",
"blockNumber": 14812426,
"transactionHash": "0x272f9fd9d4e181809ec5d500db83b6674175b17ecffa53bf533517644603bdd9",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "50000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x2FAF487A4414Fe77e2327F0bf4AE2a264a776AD2"
},
{
"executionDate": "2022-05-20T12:13:09Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae000000000000000000000000000000000000000000000000000000037e11d600",
"txHash": "0xaffb9a4a98f892ade4f71145637018310f302b6ce02c83d34c6ba392453fb058",
"blockNumber": 14811059,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-20T12:13:09Z",
"blockNumber": 14811059,
"transactionHash": "0xaffb9a4a98f892ade4f71145637018310f302b6ce02c83d34c6ba392453fb058",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "15000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0xd1C21721EdFFA71C32ab08C22dBF98eBa695f0F7"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0xd1C21721EdFFA71C32ab08C22dBF98eBa695f0F7"
},
{
"executionDate": "2022-05-19T19:25:58Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000004a817c800",
"txHash": "0x13db27634e82a38a1c0db60426e7f8654958863c193ae2edc1c958b878915d22",
"blockNumber": 14806733,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-19T19:25:58Z",
"blockNumber": 14806733,
"transactionHash": "0x13db27634e82a38a1c0db60426e7f8654958863c193ae2edc1c958b878915d22",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "20000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x75d4bdBf6593ed463e9625694272a0FF9a6D346F"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x75d4bdBf6593ed463e9625694272a0FF9a6D346F"
},
{
"executionDate": "2022-05-19T19:21:30Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000005d21dba00",
"txHash": "0xa044ad9336fbef616596ad2ad194eeb40ba7d8d7119e5954aff71accae2965de",
"blockNumber": 14806712,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-19T19:21:30Z",
"blockNumber": 14806712,
"transactionHash": "0xa044ad9336fbef616596ad2ad194eeb40ba7d8d7119e5954aff71accae2965de",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "25000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x11d142e5082f30f53fBD66824abf78Ce693e17D2"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x11d142e5082f30f53fBD66824abf78Ce693e17D2"
},
{
"executionDate": "2022-05-18T02:19:20Z",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"data": "0xa9059cbb00000000000000000000000091a9d850a866278deb07fa5a2b9ad2b112b186ae00000000000000000000000000000000000000000000000000000006fc23ac00",
"txHash": "0xae66efbbce8e116858643f7ca02ca631e5a9cd646dc82e49c6f14cc0b6864b57",
"blockNumber": 14796183,
"transfers": [
{
"type": "ERC20_TRANSFER",
"executionDate": "2022-05-18T02:19:20Z",
"blockNumber": 14796183,
"transactionHash": "0xae66efbbce8e116858643f7ca02ca631e5a9cd646dc82e49c6f14cc0b6864b57",
"to": "0x91a9d850A866278dEb07FA5A2B9ad2B112B186ae",
"value": "30000000000",
"tokenId": null,
"tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"tokenInfo": {
"type": "ERC20",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USD//Coin",
"symbol": "USDC",
"decimals": 6,
"logoUri": "https://safe-transaction-assets.gnosis-safe.io/tokens/logos/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48.png"
},
"from": "0x67675f69e34a570B8157032c5e24dD3937DE3859"
}
],
"txType": "ETHEREUM_TRANSACTION",
"from": "0x67675f69e34a570B8157032c5e24dD3937DE3859"
}
]
}
```