UNPKG

@debridge-finance/solana-contracts-client

Version:
1,915 lines 79.5 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDL = void 0;
exports.IDL = {
    accounts: [
        { discriminator: [231, 232, 31, 98, 110, 3, 23, 59], name: "bridge" },
        { discriminator: [78, 9, 196, 7, 155, 35, 80, 0], name: "sendBridgeMap" },
        { discriminator: [37, 184, 34, 110, 54, 84, 57, 85], name: "bridgeFeeInfo" },
        { discriminator: [175, 59, 40, 127, 55, 33, 200, 203], name: "chainSupportInfo" },
        { discriminator: [65, 172, 32, 7, 173, 203, 143, 107], name: "discountInfo" },
        { discriminator: [133, 13, 86, 200, 36, 211, 122, 34], name: "confirmationStorage" },
        { discriminator: [216, 146, 107, 94, 104, 75, 182, 177], name: "state" },
        { discriminator: [50, 100, 171, 148, 59, 135, 90, 40], name: "tokenMetadataMaster" },
    ],
    address: "DeSetTwWhjZq6Pz9Kfdo1KoS5NqtsM6G8ERbX4SSCSft",
    constants: [],
    errors: [
        { code: 6000, name: "StatePaused" },
        { code: 6001, name: "StateNotPaused" },
        { code: 16000, msg: "Authority Action Only", name: "AuthorityAccessError" },
        { code: 16001, msg: "Oracle not found in State", name: "OracleNotFound" },
        { code: 16002, msg: "Wrong Signature", name: "WrongSignature" },
        { code: 16003, msg: "No signature from Required oracle", name: "RequiredSignatureNeeded" },
        { code: 16004, msg: "Not correct signatures", name: "SignaturesVerificationError" },
        { code: 16005, msg: "Not enough signatures", name: "NotEnoughSignatures" },
        { code: 16006, msg: "Max oracle count", name: "MaxOracleCount" },
        { code: 16007, msg: "Oracle duplication", name: "OracleDuplication" },
        { code: 16008, msg: "Bridge already initialized", name: "BridgeAlreadyInitialized" },
        { code: 16009, msg: "Bridge already working", name: "BridgeAlreadyWorking" },
        { code: 16010, msg: "Bridge already paused", name: "BridgeAlreadyPaused" },
        { code: 16011, msg: "Bridge not initialized", name: "BridgeNotInitialized" },
        { code: 16012, msg: "Your deploy info not correct for solana bridge", name: "WrongDeployInfo" },
        { code: 16013, msg: "Error while serialization data", name: "SerializeError" },
        { code: 16014, msg: "Couldn't create chain support pubkey for the bridge", name: "BadChainSupportedKey" },
        { code: 16015, name: "ChainNotSupported" },
        { code: 16016, msg: "Can't get nonce from provided account", name: "BadNonce" },
        { code: 16017, msg: "Asset fee doesn't support for this chain", name: "AssetFeeNotSupport" },
        {
            code: 16018,
            msg: "The number of excess confirmations checks is less than the number of minimum confirmations checks",
            name: "ExcessConfirmationError",
        },
        { code: 16019, msg: "Wrong parameter for `State`", name: "InvalidParameter" },
        { code: 16020, msg: "Min confirmation count not correct", name: "InvalidMinConfirmationCount" },
        { code: 19107, name: "InvalidExcessConfirmationTimer" },
        { code: 16021, msg: "Wrong token mint", name: "InvalidTokenMint" },
        { code: 16022, msg: "WrongInstructionSysvarAccount", name: "WrongInstructionSysvarAccount" },
        { code: 16023, msg: "InvalidVerificationSignatureKey,", name: "InvalidVerificationSignatureKey" },
        { code: 16024, msg: "No confirmation verification instruction,", name: "NoConfirmationInstruction" },
        { code: 16025, msg: "CreateTokenProgramError,", name: "CreateTokenProgramError" },
        { code: 16026, msg: "FailedToLoadSignatureVerificationInstruction,", name: "FailedToLoadSignatureVerificationInstruction" },
        { code: 16027, msg: "SignatureVerificationInstructionWrongProgramId,", name: "SignatureVerificationInstructionWrongProgramId" },
        {
            code: 16028,
            msg: "Mathematical error while calculate depth for check signature instruction",
            name: "MathErrorWhileCalculateDepth",
        },
        { code: 16029, msg: "Mathematical error while calculate rent for signature storage", name: "MathErrorWhileCalculateRent" },
        { code: 16030, msg: "Your staking wallet account not correct", name: "WrongStakingWalletAccount" },
        {
            code: 16031,
            msg: "Only 👤 Protocol Authority can close the signature store if it is not used",
            name: "UnauthorizedAttemptToCloseConfirmationStore",
        },
        { code: 16032, msg: "Not enough amount at bridge", name: "NotEnoughAmount" },
        { code: 16033, msg: "Can't find confirmation storage", name: "NoConfirmationStorage" },
        { code: 16034, msg: "Protocol Authority mustn't set for another role", name: "NotProtocolAuthority" },
        { code: 16035, msg: "Provided discount info account with wrong key", name: "WrongDiscountInfo" },
        { code: 16036, msg: "Threshold confirmation count not correct", name: "ThresholdConfirmationError" },
        { code: 16037, msg: "Wrong index in signature context", name: "WrongSignatureIndexes" },
        { code: 16038, msg: "Invalid bridge map key", name: "InvalidBridgeMapKey" },
        { code: 16039, msg: "Invalid accounts length", name: "InvalidAccountsLength" },
    ],
    events: [
        { discriminator: [221, 78, 32, 86, 187, 209, 93, 104], name: "Log" },
        { discriminator: [87, 122, 98, 236, 219, 55, 5, 98], name: "StateInitialized" },
        { discriminator: [187, 220, 147, 37, 52, 210, 78, 173], name: "StateUpdated" },
        { discriminator: [48, 0, 207, 33, 20, 56, 215, 219], name: "OracleAdded" },
        { discriminator: [62, 112, 125, 81, 128, 93, 194, 96], name: "OracleRemoved" },
        { discriminator: [172, 109, 193, 144, 247, 37, 78, 199], name: "MintBridgeCreated" },
        { discriminator: [139, 128, 10, 191, 176, 231, 126, 155], name: "SendBridgeTokenMeta" },
        { discriminator: [36, 200, 156, 34, 139, 247, 252, 22], name: "SendBridgeCreated" },
        { discriminator: [162, 218, 203, 108, 61, 144, 156, 161], name: "BridgeMaxAmountSetted" },
        { discriminator: [34, 45, 5, 197, 61, 248, 25, 244], name: "BridgeMinReservedBpsSetted" },
        { discriminator: [162, 108, 171, 114, 215, 138, 10, 2], name: "BridgeWorkToggled" },
        { discriminator: [13, 180, 210, 213, 108, 248, 30, 165], name: "BridgeFeeInfoInitialized" },
        { discriminator: [113, 75, 198, 74, 239, 176, 94, 128], name: "OracleSignatureVerified" },
        { discriminator: [74, 178, 71, 162, 171, 9, 83, 151], name: "DiscountInitialized" },
        { discriminator: [133, 223, 157, 87, 141, 240, 234, 93], name: "SupportChainInfoUpdated" },
        { discriminator: [244, 172, 234, 78, 24, 151, 70, 93], name: "FreezeAuthorityResetBatched" },
        { discriminator: [49, 63, 73, 105, 129, 190, 40, 119], name: "AccountThawed" },
    ],
    instructions: [
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["👤 Protocol Authority"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["👤 Stop Tap"], name: "stopTap", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: [
                        "Beneficiary of the commission in the system",
                        "Implied that this will be an account belonging to another program (FeeProxy),",
                        "which will be responsible for the distribution of commissions",
                    ],
                    name: "feeBeneficiary",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["Need settings program signature to initialize state"],
                    name: "settingsProgram",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: ["👤 User: Fund account for state initializing"],
                    name: "payer",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: true,
                },
            ],
            args: [
                { name: "confirmationThreshold", type: "u32" },
                { name: "excessConfirmations", type: "u32" },
                { name: "minConfirmations", type: "u32" },
            ],
            discriminator: [190, 171, 224, 219, 217, 72, 199, 176],
            name: "initializeState",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [
                { name: "oracle", type: { array: ["u8", 20] } },
                { name: "isRequired", type: "bool" },
            ],
            discriminator: [185, 165, 165, 167, 208, 207, 55, 35],
            name: "addOracle",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [
                { name: "removingOracle", type: { array: ["u8", 20] } },
                { name: "isRequired", type: "bool" },
            ],
            discriminator: [60, 93, 51, 197, 182, 42, 170, 26],
            name: "removeOracle",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [{ name: "minConfirmation", type: "u32" }],
            discriminator: [234, 40, 155, 164, 26, 16, 159, 57],
            name: "updateMinConfirmationCount",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [{ name: "newExcessConfirmationTimeslotSeconds", type: "u64" }],
            discriminator: [57, 135, 211, 44, 73, 238, 31, 243],
            name: "updateExcessConfirmationTimeslot",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [{ name: "excessConfirmations", type: "u32" }],
            discriminator: [17, 78, 190, 21, 131, 224, 5, 157],
            name: "updateExcessConfirmationCount",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [{ name: "confirmationThreshold", type: "u32" }],
            discriminator: [129, 119, 56, 111, 54, 255, 41, 17],
            name: "updateConfirmationThreshold",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [
                { name: "globalFixedFee", type: "u64" },
                { name: "globalTransferFeeBps", type: "u64" },
            ],
            discriminator: [117, 201, 15, 1, 18, 130, 233, 37],
            name: "updateGlobalFee",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: ["👤 Stop Tap"], name: "stopTap", optional: false, relations: [], signer: true, writable: false },
            ],
            args: [],
            discriminator: [44, 86, 151, 21, 158, 185, 8, 36],
            name: "pauseState",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [133, 243, 138, 167, 154, 215, 251, 167],
            name: "unpauseState",
        },
        {
            accounts: [
                {
                    accounts: [
                        {
                            docs: ["State account with service information", "There is a single state account for the entire program"],
                            name: "state",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["Authority of protocol"],
                            name: "protocolAuthority",
                            optional: false,
                            relations: [],
                            signer: true,
                            writable: false,
                        },
                    ],
                    name: "updateState",
                },
                {
                    docs: ["New value of some account stored in state"],
                    name: "account",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [131, 144, 216, 34, 104, 160, 232, 156],
            name: "updateStopTap",
        },
        {
            accounts: [
                {
                    accounts: [
                        {
                            docs: ["State account with service information", "There is a single state account for the entire program"],
                            name: "state",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["Authority of protocol"],
                            name: "protocolAuthority",
                            optional: false,
                            relations: [],
                            signer: true,
                            writable: false,
                        },
                    ],
                    name: "updateState",
                },
                {
                    docs: ["New value of some account stored in state"],
                    name: "account",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [89, 215, 141, 246, 160, 27, 37, 230],
            name: "updateFeeBeneficiary",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: ["New authority of protocol"],
                    name: "newProtocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [207, 19, 17, 100, 133, 169, 89, 253],
            name: "updateProtocolAuthority",
        },
        {
            accounts: [
                {
                    docs: [
                        "State account with service information",
                        "There is a single state account for the entire program",
                        "",
                        "We use it here for filter oracle keys from instructions",
                    ],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: [
                        "Temporary storage for signatures",
                        "Stores signatures for one day. Access is obtained by a signed message bytes",
                        "[`ConfirmationStorage`] inside account data",
                    ],
                    name: "confirmationStorage",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: [
                        "Instructions system variable account",
                        "",
                        "Stores previous instructions within a transaction",
                        "We use to check the signatures",
                    ],
                    name: "instructions",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["👤 User", "Signer if [`Self::confirmation_storage] not exists"],
                    name: "payer",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [{ name: "msg", type: "bytes" }],
            discriminator: [61, 250, 206, 218, 40, 82, 231, 217],
            name: "storeConfirmations",
        },
        {
            accounts: [
                {
                    docs: [
                        "State account with service information",
                        "There is a single state account for the entire program",
                        "",
                        "We use it here for filter oracle keys from instructions",
                    ],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: [
                        "Temporary storage for signatures",
                        "Stores signatures for one day. Access is obtained by a signed message bytes",
                        "[`ConfirmationStorage`] inside account data",
                    ],
                    name: "confirmationStorage",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "confirmationStorageCreator", optional: false, relations: [], signer: false, writable: true },
                {
                    docs: ["An account proving that the transfer was mad and with information", "about `original_claimer` account"],
                    name: "submission",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["Transaction payer."], name: "payer", optional: false, relations: [], signer: true, writable: false },
            ],
            args: [{ name: "msg", type: { array: ["u8", 32] } }],
            discriminator: [242, 126, 158, 199, 106, 184, 106, 122],
            name: "closeConfirmationStorageForSubmission",
        },
        {
            accounts: [
                {
                    docs: ["The account that we initialize to store data about the [`bridge::BridgeVariant::Mint`]"],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: [
                        "Beneficiary of the commission in the system",
                        "Implied that this will be an account belonging to another program (FeeProxy),",
                        "which will be responsible for the distribution of commissions",
                    ],
                    name: "feeBeneficiary",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["👤 User"], name: "payer", optional: false, relations: [], signer: true, writable: true },
                {
                    docs: [
                        "This is our wrapped token [`token::Mint`] that we will be using",
                        "to represent tokens from [`deploy_info::DeployInfo::chain_id`] chain",
                        "",
                        "Initialization will take place inside [`Self::init_token_mint`]",
                    ],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: [
                        "A non-existent account belonging to our `debridge_program` to authorize program actions",
                        "with `staking_wallet` and mint new wrapping tokens",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Confirmation storage"],
                    name: "confirmationStorage",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["Confirmation storage creator. Need for `confirmation_storage` creation fund returning"],
                    name: "confirmationStorageCreator",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Sysvar rent for init mint inside"],
                    name: "rent",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Account with URI mask for mint bridge token logo"],
                    name: "tokenMetadataMaster",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Metaplex metadata program"],
                    name: "tokenMetadataProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Account with mint bridge token metadata"],
                    name: "tokenMetadata",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
            ],
            args: [{ name: "deployInfo", type: { defined: { generics: [], name: "DeployInfo" } } }],
            discriminator: [160, 38, 116, 14, 78, 139, 206, 44],
            name: "initializeMintBridge",
        },
        {
            accounts: [
                {
                    docs: ["The account that we initialize to store data about the [`bridge::BridgeVariant::Send`]"],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "bridgeIdMap", optional: false, relations: [], signer: false, writable: true },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: [
                        "Account for initialization that will store the token fee and staking native Solana tokens",
                        "It is owned by [`Self::mint_authority`]",
                    ],
                    name: "stakingWallet",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["This is native SPL Solana token for send it by new bridge"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: [
                        "A non-existent account belonging to our `debridge_program` to authorize program actions",
                        "with `staking_wallet`",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["👤 User"], name: "payer", optional: false, relations: [], signer: true, writable: true },
                { docs: [], name: "tokenMetadata", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [],
            discriminator: [185, 145, 74, 79, 45, 146, 231, 31],
            name: "initializeSendBridge",
        },
        {
            accounts: [
                {
                    docs: ["This is the bridge for which we add additional information with a commission"],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Bridge mint token, for additional validation that the bridge correct"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["New account for storing commission information between Bridge -> Chain"],
                    name: "bridgeFee",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: ["👤 User or 👤 Protocol Authority"], name: "payer", optional: false, relations: [], signer: true, writable: true },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [
                { name: "targetChainId", type: { array: ["u8", 32] } },
                { name: "chainFee", type: "u64" },
            ],
            discriminator: [101, 10, 234, 221, 93, 61, 148, 34],
            name: "updateFeeBridgeInfo",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "Use here for check [`Self::protocol_authority`]"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Program account with information about user discount"],
                    name: "discountInfo",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The user for whom we are creating a discount"],
                    name: "user",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: true,
                },
            ],
            args: [
                { name: "fixBps", type: "u16" },
                { name: "transferBps", type: "u16" },
            ],
            discriminator: [133, 68, 55, 173, 101, 223, 74, 14],
            name: "initializeDiscountInfo",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "Use here for check [`Self::protocol_authority`]"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Program account with information about user discount"],
                    name: "discountInfo",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The user for whom the discount is being created"],
                    name: "user",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [
                { name: "isActive", type: "bool" },
                { name: "fixBps", type: "u16" },
                { name: "transferBps", type: "u16" },
            ],
            discriminator: [217, 116, 135, 235, 255, 4, 8, 189],
            name: "updateDiscountInfo",
        },
        {
            accounts: [
                {
                    docs: ["State account with service information", "Use here for check [`Self::protocol_authority`]"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                { docs: [], name: "payer", optional: false, relations: [], signer: true, writable: true },
                {
                    docs: ["An account that stores support and commission information for a specific chain"],
                    name: "chainSupportInfo",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [
                { name: "targetChainId", type: { array: ["u8", 32] } },
                { name: "isSupported", type: "bool" },
                { name: "fixedFee", type: { option: "u64" } },
                { name: "transferFee", type: { option: "u64" } },
                { name: "chainAddressLen", type: "u16" },
            ],
            discriminator: [62, 255, 80, 80, 101, 3, 60, 70],
            name: "updateChainSupportInfo",
        },
        {
            accounts: [
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The mint account of the token with which the bridge works"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [{ name: "newMaxAmount", type: "u64" }],
            discriminator: [154, 148, 177, 31, 172, 250, 164, 216],
            name: "setBridgeMaxAmount",
        },
        {
            accounts: [
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The mint account of the token with which the bridge works"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [{ name: "newMinReservedBps", type: "u64" }],
            discriminator: [125, 100, 32, 67, 101, 82, 116, 26],
            name: "setBridgeMinReservedBps",
        },
        {
            accounts: [
                { docs: ["👤 Stop Tap"], name: "stopTap", optional: false, relations: [], signer: true, writable: false },
                {
                    docs: ["Bridge account to be stopped"],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The mint account of the token with which the bridge works"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [162, 103, 59, 230, 104, 233, 25, 246],
            name: "pauseBridge",
        },
        {
            accounts: [
                {
                    docs: ["Authority of protocol"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                { docs: ["Bridge account to be run"], name: "bridgeData", optional: false, relations: [], signer: false, writable: true },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["The mint account of the token with which the bridge works"],
                    name: "tokenMint",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [38, 76, 229, 108, 125, 173, 75, 116],
            name: "unpauseBridge",
        },
        {
            accounts: [
                {
                    docs: ["System spl token program"],
                    name: "tokenProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
            ],
            args: [],
            discriminator: [122, 213, 191, 89, 86, 88, 214, 150],
            name: "resetFreezeAuthorityBatch",
        },
        {
            accounts: [
                {
                    docs: ["Account with URI mask for mint bridge token logo"],
                    name: "tokenMetadataMaster",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: ["State account with service information", "There is a single state account for the entire program"],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["👤 Protocol Authority"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: ["👤 User: Fund account for metadata master initializing"],
                    name: "payer",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: true,
                },
                { docs: ["System program account"], name: "systemProgram", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [
                { name: "initPrefix", type: "string" },
                { name: "initPostfix", type: "string" },
            ],
            discriminator: [235, 181, 62, 223, 27, 244, 90, 94],
            name: "initMetadataMaster",
        },
        {
            accounts: [
                {
                    docs: ["Account with URI mask for mint bridge token logo"],
                    name: "tokenMetadataMaster",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                {
                    docs: [
                        "State account with service information",
                        "There is a single state account for the entire program",
                        "",
                        "We use it here for filter oracle keys from instructions",
                    ],
                    name: "state",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["👤 Protocol Authority"],
                    name: "protocolAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
            ],
            args: [
                { name: "newPrefix", type: "string" },
                { name: "newPostfix", type: "string" },
            ],
            discriminator: [126, 77, 135, 3, 53, 139, 125, 158],
            name: "updateMetadataMaster",
        },
        {
            accounts: [
                {
                    accounts: [
                        {
                            docs: ["Authority of protocol"],
                            name: "protocolAuthority",
                            optional: false,
                            relations: [],
                            signer: true,
                            writable: false,
                        },
                        {
                            docs: [
                                "The account contains all the information about the operation of the bridge",
                                "",
                                "There are the address of the token with which the bridge works,",
                                "the amount of liquidity stored, the collected fee amount and",
                                "the settings for the operation of the bridge",
                            ],
                            name: "bridgeData",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["State account with service information", "There is a single state account for the entire program"],
                            name: "state",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["The mint account of the token with which the bridge works"],
                            name: "tokenMint",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: false,
                        },
                        {
                            docs: ["System spl token program"],
                            name: "tokenProgram",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: false,
                        },
                    ],
                    name: "updateBridge",
                },
                {
                    docs: ["Account with URI mask for mint bridge token logo"],
                    name: "tokenMetadataMaster",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Metaplex metadata program"],
                    name: "tokenMetadataProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Account with mint bridge token metadata"],
                    name: "tokenMetadata",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
            ],
            args: [],
            discriminator: [71, 240, 77, 223, 120, 59, 122, 23],
            name: "updateMintBridgeTokenUri",
        },
        {
            accounts: [
                {
                    accounts: [
                        {
                            docs: ["Authority of protocol"],
                            name: "protocolAuthority",
                            optional: false,
                            relations: [],
                            signer: true,
                            writable: false,
                        },
                        {
                            docs: [
                                "The account contains all the information about the operation of the bridge",
                                "",
                                "There are the address of the token with which the bridge works,",
                                "the amount of liquidity stored, the collected fee amount and",
                                "the settings for the operation of the bridge",
                            ],
                            name: "bridgeData",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["State account with service information", "There is a single state account for the entire program"],
                            name: "state",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: true,
                        },
                        {
                            docs: ["The mint account of the token with which the bridge works"],
                            name: "tokenMint",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: false,
                        },
                        {
                            docs: ["System spl token program"],
                            name: "tokenProgram",
                            optional: false,
                            relations: [],
                            signer: false,
                            writable: false,
                        },
                    ],
                    name: "updateBridge",
                },
                {
                    docs: ["Account with URI mask for mint bridge token logo"],
                    name: "tokenMetadataMaster",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Metaplex metadata program"],
                    name: "tokenMetadataProgram",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: false,
                },
                {
                    docs: ["Account with mint bridge token metadata"],
                    name: "tokenMetadata",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
            ],
            args: [
                { name: "newName", type: "string" },
                { name: "newSymbol", type: "string" },
            ],
            discriminator: [42, 139, 159, 37, 217, 185, 84, 81],
            name: "updateMintBridgeTokenNames",
        },
        {
            accounts: [
                {
                    docs: [
                        "The PDA that is the authorization for the transfer of tokens to the user",
                        "",
                        "It's wrapper token mint authority account for mint bridge,",
                        "staking token account owner for send bridge and changing",
                        "balance in bridge_data",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "tokenMint", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [{ name: "amount", type: "u64" }],
            discriminator: [208, 31, 233, 121, 46, 193, 127, 224],
            name: "stakeBalance",
        },
        {
            accounts: [
                {
                    docs: [
                        "The PDA that is the authorization for the transfer of tokens to the user",
                        "",
                        "It's wrapper token mint authority account for mint bridge,",
                        "staking token account owner for send bridge and changing",
                        "balance in bridge_data",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "tokenMint", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [{ name: "amount", type: "u64" }],
            discriminator: [223, 103, 178, 214, 130, 221, 82, 192],
            name: "releaseBalance",
        },
        {
            accounts: [
                {
                    docs: [
                        "The PDA that is the authorization for the transfer of tokens to the user",
                        "",
                        "It's wrapper token mint authority account for mint bridge,",
                        "staking token account owner for send bridge and changing",
                        "balance in bridge_data",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "tokenMint", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [{ name: "amount", type: "u64" }],
            discriminator: [88, 243, 107, 225, 184, 128, 55, 31],
            name: "stakeFee",
        },
        {
            accounts: [
                {
                    docs: [
                        "The PDA that is the authorization for the transfer of tokens to the user",
                        "",
                        "It's wrapper token mint authority account for mint bridge,",
                        "staking token account owner for send bridge and changing",
                        "balance in bridge_data",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "tokenMint", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [{ name: "amount", type: "u64" }],
            discriminator: [56, 5, 189, 34, 19, 76, 194, 96],
            name: "releaseFee",
        },
        {
            accounts: [
                {
                    docs: [
                        "The PDA that is the authorization for the transfer of tokens to the user",
                        "",
                        "It's wrapper token mint authority account for mint bridge,",
                        "staking token account owner for send bridge and changing",
                        "balance in bridge_data",
                    ],
                    name: "mintAuthority",
                    optional: false,
                    relations: [],
                    signer: true,
                    writable: false,
                },
                {
                    docs: [
                        "The account contains all the information about the operation of the bridge",
                        "",
                        "There are the address of the token with which the bridge works,",
                        "the amount of liquidity stored, the collected fee amount and",
                        "the settings for the operation of the bridge",
                    ],
                    name: "bridgeData",
                    optional: false,
                    relations: [],
                    signer: false,
                    writable: true,
                },
                { docs: [], name: "tokenMint", optional: false, relations: [], signer: false, writable: false },
            ],
            args: [{ name: "amount", type: "u64" }],
            discriminator: [251, 129, 144, 139, 182, 199, 75, 136],
            name: "stakeNativeFee",
        },
    ],
    metadata: { name: "debridge_settings_program", version: "1.4.0", spec: "0.0.1" },
    types: [
        {
            name: "BridgeInfo",
            type: {
                fields: [
                    { name: "maxAmount", type: "u64" },
                    { name: "balance", type: "u64" },
                    { name: "lockedInStrategies", type: "u64" },
                    { name: "minReservesBps", type: "u64" },
                    { name: "state", type: { defined: { generics: [], name: "BridgeState" } } },
                    { name: "collectedFee", type: "u64" },
                    { name: "withdrawnFee", type: "u64" },
                    { name: "collectedNativeFee", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "BridgeCommonBumps",
            type: {
                fields: [
                    { name: "bridge", type: "u8" },
                    { name: "mintAuthority", type: "u8" },
                    { name: "stakingWallet", type: "u8" },
                ],
                kind: "struct",
            },
        },
        {
            name: "DeployInfo",
            type: {
                fields: [
                    { name: "chainId", type: { array: ["u8", 32] } },
                    { name: "nativeTokenAddress", type: "bytes" },
                    { name: "name", type: "string" },
                    { name: "symbol", type: "string" },
                    { name: "decimals", type: "u8" },
                ],
                kind: "struct",
            },
        },
        {
            name: "BridgeAndTokenMint",
            type: {
                fields: [
                    { name: "tokenMint", type: { array: ["u8", 32] } },
                    { name: "bridge", type: { array: ["u8", 32] } },
                ],
                kind: "struct",
            },
        },
        {
            name: "ConfirmationParamsGuard",
            type: {
                fields: [
                    { name: "currentTimeslot", type: { option: "u64" } },
                    { name: "submissionInTimeslotCount", type: "u32" },
                    { name: "confirmationThreshold", type: "u32" },
                    { name: "excessConfirmations", type: "u32" },
                    { name: "minConfirmations", type: "u32" },
                    { name: "excessConfirmationTimeslot", type: "u64" },
                ],
                kind: "struct",
            },
        },
        { name: "BridgeState", type: { kind: "enum", variants: [{ name: "Work" }, { name: "Paused" }] } },
        {
            name: "BridgeVariant",
            type: {
                kind: "enum",
                variants: [
                    { name: "Empty" },
                    {
                        fields: [
                            { name: "info", type: { defined: { generics: [], name: "BridgeInfo" } } },
                            { name: "native_token_address", type: "pubkey" },
                        ],
                        name: "Send",
                    },
                    {
                        fields: [
                            { name: "info", type: { defined: { generics: [], name: "BridgeInfo" } } },
                            { name: "source_chain_id", type: { array: ["u8", 32] } },
                            { name: "native_token_address", type: "bytes" },
                            { name: "token_mint_bump", type: "u8" },
                            { name: "deploy_id", type: { array: ["u8", 32] } },
                            { name: "denominator", type: "u8" },
                        ],
                        name: "Mint",
                    },
                ],
            },
        },
        {
            name: "ChainSupportInfoVariant",
            type: {
                kind: "enum",
                variants: [
                    { name: "NotSupported" },
                    {
                        fields: [
                            { name: "fixed_fee", type: { option: "u64" } },
                            { name: "transfer_fee_bps", type: { option: "u64" } },
                            { name: "chain_address_len", type: "u16" },
                        ],
                        name: "Supported",
                    },
                ],
            },
        },
        {
            name: "DiscountInfoVariant",
            type: {
                kind: "enum",
                variants: [
                    { name: "Unactive" },
                    {
                        fields: [
                            { name: "fix_bps", type: "u16" },
                            { name: "transfer_bps", type: "u16" },
                        ],
                        name: "Active",
                    },
                ],
            },
        },
        { name: "Status", type: { kind: "enum", variants: [{ name: "Working" }, { name: "Paused" }] } },
        {
            name: "bridge",
            type: {
                fields: [
                    { name: "data", type: { defined: { generics: [], name: "BridgeVariant" } } },
                    { name: "bumps", type: { defined: { generics: [], name: "BridgeCommonBumps" } } },
                ],
                kind: "struct",
            },
        },
        { name: "sendBridgeMap", type: { fields: [{ name: "tokenMint", type: "pubkey" }], kind: "struct" } },
        {
            name: "bridgeFeeInfo",
            type: {
                fields: [
                    { name: "bridgeFeeBump", type: "u8" },
                    { name: "assetChainFee", type: { option: "u64" } },
                ],
                kind: "struct",
            },
        },
        {
            name: "chainSupportInfo",
            type: {
                fields: [
                    { name: "data", type: { defined: { generics: [], name: "ChainSupportInfoVariant" } } },
                    { name: "chainSupportInfoBump", type: "u8" },
                ],
                kind: "struct",
            },
        },
        {
            name: "discountInfo",
            type: {
                fields: [
                    { name: "data", type: { defined: { generics: [], name: "DiscountInfoVariant" } } },
                    { name: "bump", type: "u8" },
                ],
                kind: "struct",
            },
        },
        {
            name: "confirmationStorage",
            type: {
                fields: [
                    { name: "oracles", type: { vec: { array: ["u8", 20] } } },
                    { name: "capacity", type: "u64" },
                    { name: "bump", type: "u8" },
                    { name: "creator", type: "pubkey" },
                ],
                kind: "struct",
            },
        },
        {
            name: "state",
            type: {
                fields: [
                    { name: "status", type: { defined: { generics: [], name: "Status" } } },
                    { name: "protocolAuthority", type: "pubkey" },
                    { name: "stopTap", type: "pubkey" },
                    { name: "feeBeneficiary", type: "pubkey" },
                    { name: "oracles", type: { vec: { array: ["u8", 20] } } },
                    { name: "requiredOracles", type: { vec: { array: ["u8", 20] } } },
                    { name: "confirmationGuard", type: { defined: { generics: [], name: "ConfirmationParamsGuard" } } },
                    { name: "globalFixedFee", type: "u64" },
                    { name: "globalTransferFeeBps", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "tokenMetadataMaster",
            type: {
                fields: [
                    { name: "prefix", type: "string" },
                    { name: "postfix", type: "string" },
                ],
                kind: "struct",
            },
        },
        { name: "Log", type: { fields: [{ name: "msg", type: "string" }], kind: "struct" } },
        {
            name: "StateInitialized",
            type: {
                fields: [
                    { name: "authority", type: "pubkey" },
                    { name: "stopTap", type: "pubkey" },
                    { name: "feeBeneficiary", type: "pubkey" },
                    { name: "confirmationThreshold", type: "u32" },
                    { name: "excessConfirmations", type: "u32" },
                    { name: "minConfirmation", type: "u32" },
                    { name: "globalFixedFee", type: "u64" },
                    { name: "globalTransferFeeBps", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "StateUpdated",
            type: {
                fields: [
                    { name: "authority", type: "pubkey" },
                    { name: "stopTap", type: "pubkey" },
                    { name: "feeBeneficiary", type: "pubkey" },
                    { name: "confirmationThreshold", type: "u32" },
                    { name: "excessConfirmations", type: "u32" },
                    { name: "minConfirmation", type: "u32" },
                    { name: "globalFixedFee", type: "u64" },
                    { name: "globalTransferFeeBps", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "OracleAdded",
            type: {
                fields: [
                    { name: "newOracleKey", type: { array: ["u8", 20] } },
                    { name: "isRequired", type: "bool" },
                ],
                kind: "struct",
            },
        },
        {
            name: "OracleRemoved",
            type: {
                fields: [
                    { name: "removedOracleKey", type: { array: ["u8", 20] } },
                    { name: "isTooBigMinConfirmation", type: "bool" },
                    { name: "isTooBigExcessConfirmation", type: "bool" },
                ],
                kind: "struct",
            },
        },
        {
            name: "MintBridgeCreated",
            type: {
                fields: [
                    { name: "bridgeId", type: { array: ["u8", 32] } },
                    { name: "deployId", type: { array: ["u8", 32] } },
                    { name: "wrapperTokenAddress", type: { array: ["u8", 32] } },
                ],
                kind: "struct",
            },
        },
        {
            name: "SendBridgeTokenMeta",
            type: {
                fields: [
                    { name: "tokenSymbol", type: "string" },
                    { name: "tokenName", type: "string" },
                    { name: "tokenMint", type: "pubkey" },
                ],
                kind: "struct",
            },
        },
        { name: "SendBridgeCreated", type: { fields: [{ name: "bridgeId", type: { array: ["u8", 32] } }], kind: "struct" } },
        {
            name: "BridgeMaxAmountSetted",
            type: {
                fields: [
                    { name: "bridgeId", type: { array: ["u8", 32] } },
                    { name: "oldMaxAmount", type: "u64" },
                    { name: "newMaxAmount", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "BridgeMinReservedBpsSetted",
            type: {
                fields: [
                    { name: "bridgeId", type: { array: ["u8", 32] } },
                    { name: "oldMinReservedBps", type: "u64" },
                    { name: "newMinReservedBps", type: "u64" },
                ],
                kind: "struct",
            },
        },
        {
            name: "BridgeWorkToggled",
            type: {
                fields: [
                    { name: "bridgeId", type: { array: ["u8", 32] } },
                    { name: "isWorking", type: "bool" },
                ],
                kind: "struct",
            },
        },
        {
            name: "BridgeFeeInfoInitialized",
            type: {
                fields: [
                    { name: "chainId", type: { array: ["u8", 32] } },
                    { name: "chainFee", type: { option: "u64" } },
                ],
                kind: "struct",
            },
        },
        {
            name: "OracleSignatureVerified",
            type: {
                fields: [
                    { name: "msg", type: "bytes" },
                    { name: "oracleCount", type: "u32" },
                ],
                kind: "struct",
            },
        },
        { name: "DiscountInitialized", type: { fields: [{ name: "user", type: "pubkey" }], kind: "struct" } },
        {
            name: "SupportChainInfoUpdated",
            type: {
                fields: [
                    { name: "chainId", type: { array: ["u8", 32] } },
                    { name: "isActive", type: "bool" },
                ],
                kind: "struct",
            },
        },
        {
            name: "FreezeAuthorityResetBatched",
            type: { fields: [{ name: "batch", type: { vec: { defined: { generics: [], name: "BridgeAndTokenMint" } } } }], kind: "struct" },
        },
        {
            name: "AccountThawed",
            type: {
                fields: [
                    { name: "account", type: { array: ["u8", 32] } },
                    { name: "tokenMint", type: { array: ["u8", 32] } },
                    { name: "bridge", type: { array: ["u8", 32] } },
                ],
                kind: "struct",
            },
        },
    ],
};
//# sourceMappingURL=debridge_settings_program_v31.js.map