{
  "address": "Fmy9Mi1RbcHPEht6ydGmrLGFCiU3P9JSUomVDEsYwF2J",
  "metadata": {
    "name": "trench_governance",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Trench token metadata governance"
  },
  "instructions": [
    {
      "name": "cancel_vote",
      "discriminator": [
        56,
        40,
        243,
        75,
        217,
        20,
        73,
        43
      ],
      "accounts": [
        {
          "name": "voter",
          "writable": true,
          "signer": true
        },
        {
          "name": "governance"
        },
        {
          "name": "mint"
        },
        {
          "name": "proposal",
          "writable": true
        },
        {
          "name": "vote_receipt",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  114,
                  101,
                  99,
                  101,
                  105,
                  112,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              },
              {
                "kind": "account",
                "path": "voter"
              }
            ]
          }
        },
        {
          "name": "voter_token_account",
          "writable": true
        },
        {
          "name": "vote_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        }
      ],
      "args": []
    },
    {
      "name": "cast_vote",
      "discriminator": [
        20,
        212,
        15,
        189,
        69,
        180,
        69,
        151
      ],
      "accounts": [
        {
          "name": "voter",
          "writable": true,
          "signer": true
        },
        {
          "name": "governance"
        },
        {
          "name": "mint"
        },
        {
          "name": "proposal",
          "writable": true
        },
        {
          "name": "vote_receipt",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  114,
                  101,
                  99,
                  101,
                  105,
                  112,
                  116
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              },
              {
                "kind": "account",
                "path": "voter"
              }
            ]
          }
        },
        {
          "name": "voter_token_account",
          "writable": true
        },
        {
          "name": "vote_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "rent",
          "address": "SysvarRent111111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "CastVoteParams"
            }
          }
        }
      ]
    },
    {
      "name": "create_proposal",
      "discriminator": [
        132,
        116,
        68,
        174,
        216,
        160,
        198,
        22
      ],
      "accounts": [
        {
          "name": "proposer",
          "writable": true,
          "signer": true
        },
        {
          "name": "config",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                59,
                27,
                136,
                131,
                195,
                71,
                21,
                228,
                205,
                27,
                43,
                143,
                132,
                33,
                214,
                77,
                63,
                244,
                159,
                209,
                108,
                145,
                185,
                87,
                29,
                248,
                39,
                183,
                96,
                147,
                33,
                122
              ]
            }
          }
        },
        {
          "name": "authority",
          "signer": true
        },
        {
          "name": "governance",
          "writable": true
        },
        {
          "name": "mint"
        },
        {
          "name": "proposal",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  112,
                  114,
                  111,
                  112,
                  111,
                  115,
                  97,
                  108
                ]
              },
              {
                "kind": "account",
                "path": "governance"
              },
              {
                "kind": "account",
                "path": "governance.proposal_count",
                "account": "GovernanceState"
              }
            ]
          }
        },
        {
          "name": "author_record",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  112,
                  114,
                  111,
                  112,
                  111,
                  115,
                  97,
                  108,
                  95,
                  97,
                  117,
                  116,
                  104,
                  111,
                  114
                ]
              },
              {
                "kind": "account",
                "path": "governance"
              },
              {
                "kind": "account",
                "path": "proposer"
              },
              {
                "kind": "arg",
                "path": "params.action"
              }
            ]
          }
        },
        {
          "name": "vote_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "bond_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  98,
                  111,
                  110,
                  100,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "proposer_token_account",
          "writable": true
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        },
        {
          "name": "rent",
          "address": "SysvarRent111111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "CreateProposalParams"
            }
          }
        }
      ]
    },
    {
      "name": "execute_creator_revenue_proposal",
      "discriminator": [
        207,
        17,
        230,
        207,
        198,
        27,
        224,
        229
      ],
      "accounts": [
        {
          "name": "governance",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  103,
                  111,
                  118,
                  101,
                  114,
                  110,
                  97,
                  110,
                  99,
                  101
                ]
              },
              {
                "kind": "account",
                "path": "governance.mint",
                "account": "GovernanceState"
              }
            ]
          }
        },
        {
          "name": "proposal",
          "writable": true
        },
        {
          "name": "mint"
        },
        {
          "name": "revenue_config",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  114,
                  101,
                  118,
                  101,
                  110,
                  117,
                  101,
                  95,
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                59,
                27,
                136,
                131,
                195,
                71,
                21,
                228,
                205,
                27,
                43,
                143,
                132,
                33,
                214,
                77,
                63,
                244,
                159,
                209,
                108,
                145,
                185,
                87,
                29,
                248,
                39,
                183,
                96,
                147,
                33,
                122
              ]
            }
          }
        },
        {
          "name": "creator_revenue_state",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  114,
                  101,
                  97,
                  116,
                  111,
                  114,
                  95,
                  114,
                  101,
                  118,
                  101,
                  110,
                  117,
                  101
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                59,
                27,
                136,
                131,
                195,
                71,
                21,
                228,
                205,
                27,
                43,
                143,
                132,
                33,
                214,
                77,
                63,
                244,
                159,
                209,
                108,
                145,
                185,
                87,
                29,
                248,
                39,
                183,
                96,
                147,
                33,
                122
              ]
            }
          }
        },
        {
          "name": "trench_program",
          "address": "4yjQUVLV4VPzgGCXPGBQUziGjo1HG2atxsBBsS3jddHB"
        }
      ],
      "args": []
    },
    {
      "name": "finalize_expired_metadata",
      "discriminator": [
        104,
        59,
        135,
        247,
        40,
        42,
        160,
        217
      ],
      "accounts": [
        {
          "name": "governance",
          "writable": true
        },
        {
          "name": "metadata",
          "writable": true
        },
        {
          "name": "token_metadata_program",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        }
      ],
      "args": []
    },
    {
      "name": "initialize_governance",
      "discriminator": [
        171,
        87,
        101,
        237,
        27,
        107,
        201,
        57
      ],
      "accounts": [
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "config",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  99,
                  111,
                  110,
                  102,
                  105,
                  103
                ]
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                59,
                27,
                136,
                131,
                195,
                71,
                21,
                228,
                205,
                27,
                43,
                143,
                132,
                33,
                214,
                77,
                63,
                244,
                159,
                209,
                108,
                145,
                185,
                87,
                29,
                248,
                39,
                183,
                96,
                147,
                33,
                122
              ]
            }
          }
        },
        {
          "name": "authority",
          "signer": true
        },
        {
          "name": "mint"
        },
        {
          "name": "governance",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  103,
                  111,
                  118,
                  101,
                  114,
                  110,
                  97,
                  110,
                  99,
                  101
                ]
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ]
          }
        },
        {
          "name": "bonding_curve"
        },
        {
          "name": "metadata"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "params",
          "type": {
            "defined": {
              "name": "InitializeGovernanceParams"
            }
          }
        }
      ]
    },
    {
      "name": "settle_proposal",
      "discriminator": [
        118,
        224,
        98,
        222,
        158,
        20,
        205,
        190
      ],
      "accounts": [
        {
          "name": "governance",
          "writable": true
        },
        {
          "name": "proposal",
          "writable": true
        },
        {
          "name": "author_record",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  112,
                  114,
                  111,
                  112,
                  111,
                  115,
                  97,
                  108,
                  95,
                  97,
                  117,
                  116,
                  104,
                  111,
                  114
                ]
              },
              {
                "kind": "account",
                "path": "governance"
              },
              {
                "kind": "account",
                "path": "proposal.proposer",
                "account": "Proposal"
              },
              {
                "kind": "account",
                "path": "proposal.lane",
                "account": "Proposal"
              }
            ]
          }
        },
        {
          "name": "metadata",
          "writable": true
        },
        {
          "name": "token_metadata_program",
          "address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
        }
      ],
      "args": []
    },
    {
      "name": "withdraw_proposal_bond",
      "discriminator": [
        148,
        129,
        209,
        92,
        165,
        170,
        84,
        23
      ],
      "accounts": [
        {
          "name": "governance"
        },
        {
          "name": "proposal",
          "writable": true
        },
        {
          "name": "destination",
          "writable": true
        },
        {
          "name": "bond_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  98,
                  111,
                  110,
                  100,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        }
      ],
      "args": []
    },
    {
      "name": "withdraw_vote_tokens",
      "discriminator": [
        210,
        84,
        67,
        241,
        200,
        98,
        235,
        138
      ],
      "accounts": [
        {
          "name": "governance"
        },
        {
          "name": "proposal"
        },
        {
          "name": "vote_receipt",
          "writable": true
        },
        {
          "name": "destination",
          "writable": true
        },
        {
          "name": "vote_escrow",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  118,
                  111,
                  116,
                  101,
                  95,
                  101,
                  115,
                  99,
                  114,
                  111,
                  119
                ]
              },
              {
                "kind": "account",
                "path": "proposal"
              }
            ]
          }
        },
        {
          "name": "token_program",
          "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
        }
      ],
      "args": []
    }
  ],
  "accounts": [
    {
      "name": "Config",
      "discriminator": [
        155,
        12,
        170,
        224,
        30,
        250,
        204,
        130
      ]
    },
    {
      "name": "CreatorRevenueState",
      "discriminator": [
        14,
        136,
        90,
        233,
        137,
        210,
        163,
        86
      ]
    },
    {
      "name": "GovernanceState",
      "discriminator": [
        29,
        155,
        54,
        196,
        179,
        215,
        224,
        121
      ]
    },
    {
      "name": "Proposal",
      "discriminator": [
        26,
        94,
        189,
        187,
        116,
        136,
        53,
        33
      ]
    },
    {
      "name": "ProposalAuthorRecord",
      "discriminator": [
        226,
        136,
        160,
        4,
        170,
        238,
        152,
        24
      ]
    },
    {
      "name": "RevenueConfig",
      "discriminator": [
        7,
        27,
        216,
        11,
        136,
        50,
        125,
        57
      ]
    },
    {
      "name": "VoteReceipt",
      "discriminator": [
        104,
        20,
        204,
        252,
        45,
        84,
        37,
        195
      ]
    }
  ],
  "events": [
    {
      "name": "CreatorRevenueProposalExecutedEvent",
      "discriminator": [
        115,
        33,
        195,
        116,
        172,
        84,
        81,
        230
      ]
    },
    {
      "name": "GovernanceInitializedEvent",
      "discriminator": [
        186,
        160,
        168,
        0,
        190,
        13,
        83,
        221
      ]
    },
    {
      "name": "MetadataFinalizedEvent",
      "discriminator": [
        62,
        189,
        105,
        81,
        43,
        109,
        20,
        185
      ]
    },
    {
      "name": "ProposalBondWithdrawnEvent",
      "discriminator": [
        196,
        179,
        15,
        26,
        194,
        85,
        166,
        12
      ]
    },
    {
      "name": "ProposalCreatedEvent",
      "discriminator": [
        154,
        240,
        33,
        66,
        194,
        233,
        203,
        209
      ]
    },
    {
      "name": "ProposalSettledEvent",
      "discriminator": [
        158,
        128,
        164,
        25,
        184,
        172,
        172,
        108
      ]
    },
    {
      "name": "VoteCancelledEvent",
      "discriminator": [
        34,
        53,
        188,
        21,
        76,
        117,
        224,
        59
      ]
    },
    {
      "name": "VoteCastEvent",
      "discriminator": [
        241,
        151,
        159,
        134,
        250,
        234,
        71,
        234
      ]
    },
    {
      "name": "VoteTokensWithdrawnEvent",
      "discriminator": [
        206,
        52,
        139,
        40,
        250,
        11,
        61,
        225
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "Unauthorized",
      "msg": "Unauthorized"
    },
    {
      "code": 6001,
      "name": "InvalidMetadata",
      "msg": "Invalid metadata account"
    },
    {
      "code": 6002,
      "name": "InvalidMetadataAuthority",
      "msg": "Invalid metadata update authority"
    },
    {
      "code": 6003,
      "name": "MetadataNotMutable",
      "msg": "Metadata must be mutable"
    },
    {
      "code": 6004,
      "name": "InvalidBondingCurve",
      "msg": "Invalid bonding curve account"
    },
    {
      "code": 6005,
      "name": "InvalidMint",
      "msg": "Invalid mint"
    },
    {
      "code": 6006,
      "name": "InvalidGovernanceParams",
      "msg": "Invalid governance parameters"
    },
    {
      "code": 6007,
      "name": "InvalidProposal",
      "msg": "Invalid proposal account"
    },
    {
      "code": 6008,
      "name": "GovernanceFinalized",
      "msg": "Governance is finalized"
    },
    {
      "code": 6009,
      "name": "MutabilityExpired",
      "msg": "Mutability window expired"
    },
    {
      "code": 6010,
      "name": "VotingDurationExceedsWindow",
      "msg": "Voting duration exceeds mutability window"
    },
    {
      "code": 6011,
      "name": "ActiveProposalExists",
      "msg": "Active proposal already exists for proposer"
    },
    {
      "code": 6012,
      "name": "NameTooLong",
      "msg": "Name exceeds max length"
    },
    {
      "code": 6013,
      "name": "SymbolTooLong",
      "msg": "Symbol exceeds max length"
    },
    {
      "code": 6014,
      "name": "UriTooLong",
      "msg": "URI exceeds max length"
    },
    {
      "code": 6015,
      "name": "InvalidProposalAction",
      "msg": "Invalid proposal action"
    },
    {
      "code": 6016,
      "name": "MutabilityAlreadyExtended",
      "msg": "Mutability has already been extended"
    },
    {
      "code": 6017,
      "name": "StaleContentRevision",
      "msg": "Stale content revision"
    },
    {
      "code": 6018,
      "name": "ContentFieldLocked",
      "msg": "Content field is locked"
    },
    {
      "code": 6019,
      "name": "InvalidAdditionalSeconds",
      "msg": "Invalid additional mutability seconds"
    },
    {
      "code": 6020,
      "name": "MutabilityExtensionExceedsCap",
      "msg": "Mutability extension exceeds cap"
    },
    {
      "code": 6021,
      "name": "InvalidTokenAccount",
      "msg": "Invalid token account"
    },
    {
      "code": 6022,
      "name": "InvalidVoteAmount",
      "msg": "Invalid vote amount"
    },
    {
      "code": 6023,
      "name": "MathOverflow",
      "msg": "Math overflow"
    },
    {
      "code": 6024,
      "name": "ProposalClosed",
      "msg": "Proposal is closed"
    },
    {
      "code": 6025,
      "name": "ProposalStillOpen",
      "msg": "Proposal is not closed"
    },
    {
      "code": 6026,
      "name": "MetadataStillMutable",
      "msg": "Metadata is still mutable"
    },
    {
      "code": 6027,
      "name": "ProposalAlreadySettled",
      "msg": "Proposal already settled"
    },
    {
      "code": 6028,
      "name": "AlreadyVoted",
      "msg": "Already voted"
    },
    {
      "code": 6029,
      "name": "VoteNotActive",
      "msg": "Vote receipt is not active"
    },
    {
      "code": 6030,
      "name": "VoteAlreadyWithdrawn",
      "msg": "Vote receipt already withdrawn"
    },
    {
      "code": 6031,
      "name": "ProposalNotSettled",
      "msg": "Proposal is not settled"
    },
    {
      "code": 6032,
      "name": "InvalidVoteReceipt",
      "msg": "Invalid vote receipt"
    },
    {
      "code": 6033,
      "name": "ProposalBondAlreadyWithdrawn",
      "msg": "Proposal bond already withdrawn"
    },
    {
      "code": 6034,
      "name": "NoProposalBond",
      "msg": "No proposal bond"
    },
    {
      "code": 6035,
      "name": "InvalidVoteDuration",
      "msg": "Invalid vote duration"
    },
    {
      "code": 6036,
      "name": "InvalidCreatorRevenueRecipient",
      "msg": "Invalid creator revenue recipient"
    },
    {
      "code": 6037,
      "name": "CreatorRevenueStatementUriRequired",
      "msg": "Creator revenue proposer rationale URI is required"
    },
    {
      "code": 6038,
      "name": "CreatorRevenueStatementUriTooLong",
      "msg": "Creator revenue proposer rationale URI exceeds max length"
    },
    {
      "code": 6039,
      "name": "InvalidCreatorRevenueStatementUri",
      "msg": "Creator revenue proposer rationale URI must be canonical ipfs://<CIDv0-or-lowercase-CIDv1>"
    },
    {
      "code": 6040,
      "name": "InvalidCreatorRevenueProposal",
      "msg": "Proposal is not a passed creator revenue proposal"
    },
    {
      "code": 6041,
      "name": "ProposalAlreadyExecuted",
      "msg": "Proposal has already been executed"
    }
  ],
  "types": [
    {
      "name": "CastVoteParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "side",
            "type": {
              "defined": {
                "name": "VoteSide"
              }
            }
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "Config",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "admin",
            "type": "pubkey"
          },
          {
            "name": "authority",
            "type": "pubkey"
          },
          {
            "name": "fee_addresses",
            "type": {
              "array": [
                "pubkey",
                5
              ]
            }
          },
          {
            "name": "protocol_fee_bps",
            "type": "u16"
          },
          {
            "name": "creator_fee_bps",
            "type": "u16"
          },
          {
            "name": "migration_fee_lamports",
            "type": "u64"
          },
          {
            "name": "initial_virtual_sol_usd_micros",
            "type": "u64"
          },
          {
            "name": "initial_virtual_tokens",
            "type": "u64"
          },
          {
            "name": "token_total_supply",
            "type": "u64"
          },
          {
            "name": "curve_tokens_for_sale",
            "type": "u64"
          },
          {
            "name": "migration_target_usd_micros",
            "type": "u64"
          },
          {
            "name": "max_oracle_age_seconds",
            "type": "u32"
          },
          {
            "name": "max_oracle_conf_bps",
            "type": "u16"
          },
          {
            "name": "min_launch_sol_usd_price_micros",
            "type": "u64"
          },
          {
            "name": "max_launch_sol_usd_price_micros",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "CreateProposalParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "action",
            "type": {
              "defined": {
                "name": "ProposalAction"
              }
            }
          },
          {
            "name": "vote_duration_seconds",
            "type": "i64"
          },
          {
            "name": "statement_uri",
            "docs": [
              "Required only for creator-recipient proposals."
            ],
            "type": {
              "option": "string"
            }
          }
        ]
      }
    },
    {
      "name": "CreatorRevenueProposalExecutedEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "new_recipient",
            "type": "pubkey"
          },
          {
            "name": "expected_recipient_revision",
            "type": "u64"
          },
          {
            "name": "executed_at",
            "type": "i64"
          }
        ]
      }
    },
    {
      "name": "CreatorRevenueState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "migration_state",
            "type": "pubkey"
          },
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "governance_program",
            "type": "pubkey"
          },
          {
            "name": "revenue_authority",
            "type": "pubkey"
          },
          {
            "name": "creator_recipient",
            "type": "pubkey"
          },
          {
            "name": "recipient_revision",
            "type": "u64"
          },
          {
            "name": "settlement_sequence",
            "type": "u64"
          },
          {
            "name": "accounting_cutoff_slot",
            "type": "u64"
          },
          {
            "name": "cumulative_tier_0_gross_wsol",
            "type": "u64"
          },
          {
            "name": "cumulative_tier_1_gross_wsol",
            "type": "u64"
          },
          {
            "name": "cumulative_tier_2_gross_wsol",
            "type": "u64"
          },
          {
            "name": "cumulative_tier_3_gross_wsol",
            "type": "u64"
          },
          {
            "name": "lifetime_collected_wsol",
            "type": "u64"
          },
          {
            "name": "lifetime_creator_allocated_wsol",
            "type": "u64"
          },
          {
            "name": "lifetime_protocol_allocated_wsol",
            "type": "u64"
          },
          {
            "name": "lifetime_creator_paid_wsol",
            "type": "u64"
          },
          {
            "name": "lifetime_protocol_paid_wsol",
            "type": "u64"
          },
          {
            "name": "policy_version",
            "type": "u16"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "GovernanceInitializedEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "metadata",
            "type": "pubkey"
          },
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "authority",
            "type": "pubkey"
          },
          {
            "name": "total_supply",
            "type": "u64"
          },
          {
            "name": "created_at",
            "type": "i64"
          },
          {
            "name": "mutable_until",
            "type": "i64"
          },
          {
            "name": "min_voter_count",
            "type": "u32"
          },
          {
            "name": "min_lock_amount",
            "type": "u64"
          },
          {
            "name": "min_participating_supply_bps",
            "type": "u16"
          },
          {
            "name": "approval_bps",
            "type": "u16"
          },
          {
            "name": "proposal_bond_bps",
            "type": "u16"
          },
          {
            "name": "content_revision",
            "type": "u64"
          },
          {
            "name": "name_locked",
            "type": "bool"
          },
          {
            "name": "symbol_locked",
            "type": "bool"
          },
          {
            "name": "image_locked",
            "type": "bool"
          },
          {
            "name": "description_locked",
            "type": "bool"
          },
          {
            "name": "website_locked",
            "type": "bool"
          },
          {
            "name": "twitter_locked",
            "type": "bool"
          },
          {
            "name": "telegram_locked",
            "type": "bool"
          },
          {
            "name": "mutability_extended",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "GovernanceState",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "metadata",
            "type": "pubkey"
          },
          {
            "name": "creator",
            "type": "pubkey"
          },
          {
            "name": "created_at",
            "type": "i64"
          },
          {
            "name": "mutable_until",
            "type": "i64"
          },
          {
            "name": "finalized",
            "type": "bool"
          },
          {
            "name": "content_revision",
            "type": "u64"
          },
          {
            "name": "name_locked",
            "type": "bool"
          },
          {
            "name": "symbol_locked",
            "type": "bool"
          },
          {
            "name": "image_locked",
            "type": "bool"
          },
          {
            "name": "description_locked",
            "type": "bool"
          },
          {
            "name": "website_locked",
            "type": "bool"
          },
          {
            "name": "twitter_locked",
            "type": "bool"
          },
          {
            "name": "telegram_locked",
            "type": "bool"
          },
          {
            "name": "mutability_extended",
            "type": "bool"
          },
          {
            "name": "total_supply",
            "type": "u64"
          },
          {
            "name": "min_voter_count",
            "type": "u32"
          },
          {
            "name": "min_lock_amount",
            "type": "u64"
          },
          {
            "name": "min_participating_supply_bps",
            "type": "u16"
          },
          {
            "name": "approval_bps",
            "type": "u16"
          },
          {
            "name": "proposal_bond_bps",
            "type": "u16"
          },
          {
            "name": "proposal_count",
            "type": "u64"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "InitializeGovernanceParams",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "mutable_window_seconds",
            "type": "i64"
          },
          {
            "name": "min_voter_count",
            "type": "u32"
          },
          {
            "name": "min_lock_amount",
            "type": "u64"
          },
          {
            "name": "min_participating_supply_bps",
            "type": "u16"
          },
          {
            "name": "approval_bps",
            "type": "u16"
          },
          {
            "name": "proposal_bond_bps",
            "type": "u16"
          }
        ]
      }
    },
    {
      "name": "MetadataFinalizedEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "mint",
            "type": "pubkey"
          },
          {
            "name": "metadata",
            "type": "pubkey"
          },
          {
            "name": "finalized_at",
            "type": "i64"
          },
          {
            "name": "mutable_until",
            "type": "i64"
          }
        ]
      }
    },
    {
      "name": "Proposal",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposer",
            "type": "pubkey"
          },
          {
            "name": "index",
            "type": "u64"
          },
          {
            "name": "lane",
            "type": {
              "defined": {
                "name": "ProposalLane"
              }
            }
          },
          {
            "name": "base_content_revision",
            "type": "u64"
          },
          {
            "name": "action",
            "type": {
              "defined": {
                "name": "ProposalAction"
              }
            }
          },
          {
            "name": "created_at",
            "type": "i64"
          },
          {
            "name": "voting_ends_at",
            "type": "i64"
          },
          {
            "name": "yes_votes",
            "type": "u64"
          },
          {
            "name": "no_votes",
            "type": "u64"
          },
          {
            "name": "participating_supply",
            "type": "u64"
          },
          {
            "name": "participating_voters",
            "type": "u32"
          },
          {
            "name": "proposal_bond_amount",
            "type": "u64"
          },
          {
            "name": "proposal_bond_source",
            "type": "pubkey"
          },
          {
            "name": "proposal_bond_withdrawn",
            "type": "bool"
          },
          {
            "name": "executed",
            "type": "bool"
          },
          {
            "name": "settled",
            "type": "bool"
          },
          {
            "name": "outcome",
            "type": {
              "defined": {
                "name": "ProposalOutcome"
              }
            }
          },
          {
            "name": "bump",
            "type": "u8"
          },
          {
            "name": "vote_escrow_bump",
            "type": "u8"
          },
          {
            "name": "bond_escrow_bump",
            "type": "u8"
          },
          {
            "name": "statement_uri",
            "type": {
              "option": "string"
            }
          }
        ]
      }
    },
    {
      "name": "ProposalAction",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "UpdateContent",
            "fields": [
              {
                "name": "base_content_revision",
                "type": "u64"
              },
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "symbol",
                "type": "string"
              },
              {
                "name": "uri",
                "type": "string"
              },
              {
                "name": "changed_name",
                "type": "bool"
              },
              {
                "name": "changed_symbol",
                "type": "bool"
              },
              {
                "name": "changed_image",
                "type": "bool"
              },
              {
                "name": "changed_description",
                "type": "bool"
              },
              {
                "name": "changed_website",
                "type": "bool"
              },
              {
                "name": "changed_twitter",
                "type": "bool"
              },
              {
                "name": "changed_telegram",
                "type": "bool"
              }
            ]
          },
          {
            "name": "ExtendMutability",
            "fields": [
              {
                "name": "additional_seconds",
                "type": "i64"
              }
            ]
          },
          {
            "name": "FinalizeMetadata"
          },
          {
            "name": "SetCreatorRevenueRecipient",
            "fields": [
              {
                "name": "new_recipient",
                "type": "pubkey"
              },
              {
                "name": "expected_recipient_revision",
                "type": "u64"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "ProposalAuthorRecord",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposer",
            "type": "pubkey"
          },
          {
            "name": "lane",
            "type": {
              "defined": {
                "name": "ProposalLane"
              }
            }
          },
          {
            "name": "active_proposal",
            "type": "pubkey"
          },
          {
            "name": "active_base_content_revision",
            "type": "u64"
          },
          {
            "name": "active",
            "type": "bool"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "ProposalBondWithdrawnEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "proposer",
            "type": "pubkey"
          },
          {
            "name": "destination",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "ProposalCreatedEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "proposer",
            "type": "pubkey"
          },
          {
            "name": "proposal_index",
            "type": "u64"
          },
          {
            "name": "action",
            "type": {
              "defined": {
                "name": "ProposalAction"
              }
            }
          },
          {
            "name": "base_content_revision",
            "type": "u64"
          },
          {
            "name": "created_at",
            "type": "i64"
          },
          {
            "name": "voting_ends_at",
            "type": "i64"
          },
          {
            "name": "proposal_bond_amount",
            "type": "u64"
          },
          {
            "name": "statement_uri",
            "type": {
              "option": "string"
            }
          }
        ]
      }
    },
    {
      "name": "ProposalLane",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Content"
          },
          {
            "name": "ExtendMutability"
          },
          {
            "name": "CreatorRevenue"
          }
        ]
      }
    },
    {
      "name": "ProposalOutcome",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Pending"
          },
          {
            "name": "Failed"
          },
          {
            "name": "Passed"
          },
          {
            "name": "Expired"
          },
          {
            "name": "Superseded"
          }
        ]
      }
    },
    {
      "name": "ProposalSettledEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "proposer",
            "type": "pubkey"
          },
          {
            "name": "proposal_index",
            "type": "u64"
          },
          {
            "name": "action",
            "type": {
              "defined": {
                "name": "ProposalAction"
              }
            }
          },
          {
            "name": "outcome",
            "type": {
              "defined": {
                "name": "ProposalOutcome"
              }
            }
          },
          {
            "name": "executed",
            "type": "bool"
          },
          {
            "name": "yes_votes",
            "type": "u64"
          },
          {
            "name": "no_votes",
            "type": "u64"
          },
          {
            "name": "participating_supply",
            "type": "u64"
          },
          {
            "name": "participating_voters",
            "type": "u32"
          },
          {
            "name": "mutable_until",
            "type": "i64"
          },
          {
            "name": "finalized",
            "type": "bool"
          },
          {
            "name": "content_revision",
            "type": "u64"
          },
          {
            "name": "name_locked",
            "type": "bool"
          },
          {
            "name": "symbol_locked",
            "type": "bool"
          },
          {
            "name": "image_locked",
            "type": "bool"
          },
          {
            "name": "description_locked",
            "type": "bool"
          },
          {
            "name": "website_locked",
            "type": "bool"
          },
          {
            "name": "twitter_locked",
            "type": "bool"
          },
          {
            "name": "telegram_locked",
            "type": "bool"
          },
          {
            "name": "mutability_extended",
            "type": "bool"
          }
        ]
      }
    },
    {
      "name": "RevenueConfig",
      "docs": [
        "Its existence activates revenue; there is no administrator pause flag."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "accounting_authority",
            "type": "pubkey"
          },
          {
            "name": "protocol_recipient",
            "type": "pubkey"
          },
          {
            "name": "governance_program",
            "type": "pubkey"
          },
          {
            "name": "policy_version",
            "type": "u16"
          }
        ]
      }
    },
    {
      "name": "VoteCancelledEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "voter",
            "type": "pubkey"
          },
          {
            "name": "side",
            "type": {
              "defined": {
                "name": "VoteSide"
              }
            }
          },
          {
            "name": "amount",
            "type": "u64"
          },
          {
            "name": "yes_votes",
            "type": "u64"
          },
          {
            "name": "no_votes",
            "type": "u64"
          },
          {
            "name": "participating_supply",
            "type": "u64"
          },
          {
            "name": "participating_voters",
            "type": "u32"
          }
        ]
      }
    },
    {
      "name": "VoteCastEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "voter",
            "type": "pubkey"
          },
          {
            "name": "side",
            "type": {
              "defined": {
                "name": "VoteSide"
              }
            }
          },
          {
            "name": "amount",
            "type": "u64"
          },
          {
            "name": "counted_as_voter",
            "type": "bool"
          },
          {
            "name": "yes_votes",
            "type": "u64"
          },
          {
            "name": "no_votes",
            "type": "u64"
          },
          {
            "name": "participating_supply",
            "type": "u64"
          },
          {
            "name": "participating_voters",
            "type": "u32"
          }
        ]
      }
    },
    {
      "name": "VoteReceipt",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "voter",
            "type": "pubkey"
          },
          {
            "name": "source_token_account",
            "type": "pubkey"
          },
          {
            "name": "side",
            "type": {
              "defined": {
                "name": "VoteSide"
              }
            }
          },
          {
            "name": "amount_locked",
            "type": "u64"
          },
          {
            "name": "counted_as_voter",
            "type": "bool"
          },
          {
            "name": "active",
            "type": "bool"
          },
          {
            "name": "withdrawn",
            "type": "bool"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "VoteSide",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Yes"
          },
          {
            "name": "No"
          }
        ]
      }
    },
    {
      "name": "VoteTokensWithdrawnEvent",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "governance",
            "type": "pubkey"
          },
          {
            "name": "proposal",
            "type": "pubkey"
          },
          {
            "name": "voter",
            "type": "pubkey"
          },
          {
            "name": "destination",
            "type": "pubkey"
          },
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    }
  ]
}