{
    "address": "5QfLviZ6gqbXMuN2sjQzTFpQKZtJoYneAcfwDnLLDY2C",
    "metadata": {
        "name": "pump_fun",
        "version": "0.1.0",
        "spec": "0.1.0",
        "description": "Created with Anchor"
    },
    "instructions": [
        {
            "name": "add_donation_destinations",
            "discriminator": [181, 167, 104, 71, 53, 42, 112, 52],
            "accounts": [
                {
                    "name": "authority",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "writable": true
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "donation_destinations",
                    "type": {
                        "vec": "pubkey"
                    }
                }
            ]
        },
        {
            "name": "buy",
            "discriminator": [102, 6, 61, 18, 1, 218, 235, 234],
            "accounts": [
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "creator_wallet",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "operating_wallet",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "associated_bonding_curve",
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "associated_user",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                },
                {
                    "name": "max_cost_sol",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "buy_with_spl",
            "discriminator": [86, 194, 224, 114, 187, 0, 129, 53],
            "accounts": [
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "sonic_mint"
                },
                {
                    "name": "creator_wallet",
                    "writable": true
                },
                {
                    "name": "operating_wallet",
                    "writable": true
                },
                {
                    "name": "user_sonic_account",
                    "writable": true
                },
                {
                    "name": "creator_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "creator_wallet"
                            },
                            {
                                "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": "sonic_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": "operating_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "operating_wallet"
                            },
                            {
                                "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": "sonic_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": "bonding_curve_token_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve_sonic_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101,
                                    95, 118, 50
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "user_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                },
                {
                    "name": "max_cost_sonic",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "create",
            "discriminator": [24, 30, 200, 40, 5, 28, 7, 119],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "donation_destination",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "associated_bonding_curve",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "associated_donation_destination",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "name",
                    "type": "string"
                },
                {
                    "name": "symbol",
                    "type": "string"
                },
                {
                    "name": "uri",
                    "type": "string"
                },
                {
                    "name": "donation_amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "create_with_spl",
            "discriminator": [196, 31, 67, 197, 71, 205, 128, 242],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "sonic_mint"
                },
                {
                    "name": "mint",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "donation_destination",
                    "writable": true
                },
                {
                    "name": "associated_bonding_curve",
                    "writable": true
                },
                {
                    "name": "associated_donation_destination",
                    "writable": true
                },
                {
                    "name": "bonding_curve_sonic_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101,
                                    95, 118, 50
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "spl_token_program"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "name",
                    "type": "string"
                },
                {
                    "name": "symbol",
                    "type": "string"
                },
                {
                    "name": "uri",
                    "type": "string"
                },
                {
                    "name": "donation_amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "initialize",
            "discriminator": [175, 175, 109, 31, 13, 152, 155, 237],
            "accounts": [
                {
                    "name": "authority",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": []
        },
        {
            "name": "remove_donation_destinations",
            "discriminator": [45, 169, 120, 148, 4, 97, 96, 53],
            "accounts": [
                {
                    "name": "authority",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "writable": true
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "donation_destinations",
                    "type": {
                        "vec": "pubkey"
                    }
                }
            ]
        },
        {
            "name": "sell",
            "discriminator": [51, 230, 133, 164, 1, 127, 131, 173],
            "accounts": [
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "operating_wallet",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "creator_wallet",
                    "docs": ["CHECK"],
                    "writable": true
                },
                {
                    "name": "associated_bonding_curve",
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "associated_user",
                    "writable": true
                },
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                },
                {
                    "name": "min_out",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "sell_with_spl",
            "discriminator": [138, 14, 220, 187, 19, 0, 46, 94],
            "accounts": [
                {
                    "name": "global",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "sonic_mint"
                },
                {
                    "name": "operating_wallet",
                    "writable": true
                },
                {
                    "name": "creator_wallet",
                    "writable": true
                },
                {
                    "name": "user_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "sonic_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": "creator_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "creator_wallet"
                            },
                            {
                                "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": "sonic_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": "operating_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "operating_wallet"
                            },
                            {
                                "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": "sonic_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": "bonding_curve_token_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve_sonic_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101,
                                    95, 118, 50
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "user_token_account",
                    "writable": true
                },
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                },
                {
                    "name": "min_sonic_output",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "set_params",
            "discriminator": [27, 234, 178, 52, 147, 2, 187, 141],
            "accounts": [
                {
                    "name": "authority",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "writable": true
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "fee_recipient",
                    "type": "pubkey"
                },
                {
                    "name": "initial_virtual_token_reserves",
                    "type": "u64"
                },
                {
                    "name": "initial_virtual_sol_reserves",
                    "type": "u64"
                },
                {
                    "name": "initial_real_token_reserves",
                    "type": "u64"
                },
                {
                    "name": "token_total_supply",
                    "type": "u64"
                },
                {
                    "name": "operating_fee_basis_points",
                    "type": "u64"
                },
                {
                    "name": "creator_fee_basis_points",
                    "type": "u64"
                },
                {
                    "name": "sonic_mint",
                    "type": {
                        "option": "pubkey"
                    }
                },
                {
                    "name": "sonic_decimals",
                    "type": {
                        "option": "u8"
                    }
                },
                {
                    "name": "sonic_initial_virtual_token_reserves",
                    "type": {
                        "option": "u64"
                    }
                },
                {
                    "name": "sonic_initial_virtual_base_reserves",
                    "type": {
                        "option": "u64"
                    }
                },
                {
                    "name": "sonic_initial_real_token_reserves",
                    "type": {
                        "option": "u64"
                    }
                }
            ]
        },
        {
            "name": "update_authority",
            "discriminator": [32, 46, 64, 28, 149, 75, 243, 88],
            "accounts": [
                {
                    "name": "authority",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "global",
                    "writable": true
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "new_authority",
                    "type": "pubkey"
                }
            ]
        },
        {
            "name": "withdraw",
            "discriminator": [183, 18, 70, 156, 148, 109, 161, 34],
            "accounts": [
                {
                    "name": "global",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "associated_bonding_curve",
                    "writable": true
                },
                {
                    "name": "associated_user",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": []
        },
        {
            "name": "withdraw_spl",
            "discriminator": [181, 154, 94, 86, 62, 115, 6, 186],
            "accounts": [
                {
                    "name": "global",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [103, 108, 111, 98, 97, 108]
                            }
                        ]
                    }
                },
                {
                    "name": "mint",
                    "writable": true
                },
                {
                    "name": "sonic_mint"
                },
                {
                    "name": "bonding_curve_token_account",
                    "writable": true
                },
                {
                    "name": "bonding_curve_sonic_account",
                    "writable": true
                },
                {
                    "name": "authority_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "authority_sonic_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "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": "sonic_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": "bonding_curve",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    98, 111, 110, 100, 105, 110, 103, 95, 99, 117, 114, 118, 101,
                                    95, 118, 50
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "mint"
                            }
                        ]
                    }
                },
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": []
        }
    ],
    "accounts": [
        {
            "name": "BondingCurve",
            "discriminator": [23, 183, 248, 55, 96, 216, 172, 96]
        },
        {
            "name": "BondingCurveV2",
            "discriminator": [164, 39, 209, 40, 144, 178, 79, 52]
        },
        {
            "name": "Global",
            "discriminator": [167, 232, 232, 177, 200, 108, 114, 127]
        }
    ],
    "events": [
        {
            "name": "CompleteEvent",
            "discriminator": [95, 114, 97, 156, 212, 46, 152, 8]
        },
        {
            "name": "CreateEvent",
            "discriminator": [27, 114, 169, 77, 222, 235, 99, 118]
        },
        {
            "name": "SetParamsEvent",
            "discriminator": [223, 195, 159, 246, 62, 48, 143, 131]
        },
        {
            "name": "TradeEvent",
            "discriminator": [189, 219, 127, 211, 78, 230, 97, 238]
        },
        {
            "name": "UpdateAuthorityEvent",
            "discriminator": [18, 34, 243, 151, 72, 51, 65, 156]
        }
    ],
    "errors": [
        {
            "code": 6000,
            "name": "AlreadyInitialized",
            "msg": "The program is already initialized."
        },
        {
            "code": 6001,
            "name": "NotAuthorized",
            "msg": "The given account is not authorized to execute this instruction."
        },
        {
            "code": 6002,
            "name": "TooMuchSolRequired",
            "msg": "slippage: Too much SOL required to buy the given amount of tokens."
        },
        {
            "code": 6003,
            "name": "TooLittleSolReceived",
            "msg": "slippage: Too little SOL received to sell the given amount of tokens."
        },
        {
            "code": 6004,
            "name": "MintDoesNotMatchBondingCurve",
            "msg": "The mint does not match the bonding curve."
        },
        {
            "code": 6005,
            "name": "BondingCurveComplete",
            "msg": "The bonding curve has completed and liquidity migrated to raydium."
        },
        {
            "code": 6006,
            "name": "BondingCurveNotComplete",
            "msg": "The bonding curve has not completed yet."
        },
        {
            "code": 6007,
            "name": "NotInitialized",
            "msg": "The program is not initialized."
        },
        {
            "code": 6008,
            "name": "NotAuthorizedDonationDestination",
            "msg": "The donation destination is not authorized."
        },
        {
            "code": 6009,
            "name": "InsufficientTokens",
            "msg": "Insufficient Tokens"
        },
        {
            "code": 6010,
            "name": "MinBuy",
            "msg": "Min buy is 1 Token"
        },
        {
            "code": 6011,
            "name": "MinSell",
            "msg": "Min sell is 1 Token"
        },
        {
            "code": 6012,
            "name": "InsufficientSOL",
            "msg": "Insufficient SOL"
        },
        {
            "code": 6013,
            "name": "InvalidMintAccountSpace",
            "msg": "Invalid Mint Account Space"
        },
        {
            "code": 6014,
            "name": "CantInitializeMetadataPointer",
            "msg": "Can't Initialize Metadata Pointer"
        },
        {
            "code": 6015,
            "name": "InvalidSonicMint",
            "msg": "The SONIC mint does not match the global configuration."
        },
        {
            "code": 6016,
            "name": "TooMuchSonicRequired",
            "msg": "slippage: Too much SONIC required to buy the given amount of tokens."
        },
        {
            "code": 6017,
            "name": "TooLittleSonicReceived",
            "msg": "slippage: Too little SONIC received to sell the given amount of tokens."
        },
        {
            "code": 6018,
            "name": "InsufficientSonic",
            "msg": "Insufficient SONIC tokens"
        }
    ],
    "types": [
        {
            "name": "BondingCurve",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "creator",
                        "type": "pubkey"
                    },
                    {
                        "name": "virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "virtual_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "token_total_supply",
                        "type": "u64"
                    },
                    {
                        "name": "complete",
                        "type": "bool"
                    }
                ]
            }
        },
        {
            "name": "BondingCurveV2",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "creator",
                        "type": "pubkey"
                    },
                    {
                        "name": "base_currency_mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "virtual_base_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_base_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "token_total_supply",
                        "type": "u64"
                    },
                    {
                        "name": "complete",
                        "type": "bool"
                    }
                ]
            }
        },
        {
            "name": "CompleteEvent",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "bonding_curve",
                        "type": "pubkey"
                    },
                    {
                        "name": "timestamp",
                        "type": "i64"
                    }
                ]
            }
        },
        {
            "name": "CreateEvent",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "symbol",
                        "type": "string"
                    },
                    {
                        "name": "uri",
                        "type": "string"
                    },
                    {
                        "name": "mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "bonding_curve",
                        "type": "pubkey"
                    },
                    {
                        "name": "donation_destination",
                        "type": "pubkey"
                    },
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "currency",
                        "type": "string"
                    }
                ]
            }
        },
        {
            "name": "Global",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "initialized",
                        "type": "bool"
                    },
                    {
                        "name": "authority",
                        "type": "pubkey"
                    },
                    {
                        "name": "operating_wallet",
                        "type": "pubkey"
                    },
                    {
                        "name": "initial_virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "initial_virtual_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "initial_real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "initial_real_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "token_total_supply",
                        "type": "u64"
                    },
                    {
                        "name": "operating_fee_basis_points",
                        "type": "u64"
                    },
                    {
                        "name": "creator_fee_basis_points",
                        "type": "u64"
                    },
                    {
                        "name": "sonic_mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "sonic_decimals",
                        "type": "u8"
                    },
                    {
                        "name": "sonic_initial_virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "sonic_initial_virtual_base_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "sonic_initial_real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "donation_destinations",
                        "type": {
                            "vec": "pubkey"
                        }
                    }
                ]
            }
        },
        {
            "name": "SetParamsEvent",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "operating_wallet",
                        "type": "pubkey"
                    },
                    {
                        "name": "initial_virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "initial_virtual_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "initial_real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "token_total_supply",
                        "type": "u64"
                    },
                    {
                        "name": "operating_fee_basis_points",
                        "type": "u64"
                    },
                    {
                        "name": "creator_fee_basis_points",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "TradeEvent",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "sol_amount",
                        "type": "u64"
                    },
                    {
                        "name": "token_amount",
                        "type": "u64"
                    },
                    {
                        "name": "is_buy",
                        "type": "bool"
                    },
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "timestamp",
                        "type": "i64"
                    },
                    {
                        "name": "virtual_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "virtual_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_token_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "real_sol_reserves",
                        "type": "u64"
                    },
                    {
                        "name": "currency",
                        "type": "string"
                    }
                ]
            }
        },
        {
            "name": "UpdateAuthorityEvent",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "new_authority",
                        "type": "pubkey"
                    }
                ]
            }
        }
    ]
}
