{
  "address": "4Be56GxQpJXdjFU8BVGRLVK5ttUdvWEotQzEWs5JKu15",
  "metadata": {
    "name": "dual_fill_dbc",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Opening fill for the Solana side of a Crosscurrent on Meteora's Dynamic Bonding Curve"
  },
  "instructions": [
    {
      "name": "abort",
      "discriminator": [
        73,
        205,
        102,
        177,
        241,
        200,
        145,
        80
      ],
      "accounts": [
        {
          "name": "opener",
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        }
      ],
      "args": []
    },
    {
      "name": "cancel",
      "discriminator": [
        232,
        219,
        223,
        41,
        219,
        236,
        220,
        190
      ],
      "accounts": [
        {
          "name": "creator",
          "signer": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "fill",
          "writable": true
        }
      ],
      "args": []
    },
    {
      "name": "claim",
      "discriminator": [
        62,
        198,
        214,
        193,
        213,
        159,
        108,
        210
      ],
      "accounts": [
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "vault_token",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "path": "vault"
              },
              {
                "kind": "const",
                "value": [
                  6,
                  221,
                  246,
                  225,
                  215,
                  101,
                  161,
                  147,
                  217,
                  203,
                  225,
                  70,
                  206,
                  235,
                  121,
                  172,
                  28,
                  180,
                  133,
                  237,
                  95,
                  91,
                  55,
                  145,
                  58,
                  140,
                  245,
                  133,
                  126,
                  255,
                  0,
                  169
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                140,
                151,
                37,
                143,
                78,
                36,
                137,
                241,
                187,
                61,
                16,
                41,
                20,
                142,
                13,
                131,
                11,
                90,
                19,
                153,
                218,
                255,
                16,
                132,
                4,
                142,
                123,
                216,
                219,
                233,
                248,
                89
              ]
            }
          }
        },
        {
          "name": "receipt",
          "writable": true
        },
        {
          "name": "contributor",
          "writable": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "contributor_token",
          "writable": true
        },
        {
          "name": "mint",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "close_fill",
      "discriminator": [
        64,
        145,
        84,
        179,
        61,
        80,
        53,
        149
      ],
      "accounts": [
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "vault_token",
          "writable": true
        },
        {
          "name": "mint",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "vault_quote",
          "docs": [
            "never opened."
          ],
          "writable": true
        },
        {
          "name": "creator",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "linked_terms",
          "writable": true,
          "optional": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "contribute",
      "discriminator": [
        82,
        33,
        68,
        131,
        32,
        0,
        205,
        95
      ],
      "accounts": [
        {
          "name": "contributor",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "receipt",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  99,
                  101,
                  105,
                  112,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              },
              {
                "kind": "account",
                "path": "contributor"
              }
            ]
          }
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    },
    {
      "name": "create_fill",
      "discriminator": [
        142,
        182,
        104,
        152,
        29,
        143,
        186,
        210
      ],
      "accounts": [
        {
          "name": "creator",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "config",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  100,
                  98,
                  99,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "fee_claimer",
          "address": "2tmiFEk6j3WuedahWa8WudqsrETe5QBorRPHobeGcmx3"
        },
        {
          "name": "leftover_receiver",
          "address": "D5uSQfcyN3KRStMNjLteZ2CBbpVPWP7wJ5XDjXAQbp5w"
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "dbc_event_authority",
          "address": "8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF"
        },
        {
          "name": "dbc_program",
          "address": "dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "CreateFillArgs"
            }
          }
        },
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "ConfigParameters"
            }
          }
        }
      ]
    },
    {
      "name": "create_launch_config",
      "discriminator": [
        5,
        15,
        61,
        115,
        1,
        234,
        195,
        147
      ],
      "accounts": [
        {
          "name": "creator",
          "writable": true,
          "signer": true
        },
        {
          "name": "config",
          "docs": [
            "signing for it."
          ],
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  100,
                  98,
                  99,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              },
              {
                "kind": "account",
                "path": "creator"
              },
              {
                "kind": "arg",
                "path": "dual_fill_key"
              }
            ]
          }
        },
        {
          "name": "launch_config",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  97,
                  117,
                  110,
                  99,
                  104,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              },
              {
                "kind": "account",
                "path": "config"
              }
            ]
          }
        },
        {
          "name": "fee_claimer",
          "address": "2tmiFEk6j3WuedahWa8WudqsrETe5QBorRPHobeGcmx3"
        },
        {
          "name": "leftover_receiver",
          "address": "D5uSQfcyN3KRStMNjLteZ2CBbpVPWP7wJ5XDjXAQbp5w"
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "dbc_event_authority",
          "address": "8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF"
        },
        {
          "name": "dbc_program",
          "address": "dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "dual_fill_key",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "ConfigParameters"
            }
          }
        },
        {
          "name": "creator_tax_bps",
          "type": "u16"
        },
        {
          "name": "mint",
          "type": "pubkey"
        }
      ]
    },
    {
      "name": "create_linked_fill",
      "discriminator": [
        2,
        101,
        123,
        176,
        96,
        64,
        41,
        180
      ],
      "accounts": [
        {
          "name": "creator",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "linked_terms",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "link_settings",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  100,
                  98,
                  99,
                  95,
                  108,
                  105,
                  110,
                  107,
                  95,
                  115,
                  101,
                  116,
                  116,
                  105,
                  110,
                  103,
                  115
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                6,
                85,
                59,
                3,
                220,
                253,
                156,
                146,
                57,
                140,
                217,
                203,
                177,
                89,
                89,
                127,
                177,
                170,
                65,
                207,
                211,
                84,
                237,
                153,
                70,
                193,
                231,
                60,
                153,
                251,
                213,
                58
              ]
            }
          }
        },
        {
          "name": "config",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  100,
                  98,
                  99,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "fee_claimer",
          "address": "2tmiFEk6j3WuedahWa8WudqsrETe5QBorRPHobeGcmx3"
        },
        {
          "name": "leftover_receiver",
          "address": "D5uSQfcyN3KRStMNjLteZ2CBbpVPWP7wJ5XDjXAQbp5w"
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "dbc_event_authority",
          "address": "8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF"
        },
        {
          "name": "dbc_program",
          "address": "dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "CreateFillArgs"
            }
          }
        },
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "ConfigParameters"
            }
          }
        }
      ]
    },
    {
      "name": "create_linked_terms",
      "discriminator": [
        127,
        90,
        100,
        28,
        128,
        41,
        66,
        242
      ],
      "accounts": [
        {
          "name": "creator",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "docs": [
            "not exist yet."
          ],
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  102,
                  105,
                  108,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "creator"
              },
              {
                "kind": "arg",
                "path": "dual_fill_key"
              }
            ]
          }
        },
        {
          "name": "linked_terms",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "dual_fill_key",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "linked",
          "type": {
            "defined": {
              "name": "LinkedArgs"
            }
          }
        }
      ]
    },
    {
      "name": "forward_income",
      "discriminator": [
        105,
        250,
        27,
        209,
        135,
        111,
        2,
        102
      ],
      "accounts": [
        {
          "name": "fill"
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "linked_terms",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "link_fill",
      "discriminator": [
        35,
        98,
        145,
        246,
        245,
        76,
        110,
        246
      ],
      "accounts": [
        {
          "name": "fill"
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "linked_terms",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "docs": [
            "reserve."
          ],
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "config",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "pool",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "mint",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "ripples_config",
          "writable": true
        },
        {
          "name": "link_settings"
        },
        {
          "name": "collection",
          "docs": [
            "handler and created by the Ripples program."
          ],
          "writable": true
        },
        {
          "name": "core_collection",
          "docs": [
            "and created by Core."
          ],
          "writable": true
        },
        {
          "name": "dbc_link",
          "writable": true
        },
        {
          "name": "link_vault"
        },
        {
          "name": "link_vault_quote",
          "writable": true
        },
        {
          "name": "link_vault_base",
          "writable": true
        },
        {
          "name": "core_program",
          "address": "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d"
        },
        {
          "name": "ripples_program",
          "address": "RippcKjgg9pkjHY7RKp6R1K8jPGwq2BRSJcgbErufjF"
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "collection_nonce",
          "type": "u64"
        }
      ]
    },
    {
      "name": "open",
      "discriminator": [
        228,
        220,
        155,
        71,
        199,
        189,
        60,
        45
      ],
      "accounts": [
        {
          "name": "opener",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "docs": [
            "what is left of the bond."
          ],
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "config",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "pool",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "mint",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "base_vault",
          "writable": true
        },
        {
          "name": "quote_vault",
          "writable": true
        },
        {
          "name": "metadata",
          "writable": true
        },
        {
          "name": "vault_quote",
          "writable": true
        },
        {
          "name": "vault_token",
          "writable": true
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "pool_authority",
          "address": "FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM"
        },
        {
          "name": "dbc_event_authority",
          "address": "8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF"
        },
        {
          "name": "dbc_program",
          "address": "dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"
        },
        {
          "name": "token_metadata_program",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "open_linked",
      "discriminator": [
        228,
        231,
        63,
        178,
        59,
        63,
        168,
        218
      ],
      "accounts": [
        {
          "name": "opener",
          "writable": true,
          "signer": true
        },
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "linked_terms",
          "docs": [
            "linked."
          ],
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "docs": [
            "what is left of the bond."
          ],
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "config",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "pool",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "mint",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "base_vault",
          "writable": true
        },
        {
          "name": "quote_vault",
          "writable": true
        },
        {
          "name": "metadata",
          "writable": true
        },
        {
          "name": "vault_quote",
          "writable": true
        },
        {
          "name": "vault_token",
          "writable": true
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "pool_authority",
          "address": "FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM"
        },
        {
          "name": "dbc_event_authority",
          "address": "8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF"
        },
        {
          "name": "dbc_program",
          "address": "dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN"
        },
        {
          "name": "token_metadata_program",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "prepare_open",
      "discriminator": [
        211,
        14,
        21,
        171,
        170,
        83,
        149,
        19
      ],
      "accounts": [
        {
          "name": "opener",
          "signer": true
        },
        {
          "name": "fill"
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "vault_quote",
          "writable": true
        },
        {
          "name": "link_vault",
          "optional": true
        },
        {
          "name": "link_vault_quote",
          "writable": true,
          "optional": true
        },
        {
          "name": "quote_mint",
          "address": "So11111111111111111111111111111111111111112"
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "refund",
      "discriminator": [
        2,
        96,
        183,
        251,
        63,
        208,
        46,
        46
      ],
      "accounts": [
        {
          "name": "fill",
          "writable": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "receipt",
          "writable": true
        },
        {
          "name": "contributor",
          "writable": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "release_link",
      "discriminator": [
        224,
        99,
        83,
        207,
        34,
        208,
        4,
        68
      ],
      "accounts": [
        {
          "name": "caller",
          "signer": true
        },
        {
          "name": "fill"
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "linked_terms",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  108,
                  105,
                  110,
                  107,
                  101,
                  100
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "pool",
          "relations": [
            "fill"
          ]
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "return_reserve",
      "discriminator": [
        101,
        177,
        180,
        96,
        25,
        206,
        16,
        214
      ],
      "accounts": [
        {
          "name": "fill",
          "writable": true
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "creator",
          "writable": true,
          "relations": [
            "fill"
          ]
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": []
    },
    {
      "name": "withdraw",
      "discriminator": [
        183,
        18,
        70,
        156,
        148,
        109,
        161,
        34
      ],
      "accounts": [
        {
          "name": "contributor",
          "writable": true,
          "signer": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "fill",
          "writable": true,
          "relations": [
            "receipt"
          ]
        },
        {
          "name": "vault",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  97,
                  117,
                  108,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "fill"
              }
            ]
          }
        },
        {
          "name": "receipt",
          "writable": true
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "amount",
          "type": "u64"
        }
      ]
    }
  ],
  "accounts": [
    {
      "name": "Fill",
      "discriminator": [
        246,
        116,
        142,
        122,
        204,
        199,
        44,
        113
      ]
    },
    {
      "name": "LaunchConfig",
      "discriminator": [
        18,
        161,
        9,
        224,
        102,
        145,
        29,
        94
      ]
    },
    {
      "name": "LinkedTerms",
      "discriminator": [
        11,
        158,
        30,
        66,
        126,
        123,
        165,
        161
      ]
    },
    {
      "name": "Receipt",
      "discriminator": [
        39,
        154,
        73,
        106,
        80,
        102,
        145,
        153
      ]
    }
  ],
  "events": [
    {
      "name": "Claimed",
      "discriminator": [
        217,
        192,
        123,
        72,
        108,
        150,
        248,
        33
      ]
    },
    {
      "name": "Contributed",
      "discriminator": [
        196,
        199,
        157,
        136,
        180,
        222,
        100,
        118
      ]
    },
    {
      "name": "FillAborted",
      "discriminator": [
        95,
        208,
        117,
        101,
        207,
        23,
        9,
        217
      ]
    },
    {
      "name": "FillCancelled",
      "discriminator": [
        97,
        122,
        229,
        199,
        172,
        58,
        4,
        250
      ]
    },
    {
      "name": "FillClosed",
      "discriminator": [
        246,
        44,
        72,
        213,
        123,
        220,
        103,
        70
      ]
    },
    {
      "name": "FillCreated",
      "discriminator": [
        123,
        222,
        147,
        167,
        196,
        201,
        21,
        237
      ]
    },
    {
      "name": "FillFull",
      "discriminator": [
        203,
        200,
        91,
        49,
        66,
        89,
        208,
        57
      ]
    },
    {
      "name": "FillOpened",
      "discriminator": [
        11,
        81,
        158,
        146,
        137,
        66,
        48,
        97
      ]
    },
    {
      "name": "IncomeForwarded",
      "discriminator": [
        155,
        127,
        89,
        155,
        148,
        176,
        12,
        196
      ]
    },
    {
      "name": "LaunchConfigCreated",
      "discriminator": [
        52,
        83,
        40,
        244,
        71,
        181,
        199,
        7
      ]
    },
    {
      "name": "LinkReleased",
      "discriminator": [
        58,
        226,
        60,
        46,
        123,
        1,
        99,
        40
      ]
    },
    {
      "name": "LinkedOpened",
      "discriminator": [
        152,
        156,
        192,
        179,
        58,
        168,
        87,
        106
      ]
    },
    {
      "name": "LinkedTermsCreated",
      "discriminator": [
        26,
        156,
        205,
        133,
        239,
        99,
        11,
        101
      ]
    },
    {
      "name": "Refunded",
      "discriminator": [
        35,
        103,
        149,
        246,
        196,
        123,
        221,
        99
      ]
    },
    {
      "name": "ReserveReturned",
      "discriminator": [
        134,
        110,
        108,
        227,
        45,
        85,
        55,
        53
      ]
    },
    {
      "name": "Withdrawn",
      "discriminator": [
        20,
        89,
        223,
        198,
        194,
        124,
        219,
        13
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "InvalidMetadata",
      "msg": "Name, symbol or metadata URI is empty or too long"
    },
    {
      "code": 6001,
      "name": "InvalidTarget",
      "msg": "Target is below the minimum contribution or above 40% of the graduation threshold, or the opening buy's floor is zero"
    },
    {
      "code": 6002,
      "name": "InvalidDeadline",
      "msg": "Deadline or public window is outside the allowed range"
    },
    {
      "code": 6003,
      "name": "InvalidDualFillKey",
      "msg": "Dual Fill key is empty"
    },
    {
      "code": 6004,
      "name": "OpenerRequired",
      "msg": "A fill needs an opener"
    },
    {
      "code": 6005,
      "name": "CreatorTaxTooHigh",
      "msg": "Creator charge is above the ceiling"
    },
    {
      "code": 6006,
      "name": "NotFilling",
      "msg": "The fill is not taking contributions"
    },
    {
      "code": 6007,
      "name": "FillFull",
      "msg": "The fill already holds its target"
    },
    {
      "code": 6008,
      "name": "BelowMinimum",
      "msg": "Contribution is below the minimum"
    },
    {
      "code": 6009,
      "name": "InsufficientReceipt",
      "msg": "Amount is zero or more than this receipt holds"
    },
    {
      "code": 6010,
      "name": "NotFull",
      "msg": "The fill is not full"
    },
    {
      "code": 6011,
      "name": "OpenWindowClosed",
      "msg": "The window to open this fill has closed"
    },
    {
      "code": 6012,
      "name": "WrongOpener",
      "msg": "Only the fill's opener may do this"
    },
    {
      "code": 6013,
      "name": "OpeningMismatch",
      "msg": "The opening buy spent or returned something other than the terms commit to"
    },
    {
      "code": 6014,
      "name": "NotOpened",
      "msg": "The fill has not opened"
    },
    {
      "code": 6015,
      "name": "NotRefundable",
      "msg": "Refunds are not available yet"
    },
    {
      "code": 6016,
      "name": "Outstanding",
      "msg": "The fill still holds contributions"
    },
    {
      "code": 6017,
      "name": "Overflow",
      "msg": "Arithmetic overflow"
    },
    {
      "code": 6018,
      "name": "OpenAloneFill",
      "msg": "A fill that may open alone cannot be aborted"
    },
    {
      "code": 6019,
      "name": "AlreadySettled",
      "msg": "The creator's bond has already been returned"
    },
    {
      "code": 6020,
      "name": "AlreadyClosed",
      "msg": "The fill is already closed"
    },
    {
      "code": 6021,
      "name": "WalletLimitReached",
      "msg": "This wallet already holds its share of the target for the public window"
    },
    {
      "code": 6022,
      "name": "WithdrawalsFrozen",
      "msg": "Withdrawals are closed for the last minutes of the public window"
    },
    {
      "code": 6023,
      "name": "WrongProfile",
      "msg": "This instruction does not open this kind of fill"
    },
    {
      "code": 6024,
      "name": "OpenAloneRefused",
      "msg": "A fill with a collection cannot open alone"
    },
    {
      "code": 6025,
      "name": "InvalidCoupling",
      "msg": "Minters' share, routed share, cliff or release is outside the allowed range"
    },
    {
      "code": 6026,
      "name": "InvalidCollection",
      "msg": "The collection's pieces, price, royalty or URIs are not accepted"
    },
    {
      "code": 6027,
      "name": "NothingToForward",
      "msg": "The vault holds nothing above what contributors are still owed and its rent floor"
    },
    {
      "code": 6028,
      "name": "InvalidTokenShape",
      "msg": "The config's token is not 1,000,000,000 at 6 decimals with immutable metadata"
    },
    {
      "code": 6029,
      "name": "InvalidFeeShape",
      "msg": "The config's fee is not the flat Crosscurrent fee for this creator charge"
    },
    {
      "code": 6030,
      "name": "InvalidMigrationShape",
      "msg": "The config's migration is not DAMM v2 with the standard locked liquidity"
    },
    {
      "code": 6031,
      "name": "InvalidConfig",
      "msg": "The config's activation, vesting or padding is not accepted"
    },
    {
      "code": 6032,
      "name": "InvalidLeftover",
      "msg": "The config holds back a different share of supply than the fill's pieces take"
    },
    {
      "code": 6033,
      "name": "ConfigMismatch",
      "msg": "The account is not the Meteora config this program created"
    },
    {
      "code": 6034,
      "name": "FillExists",
      "msg": "Linked terms are written before their fill exists"
    },
    {
      "code": 6035,
      "name": "NotPending",
      "msg": "The collection is not waiting to be linked"
    },
    {
      "code": 6036,
      "name": "LinkWindowOpen",
      "msg": "The collection can still be linked"
    },
    {
      "code": 6037,
      "name": "LinkPending",
      "msg": "The collection's link is still pending"
    },
    {
      "code": 6038,
      "name": "PriceBelowFloor",
      "msg": "The piece price is below the Ripples program's floor"
    },
    {
      "code": 6039,
      "name": "VaultShort",
      "msg": "The vault holds less than contributors are owed"
    },
    {
      "code": 6040,
      "name": "InvalidMint",
      "msg": "The launch config names no mint"
    }
  ],
  "types": [
    {
      "name": "BaseFeeParameters",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "cliff_fee_numerator",
            "type": "u64"
          },
          {
            "name": "first_factor",
            "type": "u16"
          },
          {
            "name": "second_factor",
            "type": "u64"
          },
          {
            "name": "third_factor",
            "type": "u64"
          },
          {
            "name": "base_fee_mode",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "Claimed",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "contributor",
            "type": "pubkey"
          },
          {
            "name": "quote",
            "type": "u64"
          },
          {
            "name": "tokens",
            "type": "u64"
          },
          {
            "name": "refund",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "ConfigParameters",
      "docs": [
        "DBC's `create_config` argument, field for field. The program checks the fields it can hold a",
        "Crosscurrent to (`terms::check_config`) and passes the curve through as given: the API matches",
        "its start price to the Robinhood side's before it confirms a leg."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "pool_fees",
            "type": {
              "defined": {
                "name": "PoolFeeParameters"
              }
            }
          },
          {
            "name": "collect_fee_mode",
            "type": "u8"
          },
          {
            "name": "migration_option",
            "type": "u8"
          },
          {
            "name": "activation_type",
            "type": "u8"
          },
          {
            "name": "token_type",
            "type": "u8"
          },
          {
            "name": "token_decimal",
            "type": "u8"
          },
          {
            "name": "partner_liquidity_percentage",
            "type": "u8"
          },
          {
            "name": "partner_permanent_locked_liquidity_percentage",
            "type": "u8"
          },
          {
            "name": "creator_liquidity_percentage",
            "type": "u8"
          },
          {
            "name": "creator_permanent_locked_liquidity_percentage",
            "type": "u8"
          },
          {
            "name": "migration_quote_threshold",
            "type": "u64"
          },
          {
            "name": "sqrt_start_price",
            "type": "u128"
          },
          {
            "name": "locked_vesting",
            "type": {
              "defined": {
                "name": "LockedVestingParams"
              }
            }
          },
          {
            "name": "migration_fee_option",
            "type": "u8"
          },
          {
            "name": "token_supply",
            "type": {
              "option": {
                "defined": {
                  "name": "TokenSupplyParams"
                }
              }
            }
          },
          {
            "name": "creator_trading_fee_percentage",
            "type": "u8"
          },
          {
            "name": "token_update_authority",
            "type": "u8"
          },
          {
            "name": "migration_fee",
            "type": {
              "defined": {
                "name": "MigrationFee"
              }
            }
          },
          {
            "name": "migrated_pool_fee",
            "type": {
              "defined": {
                "name": "MigratedPoolFee"
              }
            }
          },
          {
            "name": "pool_creation_fee",
            "type": "u64"
          },
          {
            "name": "partner_liquidity_vesting_info",
            "type": {
              "defined": {
                "name": "LiquidityVestingInfoParams"
              }
            }
          },
          {
            "name": "creator_liquidity_vesting_info",
            "type": {
              "defined": {
                "name": "LiquidityVestingInfoParams"
              }
            }
          },
          {
            "name": "migrated_pool_base_fee_mode",
            "type": "u8"
          },
          {
            "name": "migrated_pool_market_cap_fee_scheduler_params",
            "type": {
              "defined": {
                "name": "MigratedPoolMarketCapFeeSchedulerParams"
              }
            }
          },
          {
            "name": "enable_first_swap_with_min_fee",
            "type": "bool"
          },
          {
            "name": "compounding_fee_bps",
            "type": "u16"
          },
          {
            "name": "padding",
            "type": {
              "array": [
                "u8",
                2
              ]
            }
          },
          {
            "name": "curve",
            "type": {
              "vec": {
                "defined": {
                  "name": "LiquidityDistributionParameters"
                }
              }
            }
          }
        ]
      }
    },
    {
      "name": "Contributed",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "contributor",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          },
          {
            "name": "total",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "CreateFillArgs",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "dual_fill_key",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "opener",
            "type": "pubkey"
          },
          {
            "name": "open_alone",
            "type": "bool"
          },
          {
            "name": "target",
            "type": "u64"
          },
          {
            "name": "deadline",
            "type": "i64"
          },
          {
            "name": "public_until",
            "type": "i64"
          },
          {
            "name": "min_tokens_out",
            "docs": [
              "The DBC quote of `target` on the config, with no referrer. `open` refuses to buy for less."
            ],
            "type": "u64"
          },
          {
            "name": "creator_tax_bps",
            "type": "u16"
          },
          {
            "name": "terms",
            "type": {
              "defined": {
                "name": "Terms"
              }
            }
          }
        ]
      }
    },
    {
      "name": "DynamicFeeParameters",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "bin_step",
            "type": "u16"
          },
          {
            "name": "bin_step_u128",
            "type": "u128"
          },
          {
            "name": "filter_period",
            "type": "u16"
          },
          {
            "name": "decay_period",
            "type": "u16"
          },
          {
            "name": "reduction_factor",
            "type": "u16"
          },
          {
            "name": "max_volatility_accumulator",
            "type": "u32"
          },
          {
            "name": "variable_fee_control",
            "type": "u32"
          }
        ]
      }
    },
    {
      "name": "Fill",
      "docs": [
        "Every Crosscurrent config a fill commits to is listed by this account: `getProgramAccounts`",
        "with its discriminator at 0 finds every fill, and the config sits at `CONFIG_OFFSET`."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "creator",
            "docs": [
              "Signed `create_fill`, posted the bond, and becomes the pool's creator at open."
            ],
            "type": "pubkey"
          },
          {
            "name": "opener",
            "docs": [
              "May open a full fill and abort a default-mode one. Neither moves money anywhere but back",
              "to the people it came from or into the pool."
            ],
            "type": "pubkey"
          },
          {
            "name": "dual_fill_key",
            "docs": [
              "The commitment the Robinhood Chain side stores too, so the two sides can be matched",
              "without either chain seeing the other."
            ],
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "config",
            "docs": [
              "The Meteora config `create_fill` created at `[\"dbc_config\", fill]`."
            ],
            "type": "pubkey"
          },
          {
            "name": "mint",
            "docs": [
              "`[\"mint\", fill]`, which exists once the fill opens."
            ],
            "type": "pubkey"
          },
          {
            "name": "pool",
            "docs": [
              "The pool DBC derives from the config and the mint."
            ],
            "type": "pubkey"
          },
          {
            "name": "target",
            "type": "u64"
          },
          {
            "name": "total",
            "type": "u64"
          },
          {
            "name": "reserve",
            "type": "u64"
          },
          {
            "name": "deadline",
            "type": "i64"
          },
          {
            "name": "public_until",
            "type": "i64"
          },
          {
            "name": "opened_at",
            "type": "i64"
          },
          {
            "name": "tokens",
            "type": "u64"
          },
          {
            "name": "min_tokens_out",
            "docs": [
              "The opening buy's committed minimum, from the DBC quote of the target on this config."
            ],
            "type": "u64"
          },
          {
            "name": "rebate",
            "docs": [
              "The pool creator's share of the opening buy's own fee, claimed back at open and owed to",
              "contributors with the excess."
            ],
            "type": "u64"
          },
          {
            "name": "claimed_quote",
            "type": "u64"
          },
          {
            "name": "claimed_tokens",
            "type": "u64"
          },
          {
            "name": "claimed_excess",
            "type": "u64"
          },
          {
            "name": "contributors",
            "type": "u32"
          },
          {
            "name": "status",
            "type": {
              "defined": {
                "name": "FillStatus"
              }
            }
          },
          {
            "name": "open_alone",
            "type": "bool"
          },
          {
            "name": "closed",
            "docs": [
              "Set by `close_fill`. The account itself is never closed, so `create_fill` can never",
              "succeed at this address again with a different opener or different terms."
            ],
            "type": "bool"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "vault_bump",
            "type": "u8"
          },
          {
            "name": "config_bump",
            "type": "u8"
          },
          {
            "name": "mint_bump",
            "type": "u8"
          },
          {
            "name": "profile",
            "type": {
              "defined": {
                "name": "FillProfile"
              }
            }
          },
          {
            "name": "creator_tax_bps",
            "docs": [
              "The extra charge on every trade on top of the 1.25% base, matching the Robinhood side."
            ],
            "type": "u16"
          },
          {
            "name": "terms",
            "type": {
              "defined": {
                "name": "Terms"
              }
            }
          }
        ]
      }
    },
    {
      "name": "FillAborted",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "opener",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "FillCancelled",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "FillClosed",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "returned",
            "type": "u64"
          },
          {
            "name": "burned",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "FillCreated",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "opener",
            "type": "pubkey"
          },
          {
            "name": "dual_fill_key",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "config",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "pool",
            "type": "pubkey"
          },
          {
            "name": "target",
            "type": "u64"
          },
          {
            "name": "min_tokens_out",
            "type": "u64"
          },
          {
            "name": "deadline",
            "type": "i64"
          },
          {
            "name": "public_until",
            "type": "i64"
          },
          {
            "name": "open_alone",
            "type": "bool"
          },
          {
            "name": "reserve",
            "type": "u64"
          },
          {
            "name": "creator_tax_bps",
            "type": "u16"
          }
        ]
      }
    },
    {
      "name": "FillFull",
      "docs": [
        "The contribution that reached the target. The fill reads full only once the public window",
        "has also ended."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "total",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "FillOpened",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "pool",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "opener",
            "type": "pubkey"
          },
          {
            "name": "quote_in",
            "type": "u64"
          },
          {
            "name": "tokens",
            "type": "u64"
          },
          {
            "name": "rebate",
            "docs": [
              "The pool creator's share of the opening buy's fee, owed back to contributors."
            ],
            "type": "u64"
          },
          {
            "name": "reserve_returned",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "FillProfile",
      "docs": [
        "What a fill opens, fixed at creation. `Token` opens a pool through `open`; `Linked` opens a pool",
        "through `open_linked` and links the Solana half of its collection through `link_fill`, and only",
        "`create_linked_fill` writes it."
      ],
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Token"
          },
          {
            "name": "Linked"
          }
        ]
      }
    },
    {
      "name": "FillStatus",
      "docs": [
        "Stored as `Filling`, `Opened` or `Cancelled` only. `Full` is what a filling fill reads as once",
        "it holds its target and the public window has ended, which no transaction could write: it",
        "changes with the clock alone."
      ],
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Filling"
          },
          {
            "name": "Full"
          },
          {
            "name": "Opened"
          },
          {
            "name": "Cancelled"
          }
        ]
      }
    },
    {
      "name": "IncomeForwarded",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "LaunchConfig",
      "docs": [
        "An Open now config: the creator creates the pool on it and makes the opening buy themselves, in",
        "the transaction after this one, with the mint they named here. The record makes the config",
        "enumerable the way a fill makes its own (`getProgramAccounts` with this discriminator at 0, the",
        "config at `CONFIG_OFFSET`) and names the one pool that is the Crosscurrent's: anyone may make a",
        "pool on any config, and Meteora hands a pool's creator role over without the new creator signing,",
        "so neither the config nor a pool's creator says which pool is the creator's own. Only the holder",
        "of the mint's key can create the pool at `pool`."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "dual_fill_key",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "config",
            "docs": [
              "`[\"dbc_config\", creator, dual_fill_key]`."
            ],
            "type": "pubkey"
          },
          {
            "name": "mint",
            "docs": [
              "The mint the creator's pool is made with, chosen by the creator."
            ],
            "type": "pubkey"
          },
          {
            "name": "pool",
            "docs": [
              "The one pool that mint makes on this config."
            ],
            "type": "pubkey"
          },
          {
            "name": "creator_tax_bps",
            "type": "u16"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "LaunchConfigCreated",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "launch_config",
            "type": "pubkey"
          },
          {
            "name": "config",
            "type": "pubkey"
          },
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "dual_fill_key",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "pool",
            "type": "pubkey"
          },
          {
            "name": "creator_tax_bps",
            "type": "u16"
          }
        ]
      }
    },
    {
      "name": "LinkReleased",
      "docs": [
        "The link was given up, and the creator paid what was left of its reserve."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "reserve_returned",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "LinkStatus",
      "docs": [
        "Where a linked fill's collection stands. It is `Pending` until `link_fill` makes it `Linked`, or",
        "`release_link` gives it up and leaves it `Released`; the collection's address is fixed only by the",
        "link itself."
      ],
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Pending"
          },
          {
            "name": "Linked"
          },
          {
            "name": "Released"
          }
        ]
      }
    },
    {
      "name": "LinkedArgs",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "nft_allocation_bps",
            "type": "u16"
          },
          {
            "name": "routed_bps",
            "type": "u16"
          },
          {
            "name": "cliff",
            "type": "i64"
          },
          {
            "name": "release",
            "type": "i64"
          },
          {
            "name": "price_lamports",
            "type": "u64"
          },
          {
            "name": "max_supply",
            "type": "u32"
          },
          {
            "name": "wallet_cap",
            "type": "u16"
          },
          {
            "name": "royalty_bps",
            "type": "u16"
          },
          {
            "name": "collection_uri",
            "type": "string"
          },
          {
            "name": "base_uri",
            "type": "string"
          },
          {
            "name": "resolver_prefix",
            "type": "string"
          }
        ]
      }
    },
    {
      "name": "LinkedOpened",
      "docs": [
        "Emitted by `link_fill` once the collection is linked to the pool and its metadata frozen."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "collection",
            "type": "pubkey"
          },
          {
            "name": "core_collection",
            "type": "pubkey"
          },
          {
            "name": "dbc_link",
            "type": "pubkey"
          },
          {
            "name": "reserve_returned",
            "docs": [
              "What the link left of the reserve `open_linked` kept, paid to the creator."
            ],
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "LinkedTerms",
      "docs": [
        "Everything a linked fill's collection is opened with that the `Fill` does not carry, in the old",
        "program's layout with the curve's coupling replaced by the link's: the share of each mint routed",
        "into the pool, and when the pieces' tokens release after graduation. Written by",
        "`create_linked_terms` before the fill exists, so `create_linked_fill` stays one transaction;",
        "`link_fill` adds only the nonce it used and the two addresses that nonce derived."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "nft_allocation_bps",
            "docs": [
              "The pieces' slice of supply, which the fill's config has to hold back."
            ],
            "type": "u16"
          },
          {
            "name": "routed_bps",
            "type": "u16"
          },
          {
            "name": "cliff",
            "type": "i64"
          },
          {
            "name": "release",
            "type": "i64"
          },
          {
            "name": "price_lamports",
            "type": "u64"
          },
          {
            "name": "max_supply",
            "type": "u32"
          },
          {
            "name": "wallet_cap",
            "type": "u16"
          },
          {
            "name": "royalty_bps",
            "type": "u16"
          },
          {
            "name": "collection_nonce",
            "type": "u64"
          },
          {
            "name": "collection",
            "type": "pubkey"
          },
          {
            "name": "core_collection",
            "type": "pubkey"
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "link",
            "type": {
              "defined": {
                "name": "LinkStatus"
              }
            }
          },
          {
            "name": "collection_uri",
            "type": "string"
          },
          {
            "name": "base_uri",
            "type": "string"
          },
          {
            "name": "resolver_prefix",
            "type": "string"
          }
        ]
      }
    },
    {
      "name": "LinkedTermsCreated",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "linked_terms",
            "type": "pubkey"
          },
          {
            "name": "nft_allocation_bps",
            "type": "u16"
          },
          {
            "name": "routed_bps",
            "type": "u16"
          },
          {
            "name": "max_supply",
            "type": "u32"
          },
          {
            "name": "price_lamports",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "LiquidityDistributionParameters",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "sqrt_price",
            "type": "u128"
          },
          {
            "name": "liquidity",
            "type": "u128"
          }
        ]
      }
    },
    {
      "name": "LiquidityVestingInfoParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "vesting_percentage",
            "type": "u8"
          },
          {
            "name": "bps_per_period",
            "type": "u16"
          },
          {
            "name": "number_of_periods",
            "type": "u16"
          },
          {
            "name": "cliff_duration_from_migration_time",
            "type": "u32"
          },
          {
            "name": "frequency",
            "type": "u32"
          }
        ]
      }
    },
    {
      "name": "LockedVestingParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "amount_per_period",
            "type": "u64"
          },
          {
            "name": "cliff_duration_from_migration_time",
            "type": "u64"
          },
          {
            "name": "frequency",
            "type": "u64"
          },
          {
            "name": "number_of_period",
            "type": "u64"
          },
          {
            "name": "cliff_unlock_amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "MigratedPoolFee",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "collect_fee_mode",
            "type": "u8"
          },
          {
            "name": "dynamic_fee",
            "type": "u8"
          },
          {
            "name": "pool_fee_bps",
            "type": "u16"
          }
        ]
      }
    },
    {
      "name": "MigratedPoolMarketCapFeeSchedulerParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "number_of_period",
            "type": "u16"
          },
          {
            "name": "sqrt_price_step_bps",
            "type": "u16"
          },
          {
            "name": "scheduler_expiration_duration",
            "type": "u32"
          },
          {
            "name": "reduction_factor",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "MigrationFee",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fee_percentage",
            "type": "u8"
          },
          {
            "name": "creator_fee_percentage",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "PoolFeeParameters",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "base_fee",
            "type": {
              "defined": {
                "name": "BaseFeeParameters"
              }
            }
          },
          {
            "name": "dynamic_fee",
            "type": {
              "option": {
                "defined": {
                  "name": "DynamicFeeParameters"
                }
              }
            }
          }
        ]
      }
    },
    {
      "name": "Receipt",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "contributor",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "Refunded",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "contributor",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "ReserveReturned",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "Terms",
      "docs": [
        "The token's metadata, passed to the pool unchanged. Written once at creation; `open` takes no",
        "arguments, so nothing about the token is chosen by the key that opens it."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "name",
            "type": "string"
          },
          {
            "name": "symbol",
            "type": "string"
          },
          {
            "name": "uri",
            "type": "string"
          }
        ]
      }
    },
    {
      "name": "TokenSupplyParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "pre_migration_token_supply",
            "type": "u64"
          },
          {
            "name": "post_migration_token_supply",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "Withdrawn",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "fill",
            "type": "pubkey"
          },
          {
            "name": "contributor",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          },
          {
            "name": "total",
            "type": "u64"
          }
        ]
      }
    }
  ]
}