--- 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 ![](https://i.imgur.com/DL6xtZB.png) ### 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" } ] } ```