Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add cases of rfc0029 #8

Merged
merged 1 commit into from
Sep 8, 2021
Merged

feat: add cases of rfc0029 #8

merged 1 commit into from
Sep 8, 2021

Conversation

keroro520
Copy link
Contributor

@keroro520 keroro520 commented Aug 9, 2021

Convention

  • a1, a2 and b1 are 3 cells

  • a1, a2 and b1 have the same type-script

  • a1 and a2 have the same output-data

  • Group(x, y, ..) indicates a DepGroup points to x and y cells

  • when script.hash_type is "data", script.code_hash is always a1.data_hash;
    when script.hash_type is "type", script.code_hash is always a1.type_hash

Cases

┌────────┬────────────┬────────────────────────────────────┬────────────────────────┬───────────────────────┐
│        │            │                                    │                        │                       │
│    id  │   hash_type│    cell_deps                       │  2019                  │ 2021                  │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     0  │    "data"  │    [a1]                            │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     1  │    "data"  │    [a1, a1]                        │  Err(DuplicateDeps)    │ Err(DuplicateDeps)    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     2  │    "data"  │    [a1, a2]                        │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     3  │    "data"  │    [a1, b1]                        │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     4  │    "data"  │    [Group(a1)]                     │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     5  │    "data"  │    [Group(a1, a1)]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     6  │    "data"  │    [Group(a1, a2)]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     7  │    "data"  │    [Group(a1, b1)]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     8  │    "data"  │    [Group(a1), a1]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│     9  │    "data"  │    [Group(a1), a2]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    10  │    "data"  │    [Group(a1), b1]                 │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    11  │    "data"  │    [Group(a1), Group(a2)]          │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    12  │    "data"  │    [Group(a1), Group(b1)]          │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    13  │    "type"  │    [a1]                            │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    14  │    "type"  │    [a1, a1]                        │  Err(DuplicateDeps)    │ Err(DuplicateDeps)    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    15  │    "type"  │    [a1, a2]                        │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    16  │    "type"  │    [a1, b1]                        │  Err(MultipleMatches)  │ Err(MultipleMatches)  │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    17  │    "type"  │    [Group(a1)]                     │  Ok                    │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    18  │    "type"  │    [Group(a1, a1)]                 │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    19  │    "type"  │    [Group(a1, a2)]                 │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    20  │    "type"  │    [Group(a1, b1)]                 │  Err(MultipleMatches)  │ Err(MultipleMatches)  │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    21  │    "type"  │    [Group(a1), a1]                 │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    22  │    "type"  │    [Group(a1), a2]                 │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    23  │    "type"  │    [Group(a1), b1]                 │  Err(MultipleMatches)  │ Err(MultipleMatches)  │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    24  │    "type"  │    [Group(a1), Group(a2)]          │  Err(MultipleMatches)  │ Ok                    │
├────────┼────────────┼────────────────────────────────────┼────────────────────────┼───────────────────────┤
│    25  │    "type"  │    [Group(a1), Group(b1)]          │  Err(MultipleMatches)  │ Err(MultipleMatches)  │
│        │            │                                    │                        │                       │
└────────┴────────────┴────────────────────────────────────┴────────────────────────┴───────────────────────┘

@keroro520 keroro520 changed the title add cases of rfc0029 feat: add cases of rfc0029 Aug 9, 2021
ckb-integration-test/src/case/mod.rs Outdated Show resolved Hide resolved
ckb-integration-test/src/case/rfc0222/mod.rs Outdated Show resolved Hide resolved
ckb-integration-test/src/testdata/height100000.rs Outdated Show resolved Hide resolved
@keroro520 keroro520 merged commit 0ab4575 into nervosnetwork:main Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants