{
  "setup": {
    "mnemonic": "all all all all all all all all all all all all",
    "passphrase": ""
  },
  "tests": [
    {
      "description": "Initialize Stake Account",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarRent111111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "uninitialized_stake_account": 1,
                "rent_sysvar": 3
              },
              "data": {
                "instruction_id": 0,
                "staker": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
                "withdrawer": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
                "unix_timestamp": 20,
                "epoch": 330,
                "custodian": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS"
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "196037eae9f57396938a8c673d255a8f34f1d79200fb439a1bcc551484b0a79716e8db42af041f23207f9e9e7603e567ba8fb9b6ffa4f20dad64e1277453530d"
      }
    },
    {
      "description": "Authorize",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 1
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "SysvarC1ock11111111111111111111111111111111",
            "Stake11111111111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 3,
              "accounts": {
                "stake_account": 1,
                "clock_sysvar": 2,
                "stake_or_withdraw_authority": 0,
                "lockup_authority": null
              },
              "data": {
                "instruction_id": 1,
                "pubkey": "ETxHeBBcuw9Yu4dGuP3oXrD12V5RECvmi8ogQ9PkjyVF",
                "stake_authorize": 0
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "e1c3a670771b50cb1a503ec46fd5674191753eaeb76c6c38a84417123887374e5873c0d27a0e3bf26b745a591ca540dba79113856441e7f606683aecba5cfa00"
      }
    },
    {
      "description": "Delegate",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 5
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ETxHeBBcuw9Yu4dGuP3oXrD12V5RECvmi8ogQ9PkjyVF",
            "Stake11111111111111111111111111111111111111",
            "StakeConfig11111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111",
            "SysvarStakeHistory1111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "initialized_stake_account": 0,
                "vote_account": 1,
                "clock_sysvar": 4,
                "stake_history_sysvar": 5,
                "config_account": 3,
                "stake_authority": 0
              },
              "data": {
                "instruction_id": 2
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "05d5bbece41d3ff7b330e17112a1249f2dee18ce07df8350ca904e64f9f2bab8b3590b91390f9cb773b9b53262663261d7ea734ef688c1c5fcfc6712310b7000"
      }
    },
    {
      "description": "Split",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 2,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ETxHeBBcuw9Yu4dGuP3oXrD12V5RECvmi8ogQ9PkjyVF",
            "11111111111111111111111111111111",
            "Stake11111111111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "funding_account": 0,
                "new_account": 1
              },
              "data": {
                "instruction_id": 0,
                "lamports": 0,
                "space": 200,
                "owner": "Stake11111111111111111111111111111111111111"
              }
            },
            {
              "program_index": 3,
              "accounts": {
                "stake_account": 0,
                "uninitialized_stake_account": 1,
                "stake_authority": 0
              },
              "data": {
                "instruction_id": 3,
                "lamports": 1000000
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "999ba80a6183a2c99b43880190572e457a0398eb8acfa806d2c284cf2ebf9a0878239e8d1e62ac061a568db866424ccc0175c075536e325cb1f14968c0fbdc05"
      }
    },
    {
      "description": "Withdraw",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 3
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111",
            "SysvarStakeHistory1111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "recipient_account": 0,
                "clock_sysvar": 3,
                "stake_history_sysvar": 4,
                "withdrawal_authority": 0,
                "lockup_authority": 0
              },
              "data": {
                "instruction_id": 4,
                "lamports": 1000000
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "2da1355daca8802daddb33bd79767ca7c4c4f3e79b4949cde10559a1836acbbd409f2227040d6b502d84292e91910ad0f12dc8a151b42e39b130a1dcd165860a"
      }
    },
    {
      "description": "Deactivate",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "delegated_stake_account": 1,
                "clock_sysvar": 3,
                "stake_authority": 0
              },
              "data": {
                "instruction_id": 5
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "6320fa5c4ced21216459f85cc180d9bb69b9f335ba6e9c71ea0482184b41020c0145f72cb0306e7f33967be8828cf4bcbfd960381e87ff0871bf1e4688bef505"
      }
    },
    {
      "description": "Set Lockup - with epoch only",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 1
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111"
          ],
          "blockhash": "6Tq9obRZkiwPGQv7bX8FbMNHFBVKCXsWd5MJqSWw884Z",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "initialized_stake_account": 1,
                "lockup_or_withdraw_authority": 0
              },
              "data": {
                "instruction_id": 6,
                "unix_timestamp": {
                  "is_included": 0
                },
                "epoch": {
                  "is_included": 1,
                  "value": 20
                },
                "custodian": {
                  "is_included": 0
                }
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "6b21c7f625ff58ab64d9f3c54169565a1960d1612b2d5d9f51db1e17a23f3ec76955aac25fce636302c0b8db61c932e80d4031fd019a89aa6ad10c59d8a0f00b"
      }
    },
    {
      "description": "Set Lockup - with all params set",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 1
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111"
          ],
          "blockhash": "ENP1bFTWGR7GiPcPg7TB9ekX82xaham8aFkB7vQeoNaZ",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "initialized_stake_account": 1,
                "lockup_or_withdraw_authority": 0
              },
              "data": {
                "instruction_id": 6,
                "unix_timestamp": {
                  "is_included": 1,
                  "value": 482196050
                },
                "epoch": {
                  "is_included": 1,
                  "value": 20
                },
                "custodian": {
                  "is_included": 1,
                  "value": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS"
                }
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "b92c3f408965ceee6512ede6dec12b0436eb62e9631b5f9a4eef33384a745f0d57d583cb808ae41f2cfb24ffa768738724269a3f528be491e64162b016cbce03"
      }
    },
    {
      "description": "Merge",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 3
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "AeDJ1BqA7ruBbd6mEcS1QNxFbT8FQbiBVuN9NqK94Taq",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111",
            "SysvarStakeHistory1111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 3,
              "accounts": {
                "destination_stake_account": 2,
                "source_stake_account": 1,
                "clock_sysvar": 4,
                "stake_history_sysvar": 5,
                "stake_authority": 0
              },
              "data": {
                "instruction_id": 7
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "e2035c812b38b6524698c1e77fff5470471dc5c0a9a163e6a0d236b41f3ccf5ab0c03b2e5694f3776f5cf8c1838e47b429f4e52389e118665e6d609db4e0d30c"
      }
    },
    {
      "description": "Authorize With Seed",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "stake_or_withdraw_authority": 0,
                "clock_sysvar": 3,
                "lockup_authority": null
              },
              "data": {
                "instruction_id": 8,
                "new_authorized_pubkey": "ETxHeBBcuw9Yu4dGuP3oXrD12V5RECvmi8ogQ9PkjyVF",
                "stake_authorize": 1,
                "authority_seed": {
                  "length": 7,
                  "chars": "stake:0"
                },
                "authority_owner": "11111111111111111111111111111111"
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "2cfb0d5ad4e2674d20ee7c5dc64c5d7068ae2a31019662b940239394769843f7df77d596ff8f9dfac78ab0f264bacc9c38b806d210eddd5870d68d923c558c0b"
      }
    },
    {
      "description": "Initialize Checked",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 3
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "GpX913B4PeKzzukWw4zyqz76smpExLysTTDR4rYUiijM",
            "11111111111111111111111111111111",
            "Stake11111111111111111111111111111111111111",
            "SysvarRent111111111111111111111111111111111"
          ],
          "blockhash": "2NuqEwZcMwFQyQaKGaLiFSFBpJaW1er26cni1sBDAeKw",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "funding_account": 0,
                "created_account": 1,
                "base_account": 0
              },
              "data": {
                "instruction_id": 3,
                "base": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
                "seed": {
                  "length": 7,
                  "chars": "stake:1"
                },
                "lamports": 3000000,
                "space": 200,
                "owner": "Stake11111111111111111111111111111111111111"
              }
            },
            {
              "program_index": 3,
              "accounts": {
                "uninitialized_stake_account": 1,
                "rent_sysvar": 4,
                "stake_authority": 0,
                "withdrawal_authority": 0
              },
              "data": {
                "instruction_id": 9
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "f34b9eb5f586a320b919ad6dcc3f51553d3d08f5a1260279973d9fa4250bc61658a38a51322c0586b0e73b7e66325a46b8f4b60828d35e7da1013e84fa12540e"
      }
    },
    {
      "description": "Authorize Checked",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111"
          ],
          "blockhash": "5AMCR1wLcR4nVUn3w6h4cK6UYjkdKc6SXNGP9Hj8vNUc",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "clock_sysvar": 3,
                "stake_or_withdraw_authority": 0,
                "new_stake_or_withdraw_authority": 0
              },
              "data": {
                "instruction_id": 10,
                "stake_authorize": 0
              }
            },
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "clock_sysvar": 3,
                "stake_or_withdraw_authority": 0,
                "new_stake_or_withdraw_authority": 0
              },
              "data": {
                "instruction_id": 10,
                "stake_authorize": 1
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "fc71a9bb988196ed145373531e9b2bcd590177a398a102779290d665c8cbd5dbc5e8c9144ff1165d98f241ebc0747c0715b1e43056fabf85f15fc594d5460c0b"
      }
    },
    {
      "description": "Authorize Checked with Seed",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 2
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111",
            "SysvarC1ock11111111111111111111111111111111"
          ],
          "blockhash": "5AMCR1wLcR4nVUn3w6h4cK6UYjkdKc6SXNGP9Hj8vNUc",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "stake_or_withdraw_authority": 0,
                "clock_sysvar": 3,
                "new_stake_or_withdraw_authority": 0
              },
              "data": {
                "instruction_id": 11,
                "stake_authorize": 0,
                "authority_seed": {
                  "length": 11,
                  "chars": "authority:1"
                },
                "authority_owner": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS"
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "01e7a9a28036b36b8dbe8a68823c03330558dd8c0627fd5f25d2fa1556b43e47e23885cb71790ad444ab8e603dedbe759faa7312d5ff8921025307c42d8a3100"
      }
    },
    {
      "description": "Set Lockup Checked",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 1,
            "readonly_signers": 0,
            "readonly_non_signers": 1
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "Stake11111111111111111111111111111111111111"
          ],
          "blockhash": "2UZYH9e662w7SoLiwnGyGZY1Mn5YjEkWEozZGm5ViR6Q",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "stake_account": 1,
                "lockup_or_withdraw_authority": 0,
                "new_lockup_authority": 0
              },
              "data": {
                "instruction_id": 12,
                "unix_timestamp": {
                  "is_included": 1,
                  "value": 482196050
                },
                "epoch": {
                  "is_included": 1,
                  "value": 20
                }
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "42b06682b7cc946143dece29c7014e408d37768d8dcd28c5293c0b13c35000cbf771886dfd4a2f1cad487621b46167d4b32ecc51c605bef0f450da6761952e05"
      }
    },
    {
      "description": "Create Stake Account",
      "parameters": {
        "address": "m/44'/501'/0'/0'",
        "construct": {
          "version": null,
          "header": {
            "signers": 2,
            "readonly_signers": 0,
            "readonly_non_signers": 3
          },
          "accounts": [
            "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
            "ATFXMD5cYiw9yHkvexgx3nf9LNSouEViB5BZBsgwunAv",
            "11111111111111111111111111111111",
            "Stake11111111111111111111111111111111111111",
            "SysvarRent111111111111111111111111111111111"
          ],
          "blockhash": "2p4rYZAaFfV5Uk5ugdG5KPNty9Uda9B3b4gWB8qnNqak",
          "instructions": [
            {
              "program_index": 2,
              "accounts": {
                "funding_account": 0,
                "new_account": 1
              },
              "data": {
                "instruction_id": 0,
                "lamports": 20000000,
                "space": 1000,
                "owner": "Stake11111111111111111111111111111111111111"
              }
            },
            {
              "program_index": 3,
              "accounts": {
                "uninitialized_stake_account": 1,
                "rent_sysvar": 4
              },
              "data": {
                "instruction_id": 0,
                "staker": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
                "withdrawer": "14CCvQzQzHCVgZM3j9soPnXuJXh1RmCfwLVUcdfbZVBS",
                "unix_timestamp": 0,
                "epoch": 0,
                "custodian": "11111111111111111111111111111111"
              }
            }
          ],
          "luts": []
        }
      },
      "result": {
        "expected_signature": "e99a383ce8f9fcd0ebbb03fce2c47db188734bd36613d226110dfa9d95ba28ad55c4e3ff36d1c4936538350d96d7aeff024c3e6afbb5c45dfe921a18e981ea0c"
      }
    }
  ]
}
