From a6bb3d9eaf425abc2c4a9842897175dfad991a48 Mon Sep 17 00:00:00 2001 From: qperrot Date: Thu, 31 Oct 2024 10:51:57 +0100 Subject: [PATCH] fix: remove crypto org famili --- .../ledgerlivemobile/PrivacyInfo.xcprivacy | 68 +- .../src/config/sharedConfig.ts | 2 - .../ledger-live-common/src/currencies/mock.ts | 2 +- .../src/families/crypto_org/NOTES.md | 10 - .../bridge.integration.test.ts.snap | 2462 ----------------- .../src/families/crypto_org/account.ts | 46 - .../src/families/crypto_org/api/index.ts | 1 - .../src/families/crypto_org/api/sdk.ts | 217 -- .../src/families/crypto_org/api/sdk.types.ts | 45 - .../crypto_org/bridge.integration.test.ts | 14 - .../src/families/crypto_org/bridge/js.ts | 37 - .../src/families/crypto_org/broadcast.ts | 29 - .../crypto_org/buildOptimisticOperation.ts | 30 - .../families/crypto_org/buildTransaction.ts | 61 - .../families/crypto_org/cli-transaction.ts | 51 - .../src/families/crypto_org/config.ts | 12 - .../families/crypto_org/createTransaction.ts | 18 - .../families/crypto_org/datasets/croeseid.ts | 22 - .../crypto_org/deviceTransactionConfig.ts | 52 - .../src/families/crypto_org/errors.ts | 6 - .../crypto_org/estimateMaxSpendable.ts | 21 - .../crypto_org/getFeesForTransaction.ts | 13 - .../crypto_org/getTransactionStatus.ts | 61 - .../src/families/crypto_org/hw-getAddress.ts | 16 - .../src/families/crypto_org/logic.ts | 50 - .../families/crypto_org/prepareTransaction.ts | 28 - .../families/crypto_org/serialization.test.ts | 86 - .../src/families/crypto_org/serialization.ts | 43 - .../src/families/crypto_org/signOperation.ts | 130 - .../src/families/crypto_org/specs.ts | 75 - .../crypto_org/speculos-deviceActions.ts | 61 - .../families/crypto_org/synchronisation.ts | 52 - .../src/families/crypto_org/transaction.ts | 56 - .../src/families/crypto_org/types.ts | 57 - .../src/generated/account.ts | 2 - .../src/generated/bridge/js.ts | 2 - .../src/generated/cli-transaction.ts | 2 - .../src/generated/deviceTransactionConfig.ts | 2 - .../src/generated/hw-getAddress.ts | 2 - .../ledger-live-common/src/generated/specs.ts | 2 - .../src/generated/transaction.ts | 2 - .../ledger-live-common/src/generated/types.ts | 10 - 42 files changed, 54 insertions(+), 3904 deletions(-) delete mode 100644 libs/ledger-live-common/src/families/crypto_org/NOTES.md delete mode 100644 libs/ledger-live-common/src/families/crypto_org/__snapshots__/bridge.integration.test.ts.snap delete mode 100644 libs/ledger-live-common/src/families/crypto_org/account.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/api/index.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/api/sdk.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/api/sdk.types.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/bridge.integration.test.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/bridge/js.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/broadcast.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/buildOptimisticOperation.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/buildTransaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/cli-transaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/config.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/createTransaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/datasets/croeseid.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/deviceTransactionConfig.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/errors.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/estimateMaxSpendable.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/getFeesForTransaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/getTransactionStatus.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/hw-getAddress.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/logic.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/prepareTransaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/serialization.test.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/serialization.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/signOperation.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/specs.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/speculos-deviceActions.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/synchronisation.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/transaction.ts delete mode 100644 libs/ledger-live-common/src/families/crypto_org/types.ts diff --git a/apps/ledger-live-mobile/ios/ledgerlivemobile/PrivacyInfo.xcprivacy b/apps/ledger-live-mobile/ios/ledgerlivemobile/PrivacyInfo.xcprivacy index f206435fb484..001723a38a70 100644 --- a/apps/ledger-live-mobile/ios/ledgerlivemobile/PrivacyInfo.xcprivacy +++ b/apps/ledger-live-mobile/ios/ledgerlivemobile/PrivacyInfo.xcprivacy @@ -3,7 +3,45 @@ NSPrivacyAccessedAPITypes - + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + 1C8F.1 + C56D.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + 0A2A.1 + 3B52.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + E174.1 + 85F4.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + NSPrivacyCollectedDataTypes @@ -11,8 +49,6 @@ NSPrivacyCollectedDataTypeUserID NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics @@ -20,63 +56,63 @@ NSPrivacyCollectedDataTypePurposeProductPersonalization NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeDeviceID NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics NSPrivacyCollectedDataTypePurposeDeveloperAdvertising + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeCrashData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypePerformanceData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeOtherDiagnosticData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeProductInteraction NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics @@ -84,14 +120,14 @@ NSPrivacyCollectedDataTypePurposeProductPersonalization NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyCollectedDataType NSPrivacyCollectedDataTypeOtherUsageData NSPrivacyCollectedDataTypeLinked - NSPrivacyCollectedDataTypeTracking - NSPrivacyCollectedDataTypePurposes NSPrivacyCollectedDataTypePurposeAnalytics @@ -99,6 +135,8 @@ NSPrivacyCollectedDataTypePurposeProductPersonalization NSPrivacyCollectedDataTypePurposeAppFunctionality + NSPrivacyCollectedDataTypeTracking + NSPrivacyTracking diff --git a/libs/ledger-live-common/src/config/sharedConfig.ts b/libs/ledger-live-common/src/config/sharedConfig.ts index d14a1ba5d274..f0e9149358c4 100644 --- a/libs/ledger-live-common/src/config/sharedConfig.ts +++ b/libs/ledger-live-common/src/config/sharedConfig.ts @@ -6,7 +6,6 @@ import { cardanoConfig } from "../families/cardano/config"; import { casperConfig } from "../families/casper/config"; import { celoConfig } from "../families/celo/config"; import { cosmosConfig } from "../families/cosmos/config"; -import { cryptoOrgConfig } from "../families/crypto_org/config"; import { elrondConfig } from "../families/elrond/config"; import { evmConfig } from "../families/evm/config"; import { fileCoinConfig } from "../families/filecoin/config"; @@ -48,7 +47,6 @@ export const liveConfig: ConfigSchema = { ...casperConfig, ...celoConfig, ...cosmosConfig, - ...cryptoOrgConfig, ...elrondConfig, ...evmConfig, ...fileCoinConfig, diff --git a/libs/ledger-live-common/src/currencies/mock.ts b/libs/ledger-live-common/src/currencies/mock.ts index fb40cb949028..e1180d355d6e 100644 --- a/libs/ledger-live-common/src/currencies/mock.ts +++ b/libs/ledger-live-common/src/currencies/mock.ts @@ -515,7 +515,7 @@ export const CURRENCIES_LIST: CryptoCurrency[] = [ ticker: "CRO", scheme: "crypto_org", color: "#0e1c37", - family: "crypto_org", + family: "cosmos", units: [ { name: "CRO", diff --git a/libs/ledger-live-common/src/families/crypto_org/NOTES.md b/libs/ledger-live-common/src/families/crypto_org/NOTES.md deleted file mode 100644 index c3ddd29ea123..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/NOTES.md +++ /dev/null @@ -1,10 +0,0 @@ -# Cronos POS Chain (formerly Crypto.org) - -This directory holds the Cronos POS Chain (formerly Crypto.org) implementation (same thing on LLD and LLM) -For backward compatibility reasons, the id of the chain (`crypto_org`) has been kept as is. - -More info on the rebranding can be found here https://blog.cronos-pos.org/p/cryptoorg-chain-becomes-cronos-pos - -## Notes 📝 - -It looks like the Cronos POS Chain is a Cosmos chain. It could be worthwhile at some point to migrate its implementation using the new Cosmos integration framework and remove this specific directory altogether. diff --git a/libs/ledger-live-common/src/families/crypto_org/__snapshots__/bridge.integration.test.ts.snap b/libs/ledger-live-common/src/families/crypto_org/__snapshots__/bridge.integration.test.ts.snap deleted file mode 100644 index 28b7978a5e2e..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/__snapshots__/bridge.integration.test.ts.snap +++ /dev/null @@ -1,2462 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`crypto_org_croeseid currency bridge scanAccounts crypto_org_croeseid seed 1 1`] = ` -[ - { - "balance": "10068099925", - "cryptoOrgResources": { - "bondedBalance": "0", - "commissions": "0", - "redelegatingBalance": "0", - "unbondingBalance": "0", - }, - "currencyId": "crypto_org_croeseid", - "derivationMode": "", - "freshAddress": "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - "freshAddressPath": "44'/394'/0'/0/0", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "index": 0, - "operationsCount": 80, - "pendingOperations": [], - "seedIdentifier": "02bf9e382bf60d6ffaa982534b3e88014ee472bf091b7ff17167fe897807434941", - "spendableBalance": "10068099925", - "swapHistory": [], - "syncHash": undefined, - "used": true, - }, - { - "balance": "22712183075", - "cryptoOrgResources": { - "bondedBalance": "0", - "commissions": "0", - "redelegatingBalance": "0", - "unbondingBalance": "0", - }, - "currencyId": "crypto_org_croeseid", - "derivationMode": "", - "freshAddress": "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - "freshAddressPath": "44'/394'/1'/0/0", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "index": 1, - "operationsCount": 39, - "pendingOperations": [], - "seedIdentifier": "02bf9e382bf60d6ffaa982534b3e88014ee472bf091b7ff17167fe897807434941", - "spendableBalance": "22712183075", - "swapHistory": [], - "syncHash": undefined, - "used": true, - }, - { - "balance": "0", - "cryptoOrgResources": { - "bondedBalance": "0", - "commissions": "0", - "redelegatingBalance": "0", - "unbondingBalance": "0", - }, - "currencyId": "crypto_org_croeseid", - "derivationMode": "", - "freshAddress": "tcro1kqfwshusg4v7gfac5j6qmcp4ggxc74fwgk48h9", - "freshAddressPath": "44'/394'/2'/0/0", - "id": "js:2:crypto_org_croeseid:tcro1kqfwshusg4v7gfac5j6qmcp4ggxc74fwgk48h9:", - "index": 2, - "operationsCount": 0, - "pendingOperations": [], - "seedIdentifier": "02bf9e382bf60d6ffaa982534b3e88014ee472bf091b7ff17167fe897807434941", - "spendableBalance": "0", - "swapHistory": [], - "syncHash": undefined, - "used": false, - }, -] -`; - -exports[`crypto_org_croeseid currency bridge scanAccounts crypto_org_croeseid seed 1 2`] = ` -[ - [ - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "222558265CD86195F091E6C2634F9C4CA7A749AD5CDC046DF530C3FBA54C958D", - "blockHeight": 475435, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "074FB0EC27BD911634986254EDD738C267BF3BF2DBA919D4B17AA66109CB90BE", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-074FB0EC27BD911634986254EDD738C267BF3BF2DBA919D4B17AA66109CB90BE-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "5C1F92BC8688CBFE5B25AF4E118895F7DC5F47E739A3A2BF48E5E9A64985C9DC", - "blockHeight": 475458, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "0798882264690CD9F9C3FA60A7A6124ED4A38285DF57C9ABCB6513CCE99146D4", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-0798882264690CD9F9C3FA60A7A6124ED4A38285DF57C9ABCB6513CCE99146D4-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "65A41B4C56B5F797C8B4CC3AA160B8C34A731901312A5F1759F941ADE7824479", - "blockHeight": 475419, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "085D0F8417AC957ACA36174916326512EA6CDF2C5CE571C28A267974B7B878B3", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-085D0F8417AC957ACA36174916326512EA6CDF2C5CE571C28A267974B7B878B3-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "3500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "066B005959DB5165422A924681FFD69CEF0319FABBA8CB52D438BD9D85F0FABF", - "blockHeight": 475398, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "09A8497EF4DD0A2D22148CFBDA61462103D922A3544E3B0896010BA90386A149", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-09A8497EF4DD0A2D22148CFBDA61462103D922A3544E3B0896010BA90386A149-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1800000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "D70BD5102E6FA3B1356C3722C53715474546F83FBDBEC6FC9CAC1FB410E6AB4E", - "blockHeight": 475648, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "0D238F4F868FCDA6D6F9F51EBF200FE5CEF37A7C1B5DA3D194D23EEA65FCCF7D", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-0D238F4F868FCDA6D6F9F51EBF200FE5CEF37A7C1B5DA3D194D23EEA65FCCF7D-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "8EEAE3C98CC39485AE317CDE85061F18A6818C4A688879F41C0DD10EF80AACE8", - "blockHeight": 475626, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "16E562DEAEEC1EBF29318A335793BC02E57D0612134D186C3AC14FD71922521D", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-16E562DEAEEC1EBF29318A335793BC02E57D0612134D186C3AC14FD71922521D-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "04FB75B834B4970BA44DBBFF5C8DF1B6AF49E80D696E9F5A402A09D25E19CBF7", - "blockHeight": 475380, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "18DEBBBB8F25DA21457AB946A5E108354266520FB95F1BA794432C5ADF9D17A4", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-18DEBBBB8F25DA21457AB946A5E108354266520FB95F1BA794432C5ADF9D17A4-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "6424BEC8B78246B94B7CB3FC4DBE3F629C512FA4A6C27DB3CB162207ECB756A5", - "blockHeight": 475577, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "1975982DF8BA767720FEBD0FDF040721752F06EBE899A0BC00F5A4FEC59B1622", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-1975982DF8BA767720FEBD0FDF040721752F06EBE899A0BC00F5A4FEC59B1622-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "B91D28815407130B94900A8208C0C1D018825A922E6E78B67E3E98EB6C35FC01", - "blockHeight": 475359, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "1B29924AA03DBAF2B27BE3A41FAA78045EA4D672EB92BE35933DBDC5C46F4C5D", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-1B29924AA03DBAF2B27BE3A41FAA78045EA4D672EB92BE35933DBDC5C46F4C5D-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "1600000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9CF46E6C60399A18BA716FEE007ECC3F7A84D2AC7EC78366380F16C90A6C0F0C", - "blockHeight": 475327, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "203C08C1974D44A64384EF8F964884481B6ACC05C39FE04C2F5F12082B15318E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-203C08C1974D44A64384EF8F964884481B6ACC05C39FE04C2F5F12082B15318E-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "11307136000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "E2FF5EC934FC0166799C5E45B2FE1A9A890B8E3D3C5C33523A395D8E8B77944A", - "blockHeight": 475572, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "20A453A3FBC49B2DDA1B73DF301E061B13D2F8D432A029475CF80C9184330F1E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-20A453A3FBC49B2DDA1B73DF301E061B13D2F8D432A029475CF80C9184330F1E-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9226BCC1918DE938125046A424451531E5A8EE6166D037CD9615556F8157947E", - "blockHeight": 475702, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "21A2E4A5469253852E1572716D0E25ACBE5703236E464F665CDEF9B54F7BDA5B", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-21A2E4A5469253852E1572716D0E25ACBE5703236E464F665CDEF9B54F7BDA5B-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "ECB4C11C9F2709484A90A53D3518EA8E6099A6A0DF12563C0438F7756ED75E22", - "blockHeight": 475598, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "23BA30BC41F7480236FEFC11EEE8E1F2050DFFC03254FF318DAE746788AF701E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-23BA30BC41F7480236FEFC11EEE8E1F2050DFFC03254FF318DAE746788AF701E-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "600000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "15F63EEF8E3513575A729A4787D8554E05A33140C7E36FAE6143E0D68B1E3087", - "blockHeight": 475687, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "26B9472C779BDB2B8ACC030DCA13C1BEAF008ABBA3D906DFAFC4527B8CF60BAE", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-26B9472C779BDB2B8ACC030DCA13C1BEAF008ABBA3D906DFAFC4527B8CF60BAE-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "0D72D775CDE5D725C602A0CF1B004D981C8E54CCD4E40212AE5089E640CF7A00", - "blockHeight": 475305, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "28B5E09969636336B15083937BF0BBAE0BC668202AF38F251250988B22EC1076", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-28B5E09969636336B15083937BF0BBAE0BC668202AF38F251250988B22EC1076-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9892E57BAACC5CC42460CD69D292039069A7164DEA11D238E2D0FEDE855C5E0E", - "blockHeight": 475732, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "30B039769653C69163FE2F12EF1163C4940723FDBA912E2C1D00CB3D8FA78620", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-30B039769653C69163FE2F12EF1163C4940723FDBA912E2C1D00CB3D8FA78620-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "900EDFBA91361927BA4EBAADFA7151F5EEA07DC106E77C0AA7F64A2B0F64D161", - "blockHeight": 475430, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "3925592619773365DE0316AC84A72A8938BA7EF7C2A6D698595391820018D5F8", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-3925592619773365DE0316AC84A72A8938BA7EF7C2A6D698595391820018D5F8-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "FDAAF3EC4B353F7A90E9BD48C716FC21FE0B5274BC9774C73DA683D0645EEB10", - "blockHeight": 475591, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "3A4377726D2ACD05EE36E910040EB228CB6C5D09F43AF050131163E2841A278E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-3A4377726D2ACD05EE36E910040EB228CB6C5D09F43AF050131163E2841A278E-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "23F275D91235A9C3B42BF692F95BB610DCAE98D8081184859593BD0F1728EC45", - "blockHeight": 475373, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "3E668FA50FF1E534793030F36AE1883CD51D95268A418CDC779CEF840A9E0762", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-3E668FA50FF1E534793030F36AE1883CD51D95268A418CDC779CEF840A9E0762-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9B91A298230B99A89374A6FB83A34E8DA0453E057E89171860C656A5FB3EF200", - "blockHeight": 475385, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "421536BE654C7DEAD7762D4853D0A3A5F2904C6163F1DCF11E7F58CCE01EC934", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-421536BE654C7DEAD7762D4853D0A3A5F2904C6163F1DCF11E7F58CCE01EC934-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "996170000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9752E69590AC2D81A74683EA88577F98094C5F533639A8ADD3405E0F3818B048", - "blockHeight": 475767, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "465A717C2B260A41204B2E2E6C63BDB3A951840BBDA8E8A02AF9062530A964BC", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-465A717C2B260A41204B2E2E6C63BDB3A951840BBDA8E8A02AF9062530A964BC-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9D3B6EA4927A586C689689B18D05B47852811B87E3B395E9575297322BAD4471", - "blockHeight": 475553, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "47DE69631988357037022D49FB13DE3FE1DE0AE6162508712FA15E5868644CFC", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-47DE69631988357037022D49FB13DE3FE1DE0AE6162508712FA15E5868644CFC-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "4000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "733248EE495D16B10AEC07E37BF705F0654C3A8FEE15AEC6D3240E30F0168ABD", - "blockHeight": 475761, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "485A227475F72A6C60D6C63D162E773B693C37813E0AC62F305274B82CC8C56C", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-485A227475F72A6C60D6C63D162E773B693C37813E0AC62F305274B82CC8C56C-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "2A312E96985DB48BA9C6675EEA576F6140914F13D92C78A5D110774384A75053", - "blockHeight": 475673, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "49A89C91CA40A7CD437FDB30799FCBD6ED3177BCBF918A1C6BDF0BD9A948EAA4", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-49A89C91CA40A7CD437FDB30799FCBD6ED3177BCBF918A1C6BDF0BD9A948EAA4-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "7400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "FED5A5B34FE00BD0929E5E7083598A21BACB378B9F36F595E7A605B71924677B", - "blockHeight": 475490, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "4B711C5EA845BF5B1A6FEF4C9A2EE5D3FDEC23F51EF0DEF6B5B0BBA0B3B77ECB", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-4B711C5EA845BF5B1A6FEF4C9A2EE5D3FDEC23F51EF0DEF6B5B0BBA0B3B77ECB-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "396317000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "65E3F68342D1984A604F619D3AF3002B6675087B0D63C53CE59597099225CB33", - "blockHeight": 475542, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "4BF78D7BED49DFC69ABAC9BDFDCFB0AC11B505A1BE37BBE2AC2BD2DB0C58479B", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-4BF78D7BED49DFC69ABAC9BDFDCFB0AC11B505A1BE37BBE2AC2BD2DB0C58479B-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "A777A409BB62BC2672E242CA447FCD8980C579721EDFFE7FA2162AA82B94EC12", - "blockHeight": 475834, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "4D82B2D5097303D025EC1AD0F4AC4A8B144855E2676013E30CAF73B59095FDAA", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-4D82B2D5097303D025EC1AD0F4AC4A8B144855E2676013E30CAF73B59095FDAA-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "598CB7DEB1A364E0A93FECB01AE9739BF26638F0253753C8171699EF6FFBE954", - "blockHeight": 475539, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "51FC85B6DC986D6E7401E343DE8E1471120083C7C0F9C2A1C760977C305869FB", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-51FC85B6DC986D6E7401E343DE8E1471120083C7C0F9C2A1C760977C305869FB-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "C34DAC40BC53CF5C6C4594B4B6398D14BE3E266BBC9295BA982779F8091D1218", - "blockHeight": 475515, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "538AC715CE971325AA1D91A4926F29F21BDEE54BCC3E97B9C52420520C7A2CBC", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-538AC715CE971325AA1D91A4926F29F21BDEE54BCC3E97B9C52420520C7A2CBC-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "135000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "57E5AEFCE5A42C7F9F56A679A4B5BBA555F739A964E43231CF449F51E1A2994F", - "blockHeight": 475755, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "56F60BD7BE927B34EE65684E5D49854C4435FAF76F5BE730AAFD070619FCDCAE", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-56F60BD7BE927B34EE65684E5D49854C4435FAF76F5BE730AAFD070619FCDCAE-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "35000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "C0A276C49B444F84223B34DE4C78F94E8C62B1A4C1105820720D6D78D225D1C6", - "blockHeight": 475607, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "5A742128B83BE75BBA7C569CDBA982A95EB7AFCADE533B9A87AA08657ACC1624", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-5A742128B83BE75BBA7C569CDBA982A95EB7AFCADE533B9A87AA08657ACC1624-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "8ADB5A0BD83EFDA5C730B62591B39C0F7E2997875305BCDAE2E25ABD69B783FE", - "blockHeight": 475758, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "5D12C20C8B3EFE0407B4BA2034CB776BBF8FFD64ACCEC5AD9F42754EFD8C8039", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-5D12C20C8B3EFE0407B4BA2034CB776BBF8FFD64ACCEC5AD9F42754EFD8C8039-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "D105504FDAC3EF7B88849A2AE15FBF865A6B3D0A835F1A926668218C742DF865", - "blockHeight": 475562, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "603EB76AFC9790CD7994750E05D7A74A89F9CB211ED2F2C9C8CA754B2F0D9FE7", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-603EB76AFC9790CD7994750E05D7A74A89F9CB211ED2F2C9C8CA754B2F0D9FE7-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "300000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9B3769B064225D419D9B9473C5170C08A47CC9B31D0DBB7ADD7D48632584E74C", - "blockHeight": 475530, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "670BF915FC22D090F3A394086849AFD37130AC086A7CD83362FC29F49C599840", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-670BF915FC22D090F3A394086849AFD37130AC086A7CD83362FC29F49C599840-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "ED4DB1DAE3D546B4E816A71B8683A14D7BA31BC61B53346D6F84C7F8B41C86E0", - "blockHeight": 475445, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "6A050A528676A1934874E7D9D542779BCDB53E9F31600D757BE38DBDEB450B48", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-6A050A528676A1934874E7D9D542779BCDB53E9F31600D757BE38DBDEB450B48-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "C14EC6BB6B3A596A545F4C2339D1C2893A71E78211668D88B5FBD5DF2AE6CBEF", - "blockHeight": 475319, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "6A7D429C09E9A047E0F112D86B3276A60E0CCFCD1A405A67F2C4CF3FDF9E2048", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-6A7D429C09E9A047E0F112D86B3276A60E0CCFCD1A405A67F2C4CF3FDF9E2048-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "15000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "05872A893E70A69A0A789BF380AA4047855961763A9DB55F975A2EA2C75BBB18", - "blockHeight": 475582, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "71C2CCEC8EB15CC2E7825445A944ACF4D35FE7E051736EDD195B08E9353B75FD", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-71C2CCEC8EB15CC2E7825445A944ACF4D35FE7E051736EDD195B08E9353B75FD-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "23000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "0C85BBD400B8CC02BCBE41DEA58371BC54C8C26C49335B62ED4B3D1DA996EF32", - "blockHeight": 475390, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "72A5397CBE10AA909143C078258D75E74A5C14A4518AEE6C69007B3F7F606985", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-72A5397CBE10AA909143C078258D75E74A5C14A4518AEE6C69007B3F7F606985-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "2000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "A9925673FB116DD071A9F87335D274CC3FA0875B36ABE9DC4829EB93C47480AD", - "blockHeight": 475764, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "7890D04C895741D156B4CD248D86C90B11222E3D0CFFBE1DBBE6EB4E16DF44AF", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-7890D04C895741D156B4CD248D86C90B11222E3D0CFFBE1DBBE6EB4E16DF44AF-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "4CAF86CE9E79D0CFB910EEA185D27BAEE03F8C07AE132E4F71996C4108378F44", - "blockHeight": 475634, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "78A0F5ACEAD9859D38341C057795BD111B4E833D8E1442C8DD7FD70D33D8E5FE", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-78A0F5ACEAD9859D38341C057795BD111B4E833D8E1442C8DD7FD70D33D8E5FE-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "AEEFD59F2DE53E219929B31062C6C51C69687FFA5304843DD4AB3F8F6E8DE466", - "blockHeight": 475777, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "78D714837325917278A8AF5764434A03705F9DAD9F7CA6847365FF4CBF53D0CF", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-78D714837325917278A8AF5764434A03705F9DAD9F7CA6847365FF4CBF53D0CF-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "75BDE6D6274A1A695D88406FB82D682B31AB9F4E0BE4A560A85C2D30B0C70994", - "blockHeight": 475662, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "7C3218B79282EFAD5B685409A4FEC3A44055F70B07B7E525C37B6E7B21A9F8CA", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-7C3218B79282EFAD5B685409A4FEC3A44055F70B07B7E525C37B6E7B21A9F8CA-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "62F3664967FEEB28BBE46F2A90DB15F42820BA889CED46DCAC580FB702F70E9B", - "blockHeight": 475770, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "810AA2EF212D3E8A7C03CD1625DF7D7F9511B66FCD92E14E187D977BF28B6943", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-810AA2EF212D3E8A7C03CD1625DF7D7F9511B66FCD92E14E187D977BF28B6943-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "505361D2C6F7F9F0EC31FBF32BA9119B978EFE92E1730FA4E02E30D0B64E27DD", - "blockHeight": 475787, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "81EF664D57482F089FF20BD5EB5B93B5B65DF85F6921FB5E405B3D3E9812AB75", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-81EF664D57482F089FF20BD5EB5B93B5B65DF85F6921FB5E405B3D3E9812AB75-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "A7C516F91711E3419DD965DC4044595003F07D85FB18AE9DE548BC3AF9095267", - "blockHeight": 475800, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "840663D8C94550DBFAFDE223F2C9FFAAC470350AE3DD13358F4DB851BF3859E4", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-840663D8C94550DBFAFDE223F2C9FFAAC470350AE3DD13358F4DB851BF3859E4-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "3600000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "F07D5AF0FEACD4391177EC152B4CD9BA775E20A6AF4835DC3A3E7753E2234DB1", - "blockHeight": 475669, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "881DAE6EEA3D5AD8E3F10A68FAD1A33CC129DB10F493F95BE1B93326B08A4E47", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-881DAE6EEA3D5AD8E3F10A68FAD1A33CC129DB10F493F95BE1B93326B08A4E47-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "6900000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "096603C58A63E9317B0879275AFE5001BDCEA27A9A224FB86CA81CC166AB36CD", - "blockHeight": 475588, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "895BB04F2CEAA1DE4A90937F71D780F7E8E9074448350BD5682072861803667E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-895BB04F2CEAA1DE4A90937F71D780F7E8E9074448350BD5682072861803667E-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "DFAD10CCDE0B6B153648012D40925E191E86206051353F6C3753BCB288F40FAD", - "blockHeight": 475315, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "8B83DF13980F7F415F6065435462EB9D870136A25F61C017F1E31716729D6859", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-8B83DF13980F7F415F6065435462EB9D870136A25F61C017F1E31716729D6859-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1200000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "B80633ABE1D4DE468F208D29591A142862DA43AD36E1035AA536A999D4E86982", - "blockHeight": 475773, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "92C9EE08864F572B151B81FECE85E1A2D67F095097E3939023609296F701B820", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-92C9EE08864F572B151B81FECE85E1A2D67F095097E3939023609296F701B820-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "CB56EEEADAEEFA25E7DF981872001068FB7EDAE255B3B40259CA7DF0CBBBDBE6", - "blockHeight": 475697, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A3AE53CB810F7C24179F926A3BDE6120AB2B35898C75F045567337FBCBD439D5", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A3AE53CB810F7C24179F926A3BDE6120AB2B35898C75F045567337FBCBD439D5-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "3900000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "B2C8C6CDF1385D88DD289249B4E35F27C858FEC3EA5251BBAE7E9405DA2011F5", - "blockHeight": 475780, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A3C8FCD0EE0B6897348E24987BE07312034B25825C400871B680A1339DDF9CBF", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A3C8FCD0EE0B6897348E24987BE07312034B25825C400871B680A1339DDF9CBF-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "F890AC23426C68E4B7F45AE1D75D98C30AC9841D9397FED6D07B3BD3E0A217CF", - "blockHeight": 475630, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A442E147462C014BBF121BA0C6E0A501AFAE746755D9789E98CDB97EF8F3CE98", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A442E147462C014BBF121BA0C6E0A501AFAE746755D9789E98CDB97EF8F3CE98-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "1C8218C007E594865EEB3BAB7ACB491BEF18FD600B188907E3C68ADB98B9F95A", - "blockHeight": 475677, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A67AF684992CF8FB51383CAECEF0468004966B5589AADE9199D2EEDD7B11CC44", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A67AF684992CF8FB51383CAECEF0468004966B5589AADE9199D2EEDD7B11CC44-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "2994715625", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "A0F2BCA0D3A7417FF1F0E8B3F0B2EA4B9B66ADEBFBA8E5BE88324AB6BFD081F8", - "blockHeight": 475409, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A70FB2103B1C3663FF05FD443397E283F28C643502FD17677D1174BCF84743BF", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A70FB2103B1C3663FF05FD443397E283F28C643502FD17677D1174BCF84743BF-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "11000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9E9AA41FA0AB94F0BF18940A0106E5C98A6DFFC7BE5A76DFA8ACF0F902F9FF14", - "blockHeight": 475558, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A71474C8E263E8EE117854437FE1053D689D5287652ED4AA9463DDF514488EB9", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-A71474C8E263E8EE117854437FE1053D689D5287652ED4AA9463DDF514488EB9-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "200000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "D06993FA12C8EE1340A66A7DFBEBBFA42A005459FB679141C648FFCD5DE1E3CF", - "blockHeight": 475784, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "AA76EB7DA6B27748636B62F3681E2CD91E09091F552D9BB66F13DF88EFD52E81", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-AA76EB7DA6B27748636B62F3681E2CD91E09091F552D9BB66F13DF88EFD52E81-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "03FD2B7D50DF958103B63BBC00600C93208F185E94BB7C847FBBC2C38CB8D133", - "blockHeight": 475622, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "AF4D82A9D52B05C5612D198436B24A43F03EF031B385A3B0E7A138509A73DC93", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-AF4D82A9D52B05C5612D198436B24A43F03EF031B385A3B0E7A138509A73DC93-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "65000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "891B064C716FEEB70F62A4D653517CE8EE7147766009BB41ACBA0A9A2B3BF706", - "blockHeight": 475365, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "B0B861233740D9B35FCB52E22ABF4B8A114033A7F5CEC5A44E645F6D6F996115", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-B0B861233740D9B35FCB52E22ABF4B8A114033A7F5CEC5A44E645F6D6F996115-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "type": "IN", - "value": "1100000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "D9BECD5D516C099B1E8D005D518B81FDACE58E27A09480D18131B0DEA4727A85", - "blockHeight": 475736, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "B24D24A195CE627893DAB8C1170A088757686E36F7DDDB6270993A19B0A1286F", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-B24D24A195CE627893DAB8C1170A088757686E36F7DDDB6270993A19B0A1286F-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "2000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "D34BB8F5E493FB6A85A5FBEDEC88B2C3932AA92339832B456087EE86B0166429", - "blockHeight": 475692, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "B7D2CECDE55161E71137E4F6D4929A24800DA0EC9D38D659EF4A93144E1D7751", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-B7D2CECDE55161E71137E4F6D4929A24800DA0EC9D38D659EF4A93144E1D7751-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "3956130000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "137751DC33AF69F79C7458DBEAD1C393C4865B95FFF14CD184743F97ED599120", - "blockHeight": 475665, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "BD3622BB4D25555EB8E30ED89A2C50B88938AF53D7576784B00F35C40A2704F9", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-BD3622BB4D25555EB8E30ED89A2C50B88938AF53D7576784B00F35C40A2704F9-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "BA5D1EE1FB0CCEF02DFE10DF68A918872DC249B4EFF9512834703475A936C19C", - "blockHeight": 475414, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "C1A9A31E057562701A926EFEBBD6F0FDD0A6FA747B6C38CD9FB74E431626B6C5", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-C1A9A31E057562701A926EFEBBD6F0FDD0A6FA747B6C38CD9FB74E431626B6C5-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "4613600000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "09EF54EF9E7093E561A3216459157428AB1801E46C997397117BC2DBA67D4A9B", - "blockHeight": 475638, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "C4A57D6EE0863EB9F337921DD2758263458BB4D7DD3336E09BB6DE772AD20A96", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-C4A57D6EE0863EB9F337921DD2758263458BB4D7DD3336E09BB6DE772AD20A96-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "5A34A5E43C2178BEECB0D8C95459F41AA9BA0F8D57AD91ABC14D4E43DE938A84", - "blockHeight": 475404, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CB5C9D3323ABA2B31D33945EB8F076FF688BFBFC50A1221784572501D76CDCEC", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-CB5C9D3323ABA2B31D33945EB8F076FF688BFBFC50A1221784572501D76CDCEC-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1312735000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "90A60300015E578163875A49244A58B6A729C97E7104B76FCCA86EB3D883EEA4", - "blockHeight": 475450, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CC9A93E39D3D076F7566747EADADA34628DAAC90AD2938EBB79E953D57C6F215", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-CC9A93E39D3D076F7566747EADADA34628DAAC90AD2938EBB79E953D57C6F215-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "2000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "76935559DD46FDAA9F49CA03045980F74A51F39F18DB6E790F34DAF307D48ECD", - "blockHeight": 475545, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CCA755BCAE964018D082A7DD72929319988B48EFA0FA7B824A989A3269F63603", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-CCA755BCAE964018D082A7DD72929319988B48EFA0FA7B824A989A3269F63603-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "ED8DA2CD8FD8AE4AAC2B521E7869B36C43FE73597AA4C3D3898D9C26AB2AC872", - "blockHeight": 475510, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CD0E28BEF45BC71A979DFC63BDBD5250B58F1EB11C79FF6C467B7DFAAA695954", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-CD0E28BEF45BC71A979DFC63BDBD5250B58F1EB11C79FF6C467B7DFAAA695954-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "396317000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "7BD6EE01108C9EA8ABB4EC8C6C235FA5203DF4955494CA4E1A936561431B6465", - "blockHeight": 475474, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CF1558316340399AC31D582AC254B120AAC8B98BA3C0A70E35AD00D93802396E", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-CF1558316340399AC31D582AC254B120AAC8B98BA3C0A70E35AD00D93802396E-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "6500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "3D5A9900886388C16E922B57006C511D34B64B166DC2703467C590575FC12EBD", - "blockHeight": 475682, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E04DB94AD19BE2A3DB32E71301D985D24681B6A975ED5ABA282697357AD0273B", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E04DB94AD19BE2A3DB32E71301D985D24681B6A975ED5ABA282697357AD0273B-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "3443178300", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "E36F79A1438AD0692C6F60B5B8DB4518E8EC1B8B50BFBD5A496303D628E52C5F", - "blockHeight": 475791, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E3CAB2244061096BF119CD461E7B5A498943EE4BEC36E51758235F4E813A2DFA", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E3CAB2244061096BF119CD461E7B5A498943EE4BEC36E51758235F4E813A2DFA-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "12F3E9B451EFDC8864E2793DC8CA183D8FF0C588B69F208E7AC27DBA182F33B1", - "blockHeight": 475424, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E564C3D286EF6BC9105B6E27A61A4E62B2013C4A9C7F1BBF305A2B082BC09E56", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E564C3D286EF6BC9105B6E27A61A4E62B2013C4A9C7F1BBF305A2B082BC09E56-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "6000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "E4120B0AC52B3D3BF26F856F558DAEB193D642D3E1E32B371A7B7A9170785631", - "blockHeight": 475463, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E5CD6976E40153B1F8A563D328F2C8ABAA3FBB12311FFF0BC6A96714D3CF7A97", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E5CD6976E40153B1F8A563D328F2C8ABAA3FBB12311FFF0BC6A96714D3CF7A97-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "100000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "615C10C360A48F779A7208A298F017EA1CB9EA260C6895B800E77C8C413241F9", - "blockHeight": 475310, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E70F0FB65CB638F83B476F7317259637FEE4E057BA1EEA6E808761A7D8786179", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E70F0FB65CB638F83B476F7317259637FEE4E057BA1EEA6E808761A7D8786179-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1554600000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "7216FBFEF8D78738A180CFB361DA4D23CC8E206D96502A114FBA29658DFB7471", - "blockHeight": 475654, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E9DB46CF48CFA47566DAF4128D736A43E40C796E8A8626D134791DCA6081CEAA", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-E9DB46CF48CFA47566DAF4128D736A43E40C796E8A8626D134791DCA6081CEAA-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "6F057D49F26D776F42F6FA8178048BB3993E333AB054F5BF19689B0910016C49", - "blockHeight": 475794, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "EBB379CFC0352DFA330F345962DD0B1698E06186B0522CB345C3743F4D9BDF2B", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-EBB379CFC0352DFA330F345962DD0B1698E06186B0522CB345C3743F4D9BDF2B-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "6AA13C5B1867390808E4A99A31CC786311D690567EB41C23160CFFEADC8412DE", - "blockHeight": 475300, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "EBDCE525373802A4F4AAFD7F82920EADB4C92219A6CFDCB8ACB7326C3632C14A", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-EBDCE525373802A4F4AAFD7F82920EADB4C92219A6CFDCB8ACB7326C3632C14A-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "1E462C00689107A52B107A71B9EC1ECE9943ACBF93468601C5DC7200470BDC11", - "blockHeight": 475440, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "EC2F000A93F45FEDB9A1C7E1F647B61CB16D144FA1321FF6EAF39C4766AC6F4D", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-EC2F000A93F45FEDB9A1C7E1F647B61CB16D144FA1321FF6EAF39C4766AC6F4D-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1qz3fwu2mwgsnt5q37xxnpm4xff9ym6w3kuzfsm", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "16FBB5A126ED2A70ABAABFDE3F68A6FA8F8A61B155BF4855236FF093B0EDD93E", - "blockHeight": 475643, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "F75EBB37D893BA9BE80D08FADE1C5BB136C174C744B328AB2245943940D7C3E0", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-F75EBB37D893BA9BE80D08FADE1C5BB136C174C744B328AB2245943940D7C3E0-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "4500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "B5159C8F2B9575A0C57DDE8B9C8836E9F0BFADC6A6BA32694E9B6D8B7C3C9004", - "blockHeight": 475520, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "FC946F3E3E953B012522666E7FF5C1B8406D2655EA7CD3472E6821E11C6A7C71", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-FC946F3E3E953B012522666E7FF5C1B8406D2655EA7CD3472E6821E11C6A7C71-OUT", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "OUT", - "value": "400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:", - "blockHash": "9932AAE3CF79B0B5E2B7231FEB20524DA2EA826820065AC13C81D9562BCA6A87", - "blockHeight": 475658, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "FE48229D931C73B5D8B4E7CBFE13DEF484C6131B3F1403BDBEE66040FD8AB9DD", - "id": "js:2:crypto_org_croeseid:tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9:-FE48229D931C73B5D8B4E7CBFE13DEF484C6131B3F1403BDBEE66040FD8AB9DD-IN", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "IN", - "value": "10000000000", - }, - ], - [ - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "FD22872A874E87BC9A92C9EC45FF55B9049F05089EF23BFFB50EB574EE8B2F77", - "blockHeight": 475745, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "05ABDF5AC965FA4901A50B9C9357C72B4BB4085B81441A2DC7D6928A56E6FD3F", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-05ABDF5AC965FA4901A50B9C9357C72B4BB4085B81441A2DC7D6928A56E6FD3F-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "C22E6AD83F6AAA92F2A5623A730192B398780DF1F38099F884C1488602357F46", - "blockHeight": 475741, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "073586C2F75BDCAA3FE21D152B216273FD58569C9D6650E194EAB808583FEFD4", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-073586C2F75BDCAA3FE21D152B216273FD58569C9D6650E194EAB808583FEFD4-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "2000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "D70BD5102E6FA3B1356C3722C53715474546F83FBDBEC6FC9CAC1FB410E6AB4E", - "blockHeight": 475648, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "0D238F4F868FCDA6D6F9F51EBF200FE5CEF37A7C1B5DA3D194D23EEA65FCCF7D", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-0D238F4F868FCDA6D6F9F51EBF200FE5CEF37A7C1B5DA3D194D23EEA65FCCF7D-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "8EEAE3C98CC39485AE317CDE85061F18A6818C4A688879F41C0DD10EF80AACE8", - "blockHeight": 475626, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "16E562DEAEEC1EBF29318A335793BC02E57D0612134D186C3AC14FD71922521D", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-16E562DEAEEC1EBF29318A335793BC02E57D0612134D186C3AC14FD71922521D-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "6424BEC8B78246B94B7CB3FC4DBE3F629C512FA4A6C27DB3CB162207ECB756A5", - "blockHeight": 475577, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "1975982DF8BA767720FEBD0FDF040721752F06EBE899A0BC00F5A4FEC59B1622", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-1975982DF8BA767720FEBD0FDF040721752F06EBE899A0BC00F5A4FEC59B1622-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "E2FF5EC934FC0166799C5E45B2FE1A9A890B8E3D3C5C33523A395D8E8B77944A", - "blockHeight": 475572, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "20A453A3FBC49B2DDA1B73DF301E061B13D2F8D432A029475CF80C9184330F1E", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-20A453A3FBC49B2DDA1B73DF301E061B13D2F8D432A029475CF80C9184330F1E-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "9226BCC1918DE938125046A424451531E5A8EE6166D037CD9615556F8157947E", - "blockHeight": 475702, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "21A2E4A5469253852E1572716D0E25ACBE5703236E464F665CDEF9B54F7BDA5B", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-21A2E4A5469253852E1572716D0E25ACBE5703236E464F665CDEF9B54F7BDA5B-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "ECB4C11C9F2709484A90A53D3518EA8E6099A6A0DF12563C0438F7756ED75E22", - "blockHeight": 475598, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "23BA30BC41F7480236FEFC11EEE8E1F2050DFFC03254FF318DAE746788AF701E", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-23BA30BC41F7480236FEFC11EEE8E1F2050DFFC03254FF318DAE746788AF701E-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "600000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "15F63EEF8E3513575A729A4787D8554E05A33140C7E36FAE6143E0D68B1E3087", - "blockHeight": 475687, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "26B9472C779BDB2B8ACC030DCA13C1BEAF008ABBA3D906DFAFC4527B8CF60BAE", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-26B9472C779BDB2B8ACC030DCA13C1BEAF008ABBA3D906DFAFC4527B8CF60BAE-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "FDAAF3EC4B353F7A90E9BD48C716FC21FE0B5274BC9774C73DA683D0645EEB10", - "blockHeight": 475591, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "3A4377726D2ACD05EE36E910040EB228CB6C5D09F43AF050131163E2841A278E", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-3A4377726D2ACD05EE36E910040EB228CB6C5D09F43AF050131163E2841A278E-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "9D3B6EA4927A586C689689B18D05B47852811B87E3B395E9575297322BAD4471", - "blockHeight": 475553, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "47DE69631988357037022D49FB13DE3FE1DE0AE6162508712FA15E5868644CFC", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-47DE69631988357037022D49FB13DE3FE1DE0AE6162508712FA15E5868644CFC-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "4000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "2A312E96985DB48BA9C6675EEA576F6140914F13D92C78A5D110774384A75053", - "blockHeight": 475673, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "49A89C91CA40A7CD437FDB30799FCBD6ED3177BCBF918A1C6BDF0BD9A948EAA4", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-49A89C91CA40A7CD437FDB30799FCBD6ED3177BCBF918A1C6BDF0BD9A948EAA4-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "7400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "65E3F68342D1984A604F619D3AF3002B6675087B0D63C53CE59597099225CB33", - "blockHeight": 475542, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "4BF78D7BED49DFC69ABAC9BDFDCFB0AC11B505A1BE37BBE2AC2BD2DB0C58479B", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-4BF78D7BED49DFC69ABAC9BDFDCFB0AC11B505A1BE37BBE2AC2BD2DB0C58479B-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "598CB7DEB1A364E0A93FECB01AE9739BF26638F0253753C8171699EF6FFBE954", - "blockHeight": 475539, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "51FC85B6DC986D6E7401E343DE8E1471120083C7C0F9C2A1C760977C305869FB", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-51FC85B6DC986D6E7401E343DE8E1471120083C7C0F9C2A1C760977C305869FB-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "C34DAC40BC53CF5C6C4594B4B6398D14BE3E266BBC9295BA982779F8091D1218", - "blockHeight": 475515, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "538AC715CE971325AA1D91A4926F29F21BDEE54BCC3E97B9C52420520C7A2CBC", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-538AC715CE971325AA1D91A4926F29F21BDEE54BCC3E97B9C52420520C7A2CBC-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "135000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "C0A276C49B444F84223B34DE4C78F94E8C62B1A4C1105820720D6D78D225D1C6", - "blockHeight": 475607, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "5A742128B83BE75BBA7C569CDBA982A95EB7AFCADE533B9A87AA08657ACC1624", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-5A742128B83BE75BBA7C569CDBA982A95EB7AFCADE533B9A87AA08657ACC1624-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "10000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "D105504FDAC3EF7B88849A2AE15FBF865A6B3D0A835F1A926668218C742DF865", - "blockHeight": 475562, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "603EB76AFC9790CD7994750E05D7A74A89F9CB211ED2F2C9C8CA754B2F0D9FE7", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-603EB76AFC9790CD7994750E05D7A74A89F9CB211ED2F2C9C8CA754B2F0D9FE7-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "300000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "9B3769B064225D419D9B9473C5170C08A47CC9B31D0DBB7ADD7D48632584E74C", - "blockHeight": 475530, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "670BF915FC22D090F3A394086849AFD37130AC086A7CD83362FC29F49C599840", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-670BF915FC22D090F3A394086849AFD37130AC086A7CD83362FC29F49C599840-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "1000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "05872A893E70A69A0A789BF380AA4047855961763A9DB55F975A2EA2C75BBB18", - "blockHeight": 475582, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "71C2CCEC8EB15CC2E7825445A944ACF4D35FE7E051736EDD195B08E9353B75FD", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-71C2CCEC8EB15CC2E7825445A944ACF4D35FE7E051736EDD195B08E9353B75FD-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "23000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "4CAF86CE9E79D0CFB910EEA185D27BAEE03F8C07AE132E4F71996C4108378F44", - "blockHeight": 475634, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "78A0F5ACEAD9859D38341C057795BD111B4E833D8E1442C8DD7FD70D33D8E5FE", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-78A0F5ACEAD9859D38341C057795BD111B4E833D8E1442C8DD7FD70D33D8E5FE-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "75BDE6D6274A1A695D88406FB82D682B31AB9F4E0BE4A560A85C2D30B0C70994", - "blockHeight": 475662, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "7C3218B79282EFAD5B685409A4FEC3A44055F70B07B7E525C37B6E7B21A9F8CA", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-7C3218B79282EFAD5B685409A4FEC3A44055F70B07B7E525C37B6E7B21A9F8CA-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "F07D5AF0FEACD4391177EC152B4CD9BA775E20A6AF4835DC3A3E7753E2234DB1", - "blockHeight": 475669, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "881DAE6EEA3D5AD8E3F10A68FAD1A33CC129DB10F493F95BE1B93326B08A4E47", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-881DAE6EEA3D5AD8E3F10A68FAD1A33CC129DB10F493F95BE1B93326B08A4E47-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "6900000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "096603C58A63E9317B0879275AFE5001BDCEA27A9A224FB86CA81CC166AB36CD", - "blockHeight": 475588, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "895BB04F2CEAA1DE4A90937F71D780F7E8E9074448350BD5682072861803667E", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-895BB04F2CEAA1DE4A90937F71D780F7E8E9074448350BD5682072861803667E-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "1500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "B67A64F5F14349C39C3E3C38A71D0468B8E89BB081B22974669004C8E2A37659", - "blockHeight": 475749, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A27AC15CE54B245DFD6916AB55D27E5701FB939BCC1A2037141E491BB6AC13BE", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-A27AC15CE54B245DFD6916AB55D27E5701FB939BCC1A2037141E491BB6AC13BE-OUT", - "recipients": [ - "tcro18448xl4yn5ugkxvwc3xfatmj4lad4j8tw5h4xx", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "2000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "CB56EEEADAEEFA25E7DF981872001068FB7EDAE255B3B40259CA7DF0CBBBDBE6", - "blockHeight": 475697, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A3AE53CB810F7C24179F926A3BDE6120AB2B35898C75F045567337FBCBD439D5", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-A3AE53CB810F7C24179F926A3BDE6120AB2B35898C75F045567337FBCBD439D5-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "3900000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "F890AC23426C68E4B7F45AE1D75D98C30AC9841D9397FED6D07B3BD3E0A217CF", - "blockHeight": 475630, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A442E147462C014BBF121BA0C6E0A501AFAE746755D9789E98CDB97EF8F3CE98", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-A442E147462C014BBF121BA0C6E0A501AFAE746755D9789E98CDB97EF8F3CE98-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "1C8218C007E594865EEB3BAB7ACB491BEF18FD600B188907E3C68ADB98B9F95A", - "blockHeight": 475677, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A67AF684992CF8FB51383CAECEF0468004966B5589AADE9199D2EEDD7B11CC44", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-A67AF684992CF8FB51383CAECEF0468004966B5589AADE9199D2EEDD7B11CC44-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "2994715625", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "9E9AA41FA0AB94F0BF18940A0106E5C98A6DFFC7BE5A76DFA8ACF0F902F9FF14", - "blockHeight": 475558, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "A71474C8E263E8EE117854437FE1053D689D5287652ED4AA9463DDF514488EB9", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-A71474C8E263E8EE117854437FE1053D689D5287652ED4AA9463DDF514488EB9-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "200000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "03FD2B7D50DF958103B63BBC00600C93208F185E94BB7C847FBBC2C38CB8D133", - "blockHeight": 475622, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "AF4D82A9D52B05C5612D198436B24A43F03EF031B385A3B0E7A138509A73DC93", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-AF4D82A9D52B05C5612D198436B24A43F03EF031B385A3B0E7A138509A73DC93-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "65000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "D34BB8F5E493FB6A85A5FBEDEC88B2C3932AA92339832B456087EE86B0166429", - "blockHeight": 475692, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "B7D2CECDE55161E71137E4F6D4929A24800DA0EC9D38D659EF4A93144E1D7751", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-B7D2CECDE55161E71137E4F6D4929A24800DA0EC9D38D659EF4A93144E1D7751-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "3956130000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "137751DC33AF69F79C7458DBEAD1C393C4865B95FFF14CD184743F97ED599120", - "blockHeight": 475665, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "BD3622BB4D25555EB8E30ED89A2C50B88938AF53D7576784B00F35C40A2704F9", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-BD3622BB4D25555EB8E30ED89A2C50B88938AF53D7576784B00F35C40A2704F9-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "09EF54EF9E7093E561A3216459157428AB1801E46C997397117BC2DBA67D4A9B", - "blockHeight": 475638, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "C4A57D6EE0863EB9F337921DD2758263458BB4D7DD3336E09BB6DE772AD20A96", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-C4A57D6EE0863EB9F337921DD2758263458BB4D7DD3336E09BB6DE772AD20A96-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "5000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "76935559DD46FDAA9F49CA03045980F74A51F39F18DB6E790F34DAF307D48ECD", - "blockHeight": 475545, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CCA755BCAE964018D082A7DD72929319988B48EFA0FA7B824A989A3269F63603", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-CCA755BCAE964018D082A7DD72929319988B48EFA0FA7B824A989A3269F63603-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "ED8DA2CD8FD8AE4AAC2B521E7869B36C43FE73597AA4C3D3898D9C26AB2AC872", - "blockHeight": 475510, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "CD0E28BEF45BC71A979DFC63BDBD5250B58F1EB11C79FF6C467B7DFAAA695954", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-CD0E28BEF45BC71A979DFC63BDBD5250B58F1EB11C79FF6C467B7DFAAA695954-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "396317000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "3D5A9900886388C16E922B57006C511D34B64B166DC2703467C590575FC12EBD", - "blockHeight": 475682, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E04DB94AD19BE2A3DB32E71301D985D24681B6A975ED5ABA282697357AD0273B", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-E04DB94AD19BE2A3DB32E71301D985D24681B6A975ED5ABA282697357AD0273B-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "3443178300", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "7216FBFEF8D78738A180CFB361DA4D23CC8E206D96502A114FBA29658DFB7471", - "blockHeight": 475654, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "E9DB46CF48CFA47566DAF4128D736A43E40C796E8A8626D134791DCA6081CEAA", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-E9DB46CF48CFA47566DAF4128D736A43E40C796E8A8626D134791DCA6081CEAA-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "10000000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "16FBB5A126ED2A70ABAABFDE3F68A6FA8F8A61B155BF4855236FF093B0EDD93E", - "blockHeight": 475643, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "F75EBB37D893BA9BE80D08FADE1C5BB136C174C744B328AB2245943940D7C3E0", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-F75EBB37D893BA9BE80D08FADE1C5BB136C174C744B328AB2245943940D7C3E0-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "4500000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "B5159C8F2B9575A0C57DDE8B9C8836E9F0BFADC6A6BA32694E9B6D8B7C3C9004", - "blockHeight": 475520, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "FC946F3E3E953B012522666E7FF5C1B8406D2655EA7CD3472E6821E11C6A7C71", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-FC946F3E3E953B012522666E7FF5C1B8406D2655EA7CD3472E6821E11C6A7C71-IN", - "recipients": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "senders": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "type": "IN", - "value": "400000000", - }, - { - "accountId": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:", - "blockHash": "9932AAE3CF79B0B5E2B7231FEB20524DA2EA826820065AC13C81D9562BCA6A87", - "blockHeight": 475658, - "extra": { - "memo": "", - }, - "fee": "5000", - "hasFailed": false, - "hash": "FE48229D931C73B5D8B4E7CBFE13DEF484C6131B3F1403BDBEE66040FD8AB9DD", - "id": "js:2:crypto_org_croeseid:tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp:-FE48229D931C73B5D8B4E7CBFE13DEF484C6131B3F1403BDBEE66040FD8AB9DD-OUT", - "recipients": [ - "tcro1k5u8tzh8nsfm6uqwlc48xz4g5j3mm8xx9zy5y9", - ], - "senders": [ - "tcro1ehq3qxxsyjwvau6v9qn2twv06ut78g4v4g3jmp", - ], - "type": "OUT", - "value": "10000000000", - }, - ], - [], -] -`; diff --git a/libs/ledger-live-common/src/families/crypto_org/account.ts b/libs/ledger-live-common/src/families/crypto_org/account.ts deleted file mode 100644 index ca15ecfe1080..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/account.ts +++ /dev/null @@ -1,46 +0,0 @@ -import invariant from "invariant"; -import { getAccountCurrency } from "../../account"; -import { formatCurrencyUnit } from "../../currencies"; -import type { CryptoOrgAccount } from "./types"; - -function formatAccountSpecifics(account: CryptoOrgAccount): string { - const { cryptoOrgResources } = account; - invariant(cryptoOrgResources, "Cronos POS Chain (formerly Crypto.org) account expected"); - if (!cryptoOrgResources) - throw new Error("Cronos POS Chain (formerly Crypto.org) account expected"); - const unit = getAccountCurrency(account).units[0]; - const formatConfig = { - disableRounding: true, - alwaysShowSign: false, - showCode: true, - }; - let str = " "; - str += formatCurrencyUnit(unit, account.spendableBalance, formatConfig) + " spendable. "; - - if (cryptoOrgResources.bondedBalance.gt(0)) { - str += formatCurrencyUnit(unit, cryptoOrgResources.bondedBalance, formatConfig) + " bonded. "; - } - - if (cryptoOrgResources.redelegatingBalance.gt(0)) { - str += - formatCurrencyUnit(unit, cryptoOrgResources.redelegatingBalance, formatConfig) + - " redelegatingBalance. "; - } - - if (cryptoOrgResources.unbondingBalance.gt(0)) { - str += - formatCurrencyUnit(unit, cryptoOrgResources.unbondingBalance, formatConfig) + - " unbondingBalance. "; - } - - if (cryptoOrgResources.commissions.gt(0)) { - str += - formatCurrencyUnit(unit, cryptoOrgResources.commissions, formatConfig) + " commissions. "; - } - - return str; -} - -export default { - formatAccountSpecifics, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/api/index.ts b/libs/ledger-live-common/src/families/crypto_org/api/index.ts deleted file mode 100644 index ce9122121aa1..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/api/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { getAccount, getOperations, broadcastTransaction, getAccountParams } from "./sdk"; diff --git a/libs/ledger-live-common/src/families/crypto_org/api/sdk.ts b/libs/ledger-live-common/src/families/crypto_org/api/sdk.ts deleted file mode 100644 index 1873ed72d0aa..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/api/sdk.ts +++ /dev/null @@ -1,217 +0,0 @@ -import { utils } from "@crypto-org-chain/chain-jslib"; -import network from "@ledgerhq/live-network/network"; -import type { OperationType } from "@ledgerhq/types-live"; -import { BigNumber } from "bignumber.js"; -import { getEnv } from "@ledgerhq/live-env"; -import { encodeOperationId } from "../../../operation"; -import { getCroSdk, isTestNet } from "../logic"; -import { CryptoOrgOperation } from "../types"; -import { - CryptoOrgAccountTransaction, - CryptoOrgAccountTransactionTypeEnum, - CryptoOrgAmount, - CryptoOrgCurrency, - CryptoOrgMsgSendContent, - CryptoOrgTestnetCurrency, -} from "./sdk.types"; -const PAGINATION_LIMIT = 200; -const instances = {}; - -/** - * Get CroClient - */ -export async function getClient(currencyId: string) { - if (instances[currencyId]) { - return instances[currencyId]; - } - - const crypto_org_rpc_url = isTestNet(currencyId) - ? getEnv("CRYPTO_ORG_TESTNET_RPC_URL") - : getEnv("CRYPTO_ORG_RPC_URL"); - instances[currencyId] = await getCroSdk(currencyId).CroClient.connect(crypto_org_rpc_url); - return instances[currencyId]; -} - -/** - * Extract only the cro amount from list of currencies - */ -export const getCroAmount = (amounts: CryptoOrgAmount[], currencyId: string) => { - const cryptoOrgCurrency = isTestNet(currencyId) ? CryptoOrgTestnetCurrency : CryptoOrgCurrency; - return amounts.reduce( - (result, current) => - current.denom === cryptoOrgCurrency ? result.plus(new BigNumber(current.amount)) : result, - new BigNumber(0), - ); -}; - -/** - * Get account balances - */ -export const getAccount = async (addr: string, currencyId: string) => { - const client = await getClient(currencyId); - const { header } = await client.getBlock(); - const crypto_org_indexer = isTestNet(currencyId) - ? getEnv("CRYPTO_ORG_TESTNET_INDEXER") - : getEnv("CRYPTO_ORG_INDEXER"); - let balance = new BigNumber(0); - let bondedBalance = new BigNumber(0); - let redelegatingBalance = new BigNumber(0); - let unbondingBalance = new BigNumber(0); - let commissions = new BigNumber(0); - let data; - - try { - const response = await network({ - method: "GET", - url: `${crypto_org_indexer}/api/v1/accounts/${addr}`, - }); - data = response.data; - } catch (error: any) { - if (error?.status !== 404) { - throw error; - } - } - - if (data) { - balance = getCroAmount(data.result.balance, currencyId); - bondedBalance = getCroAmount(data.result.bondedBalance, currencyId); - redelegatingBalance = getCroAmount(data.result.redelegatingBalance, currencyId); - unbondingBalance = getCroAmount(data.result.unbondingBalance, currencyId); - commissions = getCroAmount(data.result.commissions, currencyId); - } - - return { - blockHeight: header.height, - balance: new BigNumber(balance), - bondedBalance: new BigNumber(bondedBalance), - redelegatingBalance: new BigNumber(redelegatingBalance), - unbondingBalance: new BigNumber(unbondingBalance), - commissions: new BigNumber(commissions), - }; -}; - -/** - * Get account information for sending transactions - */ -export const getAccountParams = async (addr: string, currencyId: string) => { - const client = await getClient(currencyId); - const { accountNumber, sequence } = await client.getAccount(addr); - return { - accountNumber: accountNumber ?? 0, - sequence: sequence ?? 0, - }; -}; - -/** - * Returns true if account is the signer - */ -function isSender(transaction: CryptoOrgMsgSendContent, addr: string): boolean { - return transaction.fromAddress === addr; -} - -/** - * Map transaction to an Operation Type - */ -function getOperationType( - messageSendContent: CryptoOrgMsgSendContent, - addr: string, -): OperationType { - return isSender(messageSendContent, addr) ? "OUT" : "IN"; -} - -/** - * Map transaction to a correct Operation Value (affecting account balance) - */ -function getOperationValue( - messageSendContent: CryptoOrgMsgSendContent, - currencyId: string, -): BigNumber { - return getCroAmount(messageSendContent.amount, currencyId); -} - -/** - * Map the send history transaction to a Ledger Live Operation - */ -function convertSendTransactionToOperation( - accountId: string, - addr: string, - messageSendContent: CryptoOrgMsgSendContent, - transaction: CryptoOrgAccountTransaction, - currencyId: string, - memo: string, -): CryptoOrgOperation { - const type = getOperationType(messageSendContent, addr); - return { - id: encodeOperationId(accountId, messageSendContent.txHash, type), - accountId, - fee: new BigNumber(getCroAmount(transaction.fee, currencyId)), - value: getOperationValue(messageSendContent, currencyId), - type, - hash: messageSendContent.txHash, - blockHash: transaction.blockHash, - blockHeight: transaction.blockHeight, - date: new Date(transaction.blockTime), - senders: [messageSendContent.fromAddress], - recipients: [messageSendContent.toAddress], - hasFailed: !transaction.success, - extra: { memo }, - }; -} - -/** - * Fetch operation list - */ -export const getOperations = async ( - accountId: string, - addr: string, - startAt: number, - currencyId: string, -): Promise => { - const rawTransactions: CryptoOrgOperation[] = []; - const crypto_org_indexer = isTestNet(currencyId) - ? getEnv("CRYPTO_ORG_TESTNET_INDEXER") - : getEnv("CRYPTO_ORG_INDEXER"); - const { data } = await network({ - method: "GET", - url: `${crypto_org_indexer}/api/v1/accounts/${addr}/transactions?pagination=offset&page=${ - startAt + 1 - }&limit=${PAGINATION_LIMIT}`, - }); - const accountTransactions: CryptoOrgAccountTransaction[] = data.result; - - for (let i = 0; i < accountTransactions.length; i++) { - const msgs = accountTransactions[i].messages; - const memo = accountTransactions[i].memo; - const memoTransaction = memo || ""; - - for (let j = 0; j < msgs.length; j++) { - const msgType: string = msgs[j].type; - if (msgType.includes(CryptoOrgAccountTransactionTypeEnum.MsgSend)) { - const msgSend: CryptoOrgMsgSendContent = msgs[j].content; - rawTransactions.push( - convertSendTransactionToOperation( - accountId, - addr, - msgSend, - accountTransactions[i], - currencyId, - memoTransaction, - ), - ); - } - } - } - - return rawTransactions; -}; - -/** - * Broadcast blob to blockchain - */ -export const broadcastTransaction = async (blob: string, currencyId: string) => { - const client = await getClient(currencyId); - const broadcastResponse = await client.broadcastTx( - utils.Bytes.fromHexString(blob).toUint8Array(), - ); - return broadcastResponse; -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/api/sdk.types.ts b/libs/ledger-live-common/src/families/crypto_org/api/sdk.types.ts deleted file mode 100644 index 03bb7f924e0f..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/api/sdk.types.ts +++ /dev/null @@ -1,45 +0,0 @@ -export const CryptoOrgAccountTransactionTypeEnum = { - MsgSend: "MsgSend", - MgsMultiSend: "MsgMultiSend", -}; -export const CryptoOrgCurrency = "basecro"; -export const CryptoOrgTestnetCurrency = "basetcro"; -export interface CryptoOrgAccountTransaction { - account: string; - blockHeight: number; - blockHash: string; - blockTime: Date; - hash: string; - messageTypes: string[]; - success: boolean; - code: number; - log: string; - fee: CryptoOrgAmount[]; - feePayer: string; - feeGranter: string; - gasWanted: number; - gasUsed: number; - memo: string; - timeoutHeight: number; - messages: any[]; -} -export interface CryptoOrgAmount { - denom: string; - amount: string; -} -export interface CryptoOrgMsgSendContent { - amount: CryptoOrgAmount[]; - height: number; - txHash: string; - msgName: string; - version: number; - msgIndex: number; - name: string; - uuid: string; - toAddress: string; - fromAddress: string; -} -export interface CryptoOrgMsgSend { - type: string; - content: CryptoOrgMsgSendContent; -} diff --git a/libs/ledger-live-common/src/families/crypto_org/bridge.integration.test.ts b/libs/ledger-live-common/src/families/crypto_org/bridge.integration.test.ts deleted file mode 100644 index f5c9d7d5a8ff..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/bridge.integration.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import "../../__tests__/test-helpers/setup"; -import { testBridge } from "../../__tests__/test-helpers/bridge"; -import type { Transaction } from "./types"; -import crypto_org_croeseid from "./datasets/croeseid"; -import type { DatasetTest } from "@ledgerhq/types-live"; - -const dataset: DatasetTest = { - implementations: ["mock", "js"], - currencies: { - crypto_org_croeseid, - }, -}; - -testBridge(dataset); diff --git a/libs/ledger-live-common/src/families/crypto_org/bridge/js.ts b/libs/ledger-live-common/src/families/crypto_org/bridge/js.ts deleted file mode 100644 index 01b6de1b232f..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/bridge/js.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type { AccountBridge, CurrencyBridge } from "@ledgerhq/types-live"; -import { defaultUpdateTransaction } from "@ledgerhq/coin-framework/bridge/jsHelpers"; -import { assignFromAccountRaw, assignToAccountRaw } from "../serialization"; -import { makeAccountBridgeReceive } from "../../../bridge/jsHelpers"; -import { getTransactionStatus } from "../getTransactionStatus"; -import { estimateMaxSpendable } from "../estimateMaxSpendable"; -import { prepareTransaction } from "../prepareTransaction"; -import { createTransaction } from "../createTransaction"; -import { sync, scanAccounts } from "../synchronisation"; -import { signOperation } from "../signOperation"; -import type { Transaction } from "../types"; -import { broadcast } from "../broadcast"; - -const currencyBridge: CurrencyBridge = { - preload: async () => Promise.resolve({}), - hydrate: () => {}, - scanAccounts, -}; - -const receive = makeAccountBridgeReceive(); -const accountBridge: AccountBridge = { - estimateMaxSpendable, - createTransaction, - updateTransaction: defaultUpdateTransaction, - getTransactionStatus, - prepareTransaction, - sync, - receive, - signOperation, - broadcast, - assignFromAccountRaw, - assignToAccountRaw, -}; -export default { - currencyBridge, - accountBridge, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/broadcast.ts b/libs/ledger-live-common/src/families/crypto_org/broadcast.ts deleted file mode 100644 index 1953f0f68944..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/broadcast.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { AccountBridge } from "@ledgerhq/types-live"; -import { patchOperationWithHash } from "../../operation"; -import { broadcastTransaction } from "./api"; -import { CryptoOrgErrorBroadcasting } from "./errors"; -import { Transaction } from "./types"; - -function isBroadcastTxFailure(result) { - return !!result.code; -} - -/** - * Broadcast the signed transaction - */ -export const broadcast: AccountBridge["broadcast"] = async ({ - account, - signedOperation: { signature, operation }, -}) => { - const broadcastResponse = await broadcastTransaction(signature, account.currency.id); - - if (isBroadcastTxFailure(broadcastResponse)) { - throw new CryptoOrgErrorBroadcasting( - `broadcasting failed with error code ${broadcastResponse.code}`, - ); - } - - return patchOperationWithHash(operation, broadcastResponse.transactionHash); -}; - -export default broadcast; diff --git a/libs/ledger-live-common/src/families/crypto_org/buildOptimisticOperation.ts b/libs/ledger-live-common/src/families/crypto_org/buildOptimisticOperation.ts deleted file mode 100644 index bd559c511393..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/buildOptimisticOperation.ts +++ /dev/null @@ -1,30 +0,0 @@ -import BigNumber from "bignumber.js"; -import { Account } from "@ledgerhq/types-live"; -import { encodeOperationId } from "@ledgerhq/coin-framework/operation"; -import { CryptoOrgOperation, Transaction } from "./types"; - -export const buildOptimisticOperation = ( - account: Account, - transaction: Transaction, - fee: BigNumber, -): CryptoOrgOperation => { - const type = "OUT"; - const value = new BigNumber(transaction.amount).plus(fee); - const operation: CryptoOrgOperation = { - id: encodeOperationId(account.id, "", type), - hash: "", - type, - value, - fee, - blockHash: null, - blockHeight: null, - senders: [account.freshAddress], - recipients: [transaction.recipient].filter(Boolean), - accountId: account.id, - date: new Date(), - extra: { - memo: transaction.memo, - }, - }; - return operation; -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/buildTransaction.ts b/libs/ledger-live-common/src/families/crypto_org/buildTransaction.ts deleted file mode 100644 index 1b4aafb92cc8..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/buildTransaction.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { Transaction } from "./types"; -import type { Account } from "@ledgerhq/types-live"; -import { Units, utils } from "@crypto-org-chain/chain-jslib"; -import { SIGN_MODE } from "@crypto-org-chain/chain-jslib/lib/dist/transaction/types"; -import { getAccountParams } from "./api/sdk"; -import { getCroSdk } from "./logic"; - -const getTransactionAmount = (a: Account, t: Transaction) => { - const croSdk = getCroSdk(a.currency.id); - - switch (t.mode) { - case "send": - if (t.useAllAmount) { - const balanceMinusFee = a.balance.minus(t.fees || 0); - return new croSdk.Coin(balanceMinusFee.toString(), Units.BASE); - } else { - return new croSdk.Coin(t.amount.toString(), Units.BASE); - } - - default: - throw new Error("Unknown mode in transaction"); - } -}; - -/** - * - * @param {Account} account - * @param {Transaction} transaction - */ -export const buildTransaction = async ( - account: Account, - transaction: Transaction, - publicKey: string, -) => { - const croSdk = getCroSdk(account.currency.id); - const address = account.freshAddress; - const { accountNumber, sequence } = await getAccountParams(address, account.currency.id); - const rawTx = new croSdk.RawTransaction(); - rawTx.setFee(new croSdk.Coin((transaction.fees || 0).toString(), Units.BASE)); - - const msgSend = new croSdk.bank.MsgSend({ - fromAddress: address, - toAddress: transaction.recipient, - amount: getTransactionAmount(account, transaction), - }); - - const { memo } = transaction; - const memoTransaction = memo || ""; - rawTx.setMemo(memoTransaction); - - const signableTx = rawTx - .appendMessage(msgSend) - .addSigner({ - publicKey: utils.Bytes.fromHexString(publicKey), - accountNumber: new utils.Big(accountNumber), - accountSequence: new utils.Big(sequence), - signMode: SIGN_MODE.LEGACY_AMINO_JSON, - }) - .toSignable(); - return signableTx; -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/cli-transaction.ts b/libs/ledger-live-common/src/families/crypto_org/cli-transaction.ts deleted file mode 100644 index 010ef417f030..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/cli-transaction.ts +++ /dev/null @@ -1,51 +0,0 @@ -import type { AccountLike } from "@ledgerhq/types-live"; -import invariant from "invariant"; -import flatMap from "lodash/flatMap"; -import type { Transaction } from "../../generated/types"; -import { CryptoOrgAccount } from "./types"; -const options = [ - { - name: "mode", - type: String, - desc: "mode of transaction: send", - }, - { - name: "memo", - type: String, - desc: "add a memo to a transaction", - }, -]; - -function inferTransactions( - transactions: Array<{ - account: AccountLike; - transaction: Transaction; - }>, - opts: Record, -): Transaction[] { - return flatMap(transactions, ({ transaction, account }) => { - invariant(transaction.family === "crypto_org", "crypto_org family"); - if (transaction.family !== "crypto_org") { - throw new Error("crypto_org family"); - } - - if (account.type === "Account") { - const cryptoOrgAccount = account as CryptoOrgAccount; - // We are doing the job twice... maybe use either invariant or if() throw - invariant(cryptoOrgAccount.cryptoOrgResources, "unactivated account"); - if (!cryptoOrgAccount.cryptoOrgResources) throw new Error("unactivated account"); - } - - return { - ...transaction, - family: "crypto_org", - mode: opts.mode || "send", - memo: opts.memo, - }; - }); -} - -export default { - options, - inferTransactions, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/config.ts b/libs/ledger-live-common/src/families/crypto_org/config.ts deleted file mode 100644 index 94d7919f24ce..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ConfigInfo } from "@ledgerhq/live-config/LiveConfig"; - -export const cryptoOrgConfig: Record = { - config_currency_crypto_org: { - type: "object", - default: { - status: { - type: "active", - }, - }, - }, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/createTransaction.ts b/libs/ledger-live-common/src/families/crypto_org/createTransaction.ts deleted file mode 100644 index 3ecebb97d711..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/createTransaction.ts +++ /dev/null @@ -1,18 +0,0 @@ -import BigNumber from "bignumber.js"; -import { AccountBridge } from "@ledgerhq/types-live"; -import { Transaction } from "./types"; - -/** - * Create an empty transaction - * - * @returns {Transaction} - */ -export const createTransaction: AccountBridge["createTransaction"] = () => ({ - family: "crypto_org", - mode: "send", - amount: new BigNumber(0), - recipient: "", - useAllAmount: false, - fees: new BigNumber(0), - memo: null, -}); diff --git a/libs/ledger-live-common/src/families/crypto_org/datasets/croeseid.ts b/libs/ledger-live-common/src/families/crypto_org/datasets/croeseid.ts deleted file mode 100644 index e8bbc0a09a30..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/datasets/croeseid.ts +++ /dev/null @@ -1,22 +0,0 @@ -// @flow -import type { CurrenciesData } from "@ledgerhq/types-live"; -import type { Transaction } from "../types"; - -const dataset: CurrenciesData = { - scanAccounts: [ - { - name: "crypto_org_croeseid seed 1", - apdus: ` - => 5504000019047463726f2c0000808a010080000000800000000000000000 - <= 02bf9e382bf60d6ffaa982534b3e88014ee472bf091b7ff17167fe8978074349417463726f316b357538747a68386e73666d367571776c633438787a3467356a336d6d387878397a793579399000 - => 5504000019047463726f2c0000808a010080000000800000000000000000 - <= 02bf9e382bf60d6ffaa982534b3e88014ee472bf091b7ff17167fe8978074349417463726f316b357538747a68386e73666d367571776c633438787a3467356a336d6d387878397a793579399000 - => 5504000019047463726f2c0000808a010080010000800000000000000000 - <= 03972a47c0cfce99f4428d078f6fa359a9e972a587d0952274f4d28023cbba3bae7463726f316568713371787873796a77766175367639716e327477763036757437386734763467336a6d709000 - => 5504000019047463726f2c0000808a010080020000800000000000000000 - <= 03635321f8045b86d903daedd02a07bc5cb188f1d498563d5f2cdb9392a0cb59c37463726f316b716677736875736734763767666163356a36716d6370346767786337346677676b343868399000 - `, - }, - ], -}; -export default dataset; diff --git a/libs/ledger-live-common/src/families/crypto_org/deviceTransactionConfig.ts b/libs/ledger-live-common/src/families/crypto_org/deviceTransactionConfig.ts deleted file mode 100644 index e5bc75708940..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/deviceTransactionConfig.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { AccountLike, Account } from "@ledgerhq/types-live"; -import type { Transaction, TransactionStatus } from "./types"; -import type { DeviceTransactionField } from "../../transaction"; - -function getDeviceTransactionConfig({ - transaction, - status: { estimatedFees }, -}: { - account: AccountLike; - parentAccount?: Account; - transaction: Transaction; - status: TransactionStatus; -}): Array { - const fields: Array = []; - - if (transaction.useAllAmount) { - fields.push({ - type: "text", - label: "Method", - value: "Send all", - }); - } else { - fields.push({ - type: "text", - label: "Method", - value: "Send", - }); - fields.push({ - type: "amount", - label: "Amount", - }); - } - - if (!estimatedFees.isZero()) { - fields.push({ - type: "fees", - label: "Fees", - }); - } - - if (transaction.memo) { - fields.push({ - type: "text", - label: "Memo", - value: transaction.memo, - }); - } - - return fields; -} - -export default getDeviceTransactionConfig; diff --git a/libs/ledger-live-common/src/families/crypto_org/errors.ts b/libs/ledger-live-common/src/families/crypto_org/errors.ts deleted file mode 100644 index 045c74668853..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/errors.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createCustomErrorClass } from "@ledgerhq/errors"; -export const CryptoOrgWrongSignatureHeader = createCustomErrorClass( - "CryptoOrgWrongSignatureHeader", -); -export const CryptoOrgSignatureSize = createCustomErrorClass("CryptoOrgSignatureSize"); -export const CryptoOrgErrorBroadcasting = createCustomErrorClass("CryptoOrgErrorBroadcasting"); diff --git a/libs/ledger-live-common/src/families/crypto_org/estimateMaxSpendable.ts b/libs/ledger-live-common/src/families/crypto_org/estimateMaxSpendable.ts deleted file mode 100644 index c0929a4cc5d6..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/estimateMaxSpendable.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BigNumber } from "bignumber.js"; -import type { AccountBridge } from "@ledgerhq/types-live"; -import { getMainAccount } from "../../account"; -import type { Transaction } from "./types"; -import getEstimatedFees from "./getFeesForTransaction"; - -/** - * Returns the maximum possible amount for transaction - * - * @param {Object} param - the account, parentAccount and transaction - */ -export const estimateMaxSpendable: AccountBridge["estimateMaxSpendable"] = async ({ - account, - parentAccount, -}) => { - const mainAccount = getMainAccount(account, parentAccount); - const fees = await getEstimatedFees(); - return BigNumber.max(0, mainAccount.spendableBalance.minus(fees)); -}; - -export default estimateMaxSpendable; diff --git a/libs/ledger-live-common/src/families/crypto_org/getFeesForTransaction.ts b/libs/ledger-live-common/src/families/crypto_org/getFeesForTransaction.ts deleted file mode 100644 index 7a2a0ba5ea51..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/getFeesForTransaction.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { BigNumber } from "bignumber.js"; -import { FIXED_GAS_PRICE, FIXED_DEFAULT_GAS_LIMIT } from "./logic"; - -/** - * Fetch the transaction fees for a transaction - */ -const getEstimatedFees = async (): Promise => { - // TODO: call gas station to get a more accurate tx fee in the future - const estimateFee = Math.ceil(FIXED_GAS_PRICE * FIXED_DEFAULT_GAS_LIMIT); - return new BigNumber(estimateFee); -}; - -export default getEstimatedFees; diff --git a/libs/ledger-live-common/src/families/crypto_org/getTransactionStatus.ts b/libs/ledger-live-common/src/families/crypto_org/getTransactionStatus.ts deleted file mode 100644 index 66e18494e576..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/getTransactionStatus.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { BigNumber } from "bignumber.js"; -import { - NotEnoughBalance, - RecipientRequired, - InvalidAddress, - FeeNotLoaded, - AmountRequired, - InvalidAddressBecauseDestinationIsAlsoSource, -} from "@ledgerhq/errors"; -import type { AccountBridge } from "@ledgerhq/types-live"; -import type { Transaction } from "./types"; -import { isValidAddress } from "./logic"; - -export const getTransactionStatus: AccountBridge["getTransactionStatus"] = async ( - account, - transaction, -) => { - const errors: Record = {}; - const warnings: Record = {}; - const useAllAmount = !!transaction.useAllAmount; - - if (!transaction.fees) { - errors.fees = new FeeNotLoaded(); - } - - const estimatedFees = transaction.fees || new BigNumber(0); - const totalSpent = useAllAmount - ? account.balance - : new BigNumber(transaction.amount).plus(estimatedFees); - const amount = useAllAmount - ? account.balance.minus(estimatedFees) - : new BigNumber(transaction.amount); - - if (totalSpent.gt(account.balance)) { - errors.amount = new NotEnoughBalance(); - } - - if (!amount.gt(0)) { - errors.amount = new AmountRequired(); - } - - if (!transaction.recipient) { - errors.recipient = new RecipientRequired(); - } else if (!isValidAddress(transaction.recipient, account.currency.id)) { - errors.recipient = new InvalidAddress("", { - currencyName: account.currency.name, - }); - } else if (transaction.mode === "send" && account.freshAddress === transaction.recipient) { - errors.recipient = new InvalidAddressBecauseDestinationIsAlsoSource(); - } - - return { - errors, - warnings, - estimatedFees, - amount, - totalSpent, - }; -}; - -export default getTransactionStatus; diff --git a/libs/ledger-live-common/src/families/crypto_org/hw-getAddress.ts b/libs/ledger-live-common/src/families/crypto_org/hw-getAddress.ts deleted file mode 100644 index 3f2d3ce9546f..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/hw-getAddress.ts +++ /dev/null @@ -1,16 +0,0 @@ -import Cosmos from "@ledgerhq/hw-app-cosmos"; -import type { Resolver } from "../../hw/getAddress/types"; -import { isTestNet } from "./logic"; - -const resolver: Resolver = async (transport, { path, verify, currency }) => { - const cosmos = new Cosmos(transport); - const cointype = isTestNet(currency.id) ? "tcro" : "cro"; - const r = await cosmos.getAddress(path, cointype, verify || false); - return { - address: r.address, - publicKey: r.publicKey, - path, - }; -}; - -export default resolver; diff --git a/libs/ledger-live-common/src/families/crypto_org/logic.ts b/libs/ledger-live-common/src/families/crypto_org/logic.ts deleted file mode 100644 index ad767b651536..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/logic.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { CroNetwork, CroSDK, utils } from "@crypto-org-chain/chain-jslib"; -export const TESTNET_CURRENCY_ID = "crypto_org_croeseid"; -export const FIXED_GAS_PRICE = 0.025; -export const FIXED_DEFAULT_GAS_LIMIT = 200000; -const croSdks = {}; - -/** - * Returns true if we are using testnet - * - * @param {string} currency - */ -export function isTestNet(currencyId: string) { - return currencyId == TESTNET_CURRENCY_ID; -} - -/** - * Get CroSdk - * @param {string} currency - */ -export function getCroSdk(currencyId: string) { - if (!croSdks[currencyId]) { - croSdks[currencyId] = isTestNet(currencyId) - ? CroSDK({ - network: CroNetwork.TestnetCroeseid4, - }) - : CroSDK({ - network: CroNetwork.Mainnet, - }); - } - - return croSdks[currencyId]; -} - -/** - * Returns true if address is a valid md5 - * - * @param {string} address - * @param {boolean} useTestNet - */ -export const isValidAddress = (address: string, currencyId: string): boolean => { - if (!address) return false; - const network = isTestNet(currencyId) ? CroNetwork.TestnetCroeseid4 : CroNetwork.Mainnet; - const addressProps = { - address: address, - network: network, - type: utils.AddressType.USER, - }; - const addressValidator = new utils.AddressValidator(addressProps); - return addressValidator.isValid(); -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/prepareTransaction.ts b/libs/ledger-live-common/src/families/crypto_org/prepareTransaction.ts deleted file mode 100644 index abcd31fd1f14..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/prepareTransaction.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { Account } from "@ledgerhq/types-live"; -import type { Transaction } from "./types"; -import getEstimatedFees from "./getFeesForTransaction"; - -const sameFees = (a, b) => (!a || !b ? a === b : a.eq(b)); - -/** - * Prepare transaction before checking status - * - * @param {Account} a - * @param {Transaction} t - */ -export const prepareTransaction = async (a: Account, t: Transaction) => { - let fees = t.fees; - let memo = t.memo; - - fees = await getEstimatedFees(); - - if (t.mode !== "send" && !memo) { - memo = "Ledger Live"; - } - - if (t.memo !== memo || !sameFees(t.fees, fees)) { - return { ...t, memo, fees }; - } - - return t; -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/serialization.test.ts b/libs/ledger-live-common/src/families/crypto_org/serialization.test.ts deleted file mode 100644 index 87584c568ef8..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/serialization.test.ts +++ /dev/null @@ -1,86 +0,0 @@ -import BigNumber from "bignumber.js"; -import { assignFromAccountRaw, assignToAccountRaw } from "./serialization"; -import { CryptoOrgAccount, CryptoOrgAccountRaw, CryptoOrgResourcesRaw } from "./types"; - -describe("assignToAccountRaw", () => { - let accountMock: CryptoOrgAccount = {} as CryptoOrgAccount; - let accountRawMock: CryptoOrgAccountRaw = {} as CryptoOrgAccountRaw; - - beforeEach(() => { - accountMock = {} as CryptoOrgAccount; - accountRawMock = {} as CryptoOrgAccountRaw; - }); - - describe("when cryptoOrgResources is defined", () => { - it("should transfer data to accountRaw", () => { - accountMock.cryptoOrgResources = { - bondedBalance: new BigNumber(1), - redelegatingBalance: new BigNumber(2), - unbondingBalance: new BigNumber(3), - commissions: new BigNumber(4), - }; - assignToAccountRaw(accountMock, accountRawMock); - expect(accountRawMock.cryptoOrgResources).not.toEqual(undefined); - }); - - it("should transfer account raw values correctly", () => { - accountMock.cryptoOrgResources = { - bondedBalance: new BigNumber(1), - redelegatingBalance: new BigNumber(2), - unbondingBalance: new BigNumber(3), - commissions: new BigNumber(4), - }; - assignToAccountRaw(accountMock, accountRawMock); - expect(accountRawMock.cryptoOrgResources.bondedBalance).toEqual("1"); - expect(accountRawMock.cryptoOrgResources.redelegatingBalance).toEqual("2"); - expect(accountRawMock.cryptoOrgResources.unbondingBalance).toEqual("3"); - expect(accountRawMock.cryptoOrgResources.commissions).toEqual("4"); - }); - }); - - describe("when cryptoOrgResources isn't defined", () => { - it("shouldn't edit raw account", () => { - assignToAccountRaw(accountMock, accountRawMock); - expect(accountRawMock.cryptoOrgResources).toEqual(undefined); - }); - }); -}); - -describe("assignFromAccountRaw", () => { - let accountMock: CryptoOrgAccount = {} as CryptoOrgAccount; - let accountRawMock: CryptoOrgAccountRaw = {} as CryptoOrgAccountRaw; - - beforeEach(() => { - accountMock = {} as CryptoOrgAccount; - accountRawMock = {} as CryptoOrgAccountRaw; - }); - - describe("when cryptoOrgResources is defined", () => { - it("should transfer data to account", () => { - accountRawMock.cryptoOrgResources = {} as CryptoOrgResourcesRaw; - assignFromAccountRaw(accountRawMock, accountMock); - expect(accountMock.cryptoOrgResources).not.toEqual(undefined); - }); - - it("should convert data to account", () => { - accountRawMock.cryptoOrgResources = { - bondedBalance: "1", - redelegatingBalance: "2", - unbondingBalance: "3", - commissions: "4", - }; - assignFromAccountRaw(accountRawMock, accountMock); - expect(accountMock.cryptoOrgResources.bondedBalance).toEqual(new BigNumber(1)); - expect(accountMock.cryptoOrgResources.redelegatingBalance).toEqual(new BigNumber(2)); - expect(accountMock.cryptoOrgResources.unbondingBalance).toEqual(new BigNumber(3)); - expect(accountMock.cryptoOrgResources.commissions).toEqual(new BigNumber(4)); - }); - }); - - describe("when bitcoinResources isn't defined", () => { - it("shouldn't edit raw account", () => { - assignFromAccountRaw(accountRawMock, accountMock); - expect(accountMock.cryptoOrgResources).toEqual(undefined); - }); - }); -}); diff --git a/libs/ledger-live-common/src/families/crypto_org/serialization.ts b/libs/ledger-live-common/src/families/crypto_org/serialization.ts deleted file mode 100644 index 255a33050415..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/serialization.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { BigNumber } from "bignumber.js"; -import type { - CryptoOrgResourcesRaw, - CryptoOrgResources, - CryptoOrgAccountRaw, - CryptoOrgAccount, -} from "./types"; -import type { Account, AccountRaw } from "@ledgerhq/types-live"; - -export function toCryptoOrgResourcesRaw(r: CryptoOrgResources): CryptoOrgResourcesRaw { - const { bondedBalance, redelegatingBalance, unbondingBalance, commissions } = r; - return { - bondedBalance: bondedBalance.toString(), - redelegatingBalance: redelegatingBalance.toString(), - unbondingBalance: unbondingBalance.toString(), - commissions: commissions.toString(), - }; -} -export function fromCryptoOrgResourcesRaw(r: CryptoOrgResourcesRaw): CryptoOrgResources { - const { bondedBalance, redelegatingBalance, unbondingBalance, commissions } = r; - return { - bondedBalance: new BigNumber(bondedBalance), - redelegatingBalance: new BigNumber(redelegatingBalance), - unbondingBalance: new BigNumber(unbondingBalance), - commissions: new BigNumber(commissions), - }; -} - -export function assignToAccountRaw(account: Account, accountRaw: AccountRaw) { - const crytpoOrgAccount = account as CryptoOrgAccount; - if (crytpoOrgAccount.cryptoOrgResources) { - (accountRaw as CryptoOrgAccountRaw).cryptoOrgResources = toCryptoOrgResourcesRaw( - crytpoOrgAccount.cryptoOrgResources, - ); - } -} - -export function assignFromAccountRaw(accountRaw: AccountRaw, account: Account) { - const cryptoOrgResourcesRaw = (accountRaw as CryptoOrgAccountRaw).cryptoOrgResources; - if (cryptoOrgResourcesRaw) - (account as CryptoOrgAccount).cryptoOrgResources = - fromCryptoOrgResourcesRaw(cryptoOrgResourcesRaw); -} diff --git a/libs/ledger-live-common/src/families/crypto_org/signOperation.ts b/libs/ledger-live-common/src/families/crypto_org/signOperation.ts deleted file mode 100644 index 474056be95bb..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/signOperation.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { BigNumber } from "bignumber.js"; -import { Observable } from "rxjs"; -import { utils } from "@crypto-org-chain/chain-jslib"; -import { FeeNotLoaded } from "@ledgerhq/errors"; -import CryptoOrgApp from "@ledgerhq/hw-app-cosmos"; -import { CryptoOrgWrongSignatureHeader, CryptoOrgSignatureSize } from "./errors"; -import type { Transaction } from "./types"; -import type { AccountBridge } from "@ledgerhq/types-live"; -import { withDevice } from "../../hw/deviceAccess"; -import { buildTransaction } from "./buildTransaction"; -import { isTestNet } from "./logic"; -import { buildOptimisticOperation } from "./buildOptimisticOperation"; - -/** - * Sign Transaction with Ledger hardware - */ -export const signOperation: AccountBridge["signOperation"] = ({ - account, - deviceId, - transaction, -}) => - withDevice(deviceId)( - transport => - new Observable(o => { - async function main() { - o.next({ - type: "device-signature-requested", - }); - - if (!transaction.fees) { - throw new FeeNotLoaded(); - } - - // Get the public key - const hwApp = new CryptoOrgApp(transport); - const cointype = isTestNet(account.currency.id) ? "tcro" : "cro"; - const { publicKey } = await hwApp.getAddress(account.freshAddressPath, cointype, false); - const unsigned = await buildTransaction(account, transaction, publicKey); - // Sign by device - const { signature } = await hwApp.sign( - account.freshAddressPath, - unsigned.toSignDocument(0).toUint8Array(), - ); - - // Ledger has encoded the sig in ASN1 DER format, but we need a 64-byte buffer of - // DER-encoded signature from Ledger - if (signature != null) { - const base64Sig = convertASN1toBase64(signature); - const signed = unsigned - .setSignature(0, utils.Bytes.fromUint8Array(new Uint8Array(base64Sig))) - .toSigned() - .getHexEncoded(); - o.next({ - type: "device-signature-granted", - }); - const operation = buildOptimisticOperation( - account, - transaction, - transaction.fees ?? new BigNumber(0), - ); - o.next({ - type: "signed", - signedOperation: { - operation, - signature: signed, - }, - }); - } - } - - main().then( - () => o.complete(), - e => o.error(e), - ); - }), - ); - -function convertASN1toBase64(signature) { - // 0 0x30: a header byte indicating a compound structure - // 1 A 1-byte length descriptor for all what follows (ignore) - // 2 0x02: a header byte indicating an integer - // 3 A 1-byte length descriptor for the R value - // 4 The R coordinate, as a big-endian integer - // 0x02: a header byte indicating an integer - // A 1-byte length descriptor for the S value - // The S coordinate, as a big-endian integer - // = 7 bytes of overhead - if (signature[0] !== 0x30) { - throw new CryptoOrgWrongSignatureHeader(); - } - - // decode DER string format - const rOffset = 4; - const rLen = signature[3]; - const sLen = signature[4 + rLen + 1]; // skip over following 0x02 type prefix for s - - const sOffset = signature.length - sLen; - const sigR = signature.slice(rOffset, rOffset + rLen); // skip e.g. 3045022100 and pad - - const sigS = signature.slice(sOffset); - const newSigR = padZero(sigR, 32); - const newSigS = padZero(sigS, 32); - - const signatureFormatted = Buffer.concat([newSigR, newSigS]); - - if (signatureFormatted.length !== 64) { - throw new CryptoOrgSignatureSize(); - } - - return signatureFormatted; -} - -function padZero(original_array: Uint8Array, wanted_length: number) { - const new_array = new Uint8Array(wanted_length); - - for (let i = wanted_length - 1; i >= 0; i--) { - const j = wanted_length - 1 - i; - const new_i = original_array.length - 1 - j; - - if (new_i >= 0 && new_i < original_array.length) { - new_array[i] = original_array[new_i]; - } else { - new_array[i] = 0; - } - } - - return new_array; -} - -export default signOperation; diff --git a/libs/ledger-live-common/src/families/crypto_org/specs.ts b/libs/ledger-live-common/src/families/crypto_org/specs.ts deleted file mode 100644 index 1033f94dccb9..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/specs.ts +++ /dev/null @@ -1,75 +0,0 @@ -import invariant from "invariant"; -import type { Transaction } from "./types"; -import { getCryptoCurrencyById, parseCurrencyUnit } from "../../currencies"; -import { pickSiblings } from "../../bot/specs"; -import type { AppSpec } from "../../bot/types"; -import { DeviceModelId } from "@ledgerhq/devices"; -import { acceptTransaction } from "./speculos-deviceActions"; - -const minAmount = parseCurrencyUnit(getCryptoCurrencyById("crypto_org").units[0], "0.01"); -const transactionCheck = ({ maxSpendable }) => { - invariant(maxSpendable.gt(minAmount), "balance is too low"); -}; - -const sharedMutations = ({ maxAccount }) => [ - { - name: "move 50%", - maxRun: 2, - transaction: ({ account, siblings, bridge }) => { - const sibling = pickSiblings(siblings, maxAccount); - const recipient = sibling.freshAddress; - const amount = account.balance.div(2).integerValue(); - return { - transaction: bridge.createTransaction(account), - updates: [{ recipient, amount }], - }; - }, - }, - { - name: "send max", - maxRun: 2, - transaction: ({ account, siblings, bridge }) => { - const sibling = pickSiblings(siblings, maxAccount); - const recipient = sibling.freshAddress; - - return { - transaction: bridge.createTransaction(account), - updates: [{ recipient }, { useAllAmount: true }], - }; - }, - }, -]; - -const crypto_org_croeseid: AppSpec = { - disabled: true, // explorers are not correctly working. we will focus on crypto_org spec for now - name: "Crypto org Testnet", - currency: getCryptoCurrencyById("crypto_org_croeseid"), - appQuery: { - model: DeviceModelId.nanoS, - appName: "Crypto.orgChain", - }, - genericDeviceAction: acceptTransaction, - testTimeout: 4 * 60 * 1000, - minViableAmount: minAmount, - transactionCheck, - mutations: sharedMutations({ maxAccount: 5 }), -}; - -const crypto_org: AppSpec = { - name: "Crypto org", - currency: getCryptoCurrencyById("crypto_org"), - appQuery: { - model: DeviceModelId.nanoS, - appName: "Crypto.orgChain", - }, - genericDeviceAction: acceptTransaction, - testTimeout: 4 * 60 * 1000, - minViableAmount: minAmount, - transactionCheck, - mutations: sharedMutations({ maxAccount: 5 }), -}; - -export default { - crypto_org_croeseid, - crypto_org, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/speculos-deviceActions.ts b/libs/ledger-live-common/src/families/crypto_org/speculos-deviceActions.ts deleted file mode 100644 index d410d347cda3..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/speculos-deviceActions.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { DeviceAction } from "../../bot/types"; -import type { Transaction } from "./types"; -import { deviceActionFlow, SpeculosButton } from "../../bot/specs"; - -export const acceptTransaction: DeviceAction = deviceActionFlow({ - steps: [ - { - title: "Review", - button: SpeculosButton.RIGHT, - }, - { - title: "Chain ID", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Account", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Sequence", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Type", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Amount", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "From", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Fee", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "Gas", - button: SpeculosButton.RIGHT, - // TODO: add a expectedValue fn - }, - { - title: "To", - button: SpeculosButton.RIGHT, - expectedValue: ({ transaction }) => transaction.recipient, - }, - { - title: "Approve", - button: SpeculosButton.BOTH, - }, - ], -}); diff --git a/libs/ledger-live-common/src/families/crypto_org/synchronisation.ts b/libs/ledger-live-common/src/families/crypto_org/synchronisation.ts deleted file mode 100644 index 85ac86548920..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/synchronisation.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { encodeAccountId } from "../../account"; -import type { GetAccountShape } from "../../bridge/jsHelpers"; -import { makeSync, makeScanAccounts, mergeOps } from "../../bridge/jsHelpers"; -import { getAccount, getOperations } from "./api"; - -const getAccountShape: GetAccountShape = async info => { - const { address, initialAccount, currency, derivationMode } = info; - const oldOperations = initialAccount?.operations || []; - const { - blockHeight, - balance, - bondedBalance, - redelegatingBalance, - unbondingBalance, - commissions, - } = await getAccount(address, currency.id); - const accountId = encodeAccountId({ - type: "js", - version: "2", - currencyId: currency.id, - xpubOrAddress: address, - derivationMode, - }); - // Merge new operations with the previously synced ones - let startAt = 0; - let maxIteration = 20; - let operations = oldOperations; - let newOperations = await getOperations(accountId, address, startAt++, currency.id); - - do { - operations = mergeOps(operations, newOperations); - newOperations = await getOperations(accountId, address, startAt++, currency.id); - } while (--maxIteration && newOperations.length != 0); - - const shape = { - id: accountId, - balance, - spendableBalance: balance, - operationsCount: operations.length, - blockHeight, - cryptoOrgResources: { - bondedBalance, - redelegatingBalance, - unbondingBalance, - commissions, - }, - }; - return { ...shape, operations }; -}; - -export const scanAccounts = makeScanAccounts({ getAccountShape }); -export const sync = makeSync({ getAccountShape }); diff --git a/libs/ledger-live-common/src/families/crypto_org/transaction.ts b/libs/ledger-live-common/src/families/crypto_org/transaction.ts deleted file mode 100644 index aeb11c94bf91..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/transaction.ts +++ /dev/null @@ -1,56 +0,0 @@ -import type { Transaction, TransactionRaw } from "./types"; -import { BigNumber } from "bignumber.js"; -import { formatTransactionStatus } from "@ledgerhq/coin-framework/formatters"; -import { - fromTransactionCommonRaw, - fromTransactionStatusRawCommon as fromTransactionStatusRaw, - toTransactionCommonRaw, - toTransactionStatusRawCommon as toTransactionStatusRaw, -} from "@ledgerhq/coin-framework/serialization"; -import type { Account } from "@ledgerhq/types-live"; -import { getAccountCurrency } from "../../account"; -import { formatCurrencyUnit } from "../../currencies"; -export const formatTransaction = ( - { mode, amount, recipient, useAllAmount, memo }: Transaction, - account: Account, -): string => ` -${mode.toUpperCase()} ${ - useAllAmount - ? "MAX" - : amount.isZero() - ? "" - : " " + - formatCurrencyUnit(getAccountCurrency(account).units[0], amount, { - showCode: true, - disableRounding: true, - }) -}${recipient ? `\nTO ${recipient}` : ""}${!memo ? "" : `\n with memo=${memo}`}`; -export const fromTransactionRaw = (tr: TransactionRaw): Transaction => { - const common = fromTransactionCommonRaw(tr); - return { - ...common, - family: tr.family, - mode: tr.mode, - fees: tr.fees ? new BigNumber(tr.fees) : new BigNumber(0), - memo: tr.memo, - }; -}; -export const toTransactionRaw = (t: Transaction): TransactionRaw => { - const common = toTransactionCommonRaw(t); - return { - ...common, - family: t.family, - mode: t.mode, - fees: t.fees?.toString() || "", - memo: t.memo, - }; -}; - -export default { - formatTransaction, - fromTransactionRaw, - toTransactionRaw, - fromTransactionStatusRaw, - toTransactionStatusRaw, - formatTransactionStatus, -}; diff --git a/libs/ledger-live-common/src/families/crypto_org/types.ts b/libs/ledger-live-common/src/families/crypto_org/types.ts deleted file mode 100644 index f80745364005..000000000000 --- a/libs/ledger-live-common/src/families/crypto_org/types.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { - Account, - AccountRaw, - Operation, - TransactionCommon, - TransactionCommonRaw, - TransactionStatusCommon, - TransactionStatusCommonRaw, -} from "@ledgerhq/types-live"; -import type { BigNumber } from "bignumber.js"; - -export type CryptoOrgResources = { - bondedBalance: BigNumber; - redelegatingBalance: BigNumber; - unbondingBalance: BigNumber; - commissions: BigNumber; -}; -export type CryptoOrgResourcesRaw = { - bondedBalance: string; - redelegatingBalance: string; - unbondingBalance: string; - commissions: string; -}; -export type Transaction = TransactionCommon & { - mode: string; - family: "crypto_org"; - fees?: BigNumber; // add here all transaction-specific fields if you implement other modes than "send" - memo: string | null | undefined; -}; -export type TransactionRaw = TransactionCommonRaw & { - family: "crypto_org"; - mode: string; - fees?: string; // also the transaction fields as raw JSON data - memo: string | null | undefined; -}; -export type CryptoOrgPreloadData = Record; -export type NetworkInfo = { - family: "crypto_org"; -}; -export type NetworkInfoRaw = { - family: "crypto_org"; -}; -export type CryptoOrgAccount = Account & { - cryptoOrgResources: CryptoOrgResources; -}; -export type CryptoOrgAccountRaw = AccountRaw & { - cryptoOrgResources: CryptoOrgResourcesRaw; -}; -export type TransactionStatus = TransactionStatusCommon; - -export type TransactionStatusRaw = TransactionStatusCommonRaw; - -export type CryptoOrgOperation = Operation; - -export type CryptoOrgOperationExtra = { - memo?: string | null; -}; diff --git a/libs/ledger-live-common/src/generated/account.ts b/libs/ledger-live-common/src/generated/account.ts index 099824df7138..939dd8082fff 100644 --- a/libs/ledger-live-common/src/generated/account.ts +++ b/libs/ledger-live-common/src/generated/account.ts @@ -1,4 +1,3 @@ -import crypto_org from "../families/crypto_org/account"; import vechain from "../families/vechain/account"; import bitcoin from "@ledgerhq/coin-bitcoin/account"; import cardano from "@ledgerhq/coin-cardano/account"; @@ -6,7 +5,6 @@ import icon from "@ledgerhq/coin-icon/account"; import near from "@ledgerhq/coin-near/account"; export default { - crypto_org, vechain, bitcoin, cardano, diff --git a/libs/ledger-live-common/src/generated/bridge/js.ts b/libs/ledger-live-common/src/generated/bridge/js.ts index 53811bdbeac0..04a1b76e5d1d 100644 --- a/libs/ledger-live-common/src/generated/bridge/js.ts +++ b/libs/ledger-live-common/src/generated/bridge/js.ts @@ -1,6 +1,5 @@ import casper from "../../families/casper/bridge/js"; import celo from "../../families/celo/bridge/js"; -import crypto_org from "../../families/crypto_org/bridge/js"; import filecoin from "../../families/filecoin/bridge/js"; import hedera from "../../families/hedera/bridge/js"; import internet_computer from "../../families/internet_computer/bridge/js"; @@ -25,7 +24,6 @@ import { bridge as xrp } from "../../families/xrp/setup"; export default { casper, celo, - crypto_org, filecoin, hedera, internet_computer, diff --git a/libs/ledger-live-common/src/generated/cli-transaction.ts b/libs/ledger-live-common/src/generated/cli-transaction.ts index 5e9b0faba469..487e27d0132a 100644 --- a/libs/ledger-live-common/src/generated/cli-transaction.ts +++ b/libs/ledger-live-common/src/generated/cli-transaction.ts @@ -1,5 +1,4 @@ import celo from "../families/celo/cli-transaction"; -import crypto_org from "../families/crypto_org/cli-transaction"; import filecoin from "../families/filecoin/cli-transaction"; import hedera from "../families/hedera/cli-transaction"; import stacks from "../families/stacks/cli-transaction"; @@ -22,7 +21,6 @@ import { cliTools as xrp } from "../families/xrp/setup"; export default { celo, - crypto_org, filecoin, hedera, stacks, diff --git a/libs/ledger-live-common/src/generated/deviceTransactionConfig.ts b/libs/ledger-live-common/src/generated/deviceTransactionConfig.ts index 4ac1d4a2dc00..add8ad8f79ba 100644 --- a/libs/ledger-live-common/src/generated/deviceTransactionConfig.ts +++ b/libs/ledger-live-common/src/generated/deviceTransactionConfig.ts @@ -1,6 +1,5 @@ import casper from "../families/casper/deviceTransactionConfig"; import celo from "../families/celo/deviceTransactionConfig"; -import crypto_org from "../families/crypto_org/deviceTransactionConfig"; import filecoin from "../families/filecoin/deviceTransactionConfig"; import hedera from "../families/hedera/deviceTransactionConfig"; import internet_computer from "../families/internet_computer/deviceTransactionConfig"; @@ -24,7 +23,6 @@ import xrp from "@ledgerhq/coin-xrp/deviceTransactionConfig"; export default { casper, celo, - crypto_org, filecoin, hedera, internet_computer, diff --git a/libs/ledger-live-common/src/generated/hw-getAddress.ts b/libs/ledger-live-common/src/generated/hw-getAddress.ts index f7b77fb32928..e17c93e896a0 100644 --- a/libs/ledger-live-common/src/generated/hw-getAddress.ts +++ b/libs/ledger-live-common/src/generated/hw-getAddress.ts @@ -1,6 +1,5 @@ import casper from "../families/casper/hw-getAddress"; import celo from "../families/celo/hw-getAddress"; -import crypto_org from "../families/crypto_org/hw-getAddress"; import filecoin from "../families/filecoin/hw-getAddress"; import hedera from "../families/hedera/hw-getAddress"; import internet_computer from "../families/internet_computer/hw-getAddress"; @@ -25,7 +24,6 @@ import { resolver as xrp } from "../families/xrp/setup"; export default { casper, celo, - crypto_org, filecoin, hedera, internet_computer, diff --git a/libs/ledger-live-common/src/generated/specs.ts b/libs/ledger-live-common/src/generated/specs.ts index 3d538a00efe1..034a8f1d433d 100644 --- a/libs/ledger-live-common/src/generated/specs.ts +++ b/libs/ledger-live-common/src/generated/specs.ts @@ -1,6 +1,5 @@ import casper from "../families/casper/specs"; import celo from "../families/celo/specs"; -import crypto_org from "../families/crypto_org/specs"; import filecoin from "../families/filecoin/specs"; import hedera from "../families/hedera/specs"; import internet_computer from "../families/internet_computer/specs"; @@ -25,7 +24,6 @@ import xrp from "@ledgerhq/coin-xrp/specs"; export default { casper, celo, - crypto_org, filecoin, hedera, internet_computer, diff --git a/libs/ledger-live-common/src/generated/transaction.ts b/libs/ledger-live-common/src/generated/transaction.ts index 7c4404d0d51f..74defd7b6c63 100644 --- a/libs/ledger-live-common/src/generated/transaction.ts +++ b/libs/ledger-live-common/src/generated/transaction.ts @@ -1,6 +1,5 @@ import casper from "../families/casper/transaction"; import celo from "../families/celo/transaction"; -import crypto_org from "../families/crypto_org/transaction"; import filecoin from "../families/filecoin/transaction"; import hedera from "../families/hedera/transaction"; import internet_computer from "../families/internet_computer/transaction"; @@ -25,7 +24,6 @@ import xrp from "@ledgerhq/coin-xrp/transaction"; export default { casper, celo, - crypto_org, filecoin, hedera, internet_computer, diff --git a/libs/ledger-live-common/src/generated/types.ts b/libs/ledger-live-common/src/generated/types.ts index a7336a7ef894..7f9da68bec8e 100644 --- a/libs/ledger-live-common/src/generated/types.ts +++ b/libs/ledger-live-common/src/generated/types.ts @@ -34,12 +34,6 @@ import type { TransactionStatus as cosmosTransactionStatus, TransactionStatusRaw as cosmosTransactionStatusRaw, } from "@ledgerhq/coin-cosmos/types/index"; -import type { - Transaction as crypto_orgTransaction, - TransactionRaw as crypto_orgTransactionRaw, - TransactionStatus as crypto_orgTransactionStatus, - TransactionStatusRaw as crypto_orgTransactionStatusRaw, -} from "../families/crypto_org/types"; import type { Transaction as elrondTransaction, TransactionRaw as elrondTransactionRaw, @@ -144,7 +138,6 @@ export type Transaction = | casperTransaction | celoTransaction | cosmosTransaction - | crypto_orgTransaction | elrondTransaction | evmTransaction | filecoinTransaction @@ -169,7 +162,6 @@ export type TransactionRaw = | casperTransactionRaw | celoTransactionRaw | cosmosTransactionRaw - | crypto_orgTransactionRaw | elrondTransactionRaw | evmTransactionRaw | filecoinTransactionRaw @@ -194,7 +186,6 @@ export type TransactionStatus = | casperTransactionStatus | celoTransactionStatus | cosmosTransactionStatus - | crypto_orgTransactionStatus | elrondTransactionStatus | evmTransactionStatus | filecoinTransactionStatus @@ -219,7 +210,6 @@ export type TransactionStatusRaw = | casperTransactionStatusRaw | celoTransactionStatusRaw | cosmosTransactionStatusRaw - | crypto_orgTransactionStatusRaw | elrondTransactionStatusRaw | evmTransactionStatusRaw | filecoinTransactionStatusRaw