TX_BAD_AUTH_EXTRA
error (even if they are all valid). The reason for this error is performance related, as unnecessary signature verification has a large effect on performance before accepting transactions in consensus.low <= medium <= high
.x
to sign the transaction. This type of signer is especially useful in atomic cross-chain swaps which are needed for inter-blockchain protocols like lightning networks.x
. The SHA256 hash of that value can be added as a signer of type hash(x). Then in order to authorize a transaction, x
is added as one of the signatures of the transaction. Keep in mind that x
will be known to the world as soon as a transaction is submitted to the network with x
as a signature. This means anyone will be able to sign for that account with the hash(x) signer at that point. Often you want there to be additional signers so someone must have a particular secret key and know x
in order to reach the weight threshold required to authorize transactions on the account.You run an anchor that would like to keep its issuing key offline. That way, it's less likely a bad actor can get ahold of the anchor's key and start issuing credit improperly. However, your anchor needs to authorize people holding credit by running theAllow Trust
operation. Before you issue credit to an account, you need to verify that account is OK.
Set Options
. This additional key should have a weight below your anchor account's medium threshold. Since Allow Trust
is a low-threshold operation, this extra key authorizes users to hold your anchor's credit. But, since Payment
is a medium-threshold operation, this key does not allow anyone who compromises your anchor to issue credit.You want to set up a joint account with Bilal and Carina such that any of you can authorize a payment. You also want to set up the account so that, if you choose to change signers (e.g., remove or add someone), a high-threshold operation, all 3 of you must agree. You add Bilal and Carina as signers to the joint account. You also ensure that it takes all of your key weights to clear the high threshold but only one to clear the medium threshold.
You fully control an expense account, but you want your two coworkers Diyuan and Emil to be able to authorize transactions from this account. You add Diyuan and Emil's signing keys to the expense account. If either Diyuan or Emil leave the company, you can remove their signing key, a high-threshold operation.
Your company wants to set up an account that requires 3 of 6 employees to agree to any transaction from that account.