---
# System prepended metadata

title: NCC-1256 Fireblocks client improvements

---

# NCC-1256 Fireblocks client improvements

https://hackmd.io/7G7PMXR9Q3u6FifwMj7tDg

PR: https://eu-central-1.console.aws.amazon.com/codesuite/codecommit/repositories/fireblocks-client/pull-requests/4036/changes?region=eu-central-1

## Questions

### Undocumented values in enums

AssetTypeResponse `type` attribute:
- in documentation there are `BASE_ASSET ETH_CONTRACT FIAT` but in reality it's more `BEP20 COMPOUND ERC20`
- if we restrict `type` to be only part of `Asset::TYPE` (specified enum as constants) - how to deal with additional discovered and UNdiscovered values?
- ask/request FBX for every new case?

Team aligned:
- yes, let's ask FBX for every new case to improve their API Documentation and blow-up/fail early (ideally in Staging/Sandbox)

### Attributes are NOT marked as optional, but are missed in real responses


TransactionDetails https://docs.fireblocks.com/api/#transactiondetails

attribute :index, optional: true

- should we mark it as optional on Model/DSL level and blow-up on service level?
- new cases will appear, we can't predict them
- ask/request FBX for every new case?

Team aligned:
- yes, let's ask FBX for every new case and add default value (e.g., `index: 0`) on client side

### Valuable Transaction attributes

I checked `wallets-fireblocks-utxo` & `wallets-fireblocks-account` for what attributes are used, but maybe we want to add additional ones

TransactionDetails https://docs.fireblocks.com/api/#transactiondetails

Team aligned:
- let's move on and improve on the go

### Enum values started with numbers can't be ruby constants

TransactionSubStatus https://docs.fireblocks.com/api/#transactionsubstatus

NOTE: substatus `3RD_*` are excluded, as they are throwing `wrong constant name` ruby error and we are not using them yet (`3RD_PARTY_PROCESSING 3RD_PARTY_CONFIRMING 3RD_PARTY_COMPLETED 3RD_PARTY_CANCELLED 3RD_PARTY_REJECTED PARTIALLY_FAILED 3RD_PARTY_FAILED`)

Team aligned:
- ok for now, as we are not using it

