Skip to content

Add new transaction and script templates #31

Open
@joshuahannan

Description

@joshuahannan

Issue To Be Solved

There are many ways a fungible token can be used and we want more transaction templates to be defined for them.

Suggest A Solution

Please leave comments in this issue if you think of a transaction that you would like to be added as a template.
This issue will also be updated with ideas as they are added.

When adding a new template:

  1. Create an issue for the template you are adding and assign it to yourself. Leave a comment on this post that you are working on it. Include any relevant questions or discussion about your template in the issue that you create.
  2. Write the template as a .cdc file and save it in the transactions directory.
  3. Save the fungible token address as 0xFUNGIBLETOKENADDRESS
  4. Save the example token address as 0xTOKENADDRESS
  5. Use ExampleToken as the token name and exampleTokenVault, etc. as the token and storage name
  6. Use transaction parameters instead of hard-coded values.
  7. Write a go template getter in lib/go/templates/ and run make generate in that directory.
  8. Write a test for your transaction in lib/go/test/ and make sure the test passes.
  9. Ensure that your template and test are well commented.

Template Suggestions

Feel free to choose a template from this list to work on, or make a comment to add your own idea.

  • Send tokens to multiple addresses. The addresses and amounts can be configurable parameters to the transaction.
  • Remove the public receiver capability from an account.
  • Remove the balance capability from an account.
  • Create a provider capability and store it in another account's /private/ domain.
  • Use an account's provider capability in your /private/ domain to withdraw tokens from their account and deposit it in your account.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ImprovementSC-EngIssues that we want to see surfaced in SC-Eng ZH Boardgood first issueGood for newcomershelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions