module_args_list_element

The module_args for this module accept a list of multiple entries. This represents one of the entries, which define which transfers can be accepted to allow users to register new accounts. This is called a transfer registration rule, and when parsed will be represented by the struct rule.

A transfer must satisfy all the requirements of a single rule to be accepted.

See also

rule

for a parsed representation of rules.

Properties

Link copied to clipboard
val asset: gtv

What assets can be transferred to create a new account. They can be in either of these formats:

  • one asset_limit

  • a list of asset_limits

  • ANY_REF, meaning all assets can be used

Link copied to clipboard

The account ID for a sender account that can start an account registration. It can be in either of these formats:

  1. x"01ab...23", meaning this specific account can be registered when receiving a transfer.

  2. ANY_REF, meaning all accounts can be registered.

  3. CURRENT_ACCOUNT_REF, meaning the only transfers allowed for this rule are the ones where a certain account from a different chain registers an account with the same ID on this chain. This value will only be accepted if sender has the same value, and it will not work (despite not throwing any errors) if the sender_blockchain field does not allow cross-chain transfers.

  4. a list of values, containing account IDs in the format at point 1, meaning all the account IDs in the list can be created.

Link copied to clipboard
val sender: gtv

The account ID for a sender account that can start an account registration. It can be in either of these formats:

  1. x"01ab...23", meaning this specific account can register new accounts when transferring. Useful for example if this account is a CEX wallet people will get on the chain with.

  2. ANY_REF, meaning all accounts can register new accounts.

  3. CURRENT_ACCOUNT_REF, meaning the only transfers allowed for this rule are the ones where a certain account from a different chain registers an account with the same ID on this chain. This value will only be accepted if recipient has the same value, and it will not work (despite not throwing any errors) if the sender_blockchain field does not allow cross-chain transfers.

  4. a list of values, containing account IDs in the format at point 1, meaning all the account IDs in the list are allowed.

Link copied to clipboard

The blockchain RID for a sender blockchain that can start an account registration. It can be in either of these formats:

  1. CURRENT_CHAIN_REF, meaning only on-chain transfers are allowed for this rule.

  2. x"01ab...23", meaning cross-chain transfers from this blockchain RID are allowed.

  3. ANY_REF, meaning all on-chain and cross-chain transfers are allowed.

  4. a list of values, containing blockchain RIDs in the format at point 2, and optionally the value at point 1, meaning all values in the list are allowed.

Link copied to clipboard

The transfer module does not define how the account can be registered, merely providing a framework. The strategies found in submodules of this transfer module will be able to use this rule if their name is specified in this field. It can be:

  • a string value, containing the name of the strategy that can use this rule

  • a list of strings, containing multiple allowed strategies for the same rule

Link copied to clipboard

How many days can elapse between the transfer and the registration of the account. Since it can happen that the user transferring the asset is not the user creating the account, it can also happen that the transfer and creation cannot happen in the same transaction, or even in the same day. If the second user never registers the account, the first one will have lost the assets that were transferred. After timeout_days has passed, the second user will be unable to register the account without receiving an additional transfer, and the first user will be able to reclaim the assets.