Current section

Files

Jump to
forge_abi lib protobuf status_code.yml
Raw

lib/protobuf/status_code.yml

---
invalid_nonce:
default: |
This transaction has been seen in the chain and is treated as a replay tx.
poke: |
`PokeTx.nonce` must be `0`.
deploy_protocol: |
`DeployProtocolTx.nonce` must be `0`.
invalid_signature:
default: |
This transaction's signature or multi-signature does not match the corresponding pk.
invalid_sender_state:
default: |
The sender of this transaction does not exist on this chain.
declare: |
`tx.from` already exist on this chain.
invalid_receiver_state:
default: |
The receiver of this transaction does not exist on this chain.
account_migrate: |
Possible causes:
1. `AccountMigrateTx.address` is not correctly calculated with `AccountMigrateTx.pk` and `AccountMigrateTx.type`
2. `AccountMigrateTx.address` already exist on this chain.
consume_asset: |
The `signer` included in first `tx.signatures` does not exist on this chain.
poke: |
`PokeTx.address` is not correct or does not exist on this chain.
stake: |
`tx.to` does not exist on this chain or `tx.to` is not a a valid DID address
exchange: |
Either `ExchangeTx.to` or the `signer` included in first `tx.signatures` does not exist on this chain.
transfer: |
`TransferTx.to` does not exist on this chain.
insufficient_data:
default: |
There is some required data missing to construct this transaction properly.
account_migrate: |
`AccountMigrateTx.pk`, `AccountMigrateTx.type`, and `AccountMigrateTx.address` can not be empty.
declare: |
`DelcareTx.moniker` can not be empty.
acquire_asset: |
`AcquireAssetTx.specs` can not be empty.
consume_asset: |
`ConsumeAssetTx.issuer` and `Tx.signatures` can not be empty.
create_asset: |
`CreateAssetTx.data` and `CreateAssetTx.address` can not be empty.
update_asset: |
`UpdateAssetTx.data` and `UpdateAssetTx.address` can not be empty.
poke: |
`PokeTx.date` and `PokeTx.address` can not be empty.
stake: |
`StakeTx.to`, `StakeTx.value`, `StakeTx.data`, `StakeTx.address` can not be empty.
exchange: |
`ExchangeTx.sender`, `ExchangeTx.receiver`, and `Tx.signatures` can not be empty.
transfer: |
`TransferTx.to`, `TransferTx.value`/`TransferTx.asset` can not be empty.
insufficient_fund:
default: |
There is not enough balance in participants account.
poke: |
Poke account does not have enough balance.
invalid_owner:
default: |
One or more of the assets included this tx do not belong to the provided owners.
invalid_tx:
default: |
The transaction cannot pass sanity check. Possible Causes:
1. Anti Land Attack: Sender and receiver address should not be equal
2. Anti Replay Attack: This transaction has been seen in the chain and is treated as a replay tx.
3. decode tx: This transaction includes `type-url` that can not be decoded properly.
4. verify date: the transaction is expired.
5. verify itx size: The size of itx in this transaction exceeds max size.
6. verify signer: the multisig signer is invalid
7. verify tx size: The size of this transaction exceeds max size.
8. pre_pipeline extract signers: the multisig signer is invalid
declare: |
Possible Causes:
1. The signer in `tx.signatures` should be the same as `DeclareTx.issuer`.
2. This chain requires a valid issuer to declare a new account.
acquire_asset: |
Possible Causes:
1. Asset Factory does not have enough assets left.
2. This transaction's sender does not have enough balance.
3. The asset addresses included in `AcquireAssetTx.specs` are not correct.
consume_asset: |
The issuer of the asset to be consumed, should be the same as or issued by `ConsumeAsset.issuer`.
create_asset: |
If `tx.data` contains `AssetFactory`, possible causes:
1. `AssetFactory.description`, `AssetFactory.attributes`, `AssetFactory.price`, `AssetFactory.template`, `AssetFactory.allowed_spec_args`, `AssetFactory.asset_name` can not be empty.
2. `AssetFactory.template` and `AssetFactory.sllowed_spec_args` should match.
3. `AssetFactory.asset_name` should contain a deployed protobuf type.
update_asset: |
If `tx.data` contains `AssetFactory`, 'AssetFactory.price', `AssetFactory.template`. `AssetFactory.allowed_spec_args` and `AssetFactory.asset_name` can not be empty.
deploy_protocol: |
Possible causes:
1. Sender should be moderator
2. `DeployProtocolTx.address`, `DeployProtocolTx.name`, `DeployProtocolTx.namespace`, `DeployProtocolTx.code` should not be empty. The size of `DeployProtocolTx.description` should not exceed max size.
3. `DeployProtocolTx.address` should be correctly calculated using `DeployProtocolTx`.
4. `type_url` and the module doesn't match.
5. the binary of the protocol is modified on purpose.
6. Version of new protocol should be bigger than the old ones.
upgrade_node: |
Possible causes:
1. `tx.from` should be the same as moderator address
2. `UpgradeNodeTx.version` should be bigger than forge version
3. `UpgradeNodeTx.height` should be bigger than current block height.
4. an existing upgrade_node operation is going to be carried out while the new upgrade_node tx has no `override` flag.
stake: |
1. `StakeTx.address` should be calculated from `tx.from` and `StakeTx.to`.
2. `StakeTx.message` should not exceed the max size.
unsupported_tx: This transaction contains type_urls that are not registered on the chain.
expired_tx: This transaction has expired.
too_many_txs: There are too many transactions.
invalid_lock_status: The lock status is invalid.
invalid_request: This request is invalid.
invalid_moniker:
default: |
This moniker is invalid.
declare: |
`DeclareTx.moniker` should have at least 4 characters.
invalid_passphrase:
default: |
This passphrase is invalid.
invalid_multisig: This multisig is invalid.
invalid_wallet: This wallet is invalid.
invalid_chain_id: This chain_id is invalid.
consensus_rpc_error: This transaction has already occured on the chain before.
storage_rpc_error: This is a storage rpc error.
noent: Noent
account_migrated: This account has migrated to a new one.
unsupported_stake: This stake is not supported.
insufficient_stake: The require stake amount should be more than minimum stake.
invalid_stake_state: The required stake state is invalid.
expired_wallet_token: The token included in this transaction has expired.
banned_unstake: This unstake action is banned.
invalid_asset:
default: |
The asset included in this transaction is invalid.
consume_asset: |
The asset included in `tx.signatures.data` is not valid.
create_asset: |
Possible causes:
1. `CreateAssetTx.address` is not calculated correctly.
2. `CreateAssetTx.moniker` should have at least 5 characters.
3. Asset parent does not have a valid state.
4. Asset already exists on the chain. This is a duplicate asset.
update_asset: |
`UpdateAssetTx.address` is not a valid asset.
exchange: |
`ExchangeTx.sender.assets` or `ExchangeTx.receiver.assets` contain invalid assets.
transfer: |
'TransferTx.assets' contain invalid assets.
invalid_tx_size: |
The size of `tx.itx` should be smaller than max size.
invalid_signer_state: |
All signers participating in this tx should have a valid state on this chain.
invalid_forge_state:
default: |
The forge state is invalid.
deploy_protocol: |
The forge state is invalid.
upgrade_node: |
The forge state is invalid.
stake: |
The forge state is invalid.
expired_asset: This asset has expired.
untransferrable_asset: This asset can not be transferred.
readonly_asset: This asset is readonly and therefore can not be modified.
consumed_asset: This asset has already been consumed before.
invalid_deposit_value: The deposit value is not valid.
exceed_deposit_cap: The amount exceeds the deposit cap.
invalid_deposit_target: The target of this deposit is invalid.
invalid_depositor: The depositor does not exist on the chain.
invalid_withdrawer: The withdrawer does not exist on the chain.
duplicate_tether: The tether is duplicated.
invalid_expiry_date: The expiry date is invalid.
invalid_deposit: The deposit is invalid.
invalid_custodian: The custodian does not exist on the chain.
invalid_delegation: The delegation parameters are invalid.
forbidden: Operation is not permitted with current authorization.
internal: Internal error occurred - mainly a server implementation issue.
timeout: Operation is timeout.
invalid_delegation_type_url: The type_url you want to delegate is not allowed in your forge config