{
    "address": "zSTKzGLiN6T6EVzhBiL6sjULXMahDavAS2p4R62afGv",
    "metadata": {
        "name": "zebec_stake",
        "version": "0.1.0",
        "spec": "0.1.0",
        "description": "Created with Anchor"
    },
    "instructions": [
        {
            "name": "init_lockup",
            "discriminator": [6, 96, 207, 185, 103, 62, 239, 168],
            "accounts": [
                {
                    "name": "creator",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "lockup",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112
                                ]
                            },
                            {
                                "kind": "arg",
                                "path": "args.name"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_vault",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "reward_vault",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    114, 101, 119, 97, 114, 100, 95, 118, 97, 117, 108, 116
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_token"
                },
                {
                    "name": "reward_token"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                }
            ],
            "args": [
                {
                    "name": "params",
                    "type": {
                        "defined": {
                            "name": "InitConfigParams"
                        }
                    }
                }
            ]
        },
        {
            "name": "stake_zbcn",
            "discriminator": [93, 162, 156, 54, 43, 11, 15, 122],
            "accounts": [
                {
                    "name": "staker",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "fee_payer",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "lockup",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup.stake_info.name",
                                "account": "Lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_pda",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            },
                            {
                                "kind": "arg",
                                "path": "args.nonce"
                            }
                        ]
                    }
                },
                {
                    "name": "user_nonce",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_token"
                },
                {
                    "name": "staker_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "stake_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "stake_vault",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_vault_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "stake_vault"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "stake_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                }
            ],
            "args": [
                {
                    "name": "params",
                    "type": {
                        "defined": {
                            "name": "StakeParams"
                        }
                    }
                }
            ]
        },
        {
            "name": "unstake_zbcn",
            "discriminator": [90, 202, 101, 187, 218, 99, 244, 1],
            "accounts": [
                {
                    "name": "staker",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "fee_payer",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "lockup",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup.stake_info.name",
                                "account": "Lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_pda",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            },
                            {
                                "kind": "arg",
                                "path": "_nonce"
                            }
                        ]
                    }
                },
                {
                    "name": "reward_token"
                },
                {
                    "name": "stake_token"
                },
                {
                    "name": "staker_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "stake_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "staker_reward_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "reward_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "stake_vault",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [115, 116, 97, 107, 101, 95, 118, 97, 117, 108, 116]
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "reward_vault",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    114, 101, 119, 97, 114, 100, 95, 118, 97, 117, 108, 116
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_vault_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "stake_vault"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "stake_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "reward_vault_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "reward_vault"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "reward_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "fee_vault"
                },
                {
                    "name": "fee_vault_token_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "lockup.fee_info.fee_vault",
                                "account": "Lockup"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
                                    235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140,
                                    245, 133, 126, 255, 0, 169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "stake_token"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,
                                13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,
                                219, 233, 248, 89
                            ]
                        }
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "nonce",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "update_lockup",
            "discriminator": [193, 164, 229, 215, 112, 18, 244, 98],
            "accounts": [
                {
                    "name": "updater",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "lockup",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup.stake_info.name",
                                "account": "Lockup"
                            }
                        ]
                    }
                }
            ],
            "args": [
                {
                    "name": "params",
                    "type": {
                        "defined": {
                            "name": "UpdateLockupParams"
                        }
                    }
                }
            ]
        },
        {
            "name": "whitelist_staker",
            "discriminator": [13, 211, 22, 179, 35, 177, 63, 155],
            "accounts": [
                {
                    "name": "admin",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "lockup",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    122, 101, 98, 101, 99, 95, 108, 111, 99, 107, 117, 112
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "lockup.stake_info.name",
                                "account": "Lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "user_nonce",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            }
                        ]
                    }
                },
                {
                    "name": "staker"
                },
                {
                    "name": "stake_pda",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "staker"
                            },
                            {
                                "kind": "account",
                                "path": "lockup"
                            },
                            {
                                "kind": "arg",
                                "path": "args.nonce"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_token"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "params",
                    "type": {
                        "defined": {
                            "name": "WhitelistStakerParams"
                        }
                    }
                }
            ]
        }
    ],
    "accounts": [
        {
            "name": "Lockup",
            "discriminator": [1, 45, 32, 32, 57, 81, 88, 67]
        },
        {
            "name": "UserNonce",
            "discriminator": [235, 133, 1, 243, 18, 135, 88, 224]
        },
        {
            "name": "UserStakeData",
            "discriminator": [105, 207, 3, 141, 114, 114, 232, 147]
        }
    ],
    "events": [
        {
            "name": "LockupInitialized",
            "discriminator": [137, 25, 165, 219, 184, 142, 188, 33]
        },
        {
            "name": "LockupUpdated",
            "discriminator": [211, 109, 125, 86, 36, 75, 195, 63]
        },
        {
            "name": "Staked",
            "discriminator": [11, 146, 45, 205, 230, 58, 213, 240]
        },
        {
            "name": "StakerWhitelisted",
            "discriminator": [76, 149, 219, 17, 46, 17, 132, 62]
        },
        {
            "name": "Unstaked",
            "discriminator": [27, 179, 156, 215, 47, 71, 195, 7]
        }
    ],
    "errors": [
        {
            "code": 6000,
            "name": "InvalidTime",
            "msg": "Invalid Time"
        },
        {
            "code": 6001,
            "name": "InvalidStakeToken",
            "msg": "Invalid Stake Token"
        },
        {
            "code": 6002,
            "name": "InvalidRewardToken",
            "msg": "Invalid Reward Token"
        },
        {
            "code": 6003,
            "name": "InvalidStakePeriod",
            "msg": "Invalid Stake Period"
        },
        {
            "code": 6004,
            "name": "InvalidStaker",
            "msg": "Invalid Staker"
        },
        {
            "code": 6005,
            "name": "InvaildNonce",
            "msg": "Invalid Nonce"
        },
        {
            "code": 6006,
            "name": "UnAuthorized",
            "msg": "UnAuthorized"
        },
        {
            "code": 6007,
            "name": "InvalidLockPeriod",
            "msg": "Invalid Lock Period"
        },
        {
            "code": 6008,
            "name": "InvalidAmount",
            "msg": "Invalid Amount"
        },
        {
            "code": 6009,
            "name": "RewardAlreadyClaimed",
            "msg": "Reward Already Claimed"
        },
        {
            "code": 6010,
            "name": "StakeRewardNotClaimable",
            "msg": "Stake Reward Not Claimable"
        },
        {
            "code": 6011,
            "name": "RewardIsZero",
            "msg": "Reward Is Zero"
        },
        {
            "code": 6012,
            "name": "StakeAlreadyClaimed",
            "msg": "Stake Already Claimed"
        },
        {
            "code": 6013,
            "name": "StakeNotClaimable",
            "msg": "Stake Not Claimable"
        },
        {
            "code": 6014,
            "name": "MinimumStakeNotMet",
            "msg": "Minimum Stake Not Met"
        }
    ],
    "types": [
        {
            "name": "DurationMap",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "duration",
                        "type": "u64"
                    },
                    {
                        "name": "reward",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "FeeInfo",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "fee",
                        "type": "u64"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    }
                ]
            }
        },
        {
            "name": "InitConfigParams",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "fee",
                        "type": "u64"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "minimum_stake",
                        "type": "u64"
                    },
                    {
                        "name": "duration_map",
                        "type": {
                            "vec": {
                                "defined": {
                                    "name": "DurationMap"
                                }
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "Lockup",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "stake_info",
                        "type": {
                            "defined": {
                                "name": "StakeInfo"
                            }
                        }
                    },
                    {
                        "name": "reward_token",
                        "type": {
                            "defined": {
                                "name": "RewardToken"
                            }
                        }
                    },
                    {
                        "name": "staked_token",
                        "type": {
                            "defined": {
                                "name": "StakedToken"
                            }
                        }
                    },
                    {
                        "name": "fee_info",
                        "type": {
                            "defined": {
                                "name": "FeeInfo"
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "LockupInitialized",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "creator",
                        "type": "pubkey"
                    },
                    {
                        "name": "lockup",
                        "type": "pubkey"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "reward_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "duration_map",
                        "type": {
                            "vec": {
                                "defined": {
                                    "name": "DurationMap"
                                }
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "LockupUpdated",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "fee",
                        "type": "u64"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "minimum_stake",
                        "type": "u64"
                    },
                    {
                        "name": "duration_map",
                        "type": {
                            "vec": {
                                "defined": {
                                    "name": "DurationMap"
                                }
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "RewardToken",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "token_address",
                        "type": "pubkey"
                    }
                ]
            }
        },
        {
            "name": "StakeInfo",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "creator",
                        "type": "pubkey"
                    },
                    {
                        "name": "minimum_stake",
                        "type": "u64"
                    },
                    {
                        "name": "duration_map",
                        "type": {
                            "vec": {
                                "defined": {
                                    "name": "DurationMap"
                                }
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "StakeParams",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "amount",
                        "type": "u64"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    },
                    {
                        "name": "nonce",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "Staked",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "staker",
                        "type": "pubkey"
                    },
                    {
                        "name": "stake_amount",
                        "type": "u64"
                    },
                    {
                        "name": "nonce",
                        "type": "u64"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    }
                ]
            }
        },
        {
            "name": "StakedToken",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "token_address",
                        "type": "pubkey"
                    },
                    {
                        "name": "total_staked",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "StakerWhitelisted",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "staker",
                        "type": "pubkey"
                    },
                    {
                        "name": "amount",
                        "type": "u64"
                    },
                    {
                        "name": "nonce",
                        "type": "u64"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    },
                    {
                        "name": "claimed",
                        "type": "bool"
                    },
                    {
                        "name": "created_time",
                        "type": "i64"
                    }
                ]
            }
        },
        {
            "name": "Unstaked",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "staker",
                        "type": "pubkey"
                    },
                    {
                        "name": "unstake_amount",
                        "type": "u64"
                    },
                    {
                        "name": "reward_amount",
                        "type": "u64"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    }
                ]
            }
        },
        {
            "name": "UpdateLockupParams",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "fee",
                        "type": "u64"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "minimum_stake",
                        "type": "u64"
                    },
                    {
                        "name": "duration_map",
                        "type": {
                            "vec": {
                                "defined": {
                                    "name": "DurationMap"
                                }
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "UserNonce",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "nonce",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "UserStakeData",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "nonce",
                        "type": "u64"
                    },
                    {
                        "name": "created_time",
                        "type": "i64"
                    },
                    {
                        "name": "staked_amount",
                        "type": "u64"
                    },
                    {
                        "name": "reward_amount",
                        "type": "u64"
                    },
                    {
                        "name": "stake_claimed",
                        "type": "bool"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    },
                    {
                        "name": "staker",
                        "type": "pubkey"
                    },
                    {
                        "name": "lockup",
                        "type": "pubkey"
                    }
                ]
            }
        },
        {
            "name": "WhitelistStakerParams",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "amount",
                        "type": "u64"
                    },
                    {
                        "name": "nonce",
                        "type": "u64"
                    },
                    {
                        "name": "lock_period",
                        "type": "i64"
                    },
                    {
                        "name": "created_time",
                        "type": "i64"
                    },
                    {
                        "name": "claimed",
                        "type": "bool"
                    }
                ]
            }
        }
    ],
    "constants": [
        {
            "name": "LOCKUP",
            "type": "string",
            "value": "\"zebec_lockup\""
        },
        {
            "name": "REWARD_VAULT",
            "type": "string",
            "value": "\"reward_vault\""
        },
        {
            "name": "STAKE_VAULT",
            "type": "string",
            "value": "\"stake_vault\""
        }
    ]
}
