Skip to content

Aggregate bonded gets dropped due to incorrect max fee #533

@Wayonb

Description

@Wayonb

With Aggregate bonded transaction its harder to calculate the min fee required for the transaction to get process. The problem is due to the cosigner signatures is not included in the submission of the tx to the server. The SDK has two proposals to fix this issue.

  1. Use the multisig account graph as state by @evias.

What about using the multisig account graph to determine the number of required signers ?

@Wayonb @fboucquez @rg911 http://api-01.us-west-1.symboldev.network:3000/account/TAWJ2M7BGKWGBPOUGD5NDKHYDDQ7OQD26HJMMQS2/multisig/graph

Knowing that aggregate bonded also have there own "announcement method". I can see this help because the account multisig graph can be iterated over to determine the needed total number of minApproval

Originally posted by @evias in https://github.com/nemtech/symbol-sdk-java/issues/251#issuecomment-601109696

This is gives an accurate min fee but has a lot of cost to figure out all the required cosigners.

  1. Always calculate the max fee using the max cosigners as stated by @dgarcia360.

    One costly option for the users would be adding maxCosignaturesPerAggregate * cosignatureSize to the aggregate transaction size. Users can still pay fewer fees if they want to adjust better the cost by reducing the transaction's maxFee multiplier.

     MaxCosignaturesPerAggregate can be retrieved from https://github.com/nemtech/catapult-server/blob/master/resources/config-network.properties#L47
    
     This change requires to have a configuration parameter on the SDK to define which is the default maxCosingaturesPerAggregate since it might vary per network. The value could also be retrieved from REST if not specified.
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    breaking-changeBreaks compatibility with previous version

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions