{
  "fromPublicKeysAndOptions": {
    "static": true,
    "testCases": [
      {
        "id": "CONFORMANCE-ACCOUNT-054",
        "description": "it should create an AccountKeyWeightedMultiSig instance.",
        "input": {
          "pubArray": [
            "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e4e",
            "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6"
          ],
          "options": {
            "threshold": 2,
            "weights": [
              1,
              1
            ]
          }
        },
        "expectedResult": {
          "status": "pass",
          "class": "AccountKeyWeightedMultiSig",
          "layer": "caver.account",
          "output": {
            "keyType": 4,
            "threshold": 2,
            "weightedPublicKeys": [
              {
                "weight": 1,
                "publicKey": "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e4e"
              },
              {
                "weight": 1,
                "publicKey": "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6"
              }
            ]
          }
        }
      },
      {
        "id": "CONFORMANCE-ACCOUNT-055",
        "description": "it should throws an error because there is one of public keys is invalid(1-byte short at index 0).",
        "input": {
          "pubArray": [
            "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e",
            "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6"
          ],
          "options": {
            "threshold": 2,
            "weights": [
              1,
              1
            ]
          }
        },
        "expectedResult": {
          "status": "fail",
          "errorMessage": "invalid arguments",
          "errorMessageJs": "Invalid public key: 0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e"
        }
      },
      {
        "id": "CONFORMANCE-ACCOUNT-056",
        "description": "it should throws an error because the option is invalid (the sum of weights is less than threshold).",
        "input": {
          "pubArray": [
            "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e4e",
            "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6"
          ],
          "options": {
            "threshold": 3,
            "weights": [
              1,
              1
            ]
          }
        },
        "expectedResult": {
          "status": "fail",
          "errorMessage": "given weightedMultiSigOption is invalid",
          "errorMessageJs": "Invalid options for AccountKeyWeightedMultiSig: The sum of weights is less than the threshold."
        }
      },
      {
        "id": "CONFORMANCE-ACCOUNT-057",
        "description": "it should throws an error because the option is invalid (length of weights is not same with length of public keys).",
        "input": {
          "pubArray": [
            "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e4e",
            "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6"
          ],
          "options": {
            "threshold": 2,
            "weights": [
              1,
              1,
              1
            ]
          }
        },
        "expectedResult": {
          "status": "fail",
          "errorMessage": "keys and weights have different length",
          "errorMessageJs": "The length of public keys is not equal to the length of weight array."
        }
      },
      {
        "id": "CONFORMANCE-ACCOUNT-058",
        "description": "it should throws an error because length of public keys exceeds limit.",
        "input": {
          "pubArray": [
            "0xc10b598a1a3ba252acc21349d61c2fbd9bc8c15c50a5599f420cccc3291f9bf9803a1898f45b2770eda7abce70e8503b5e82b748ec0ce557ac9f4f4796965e4e",
            "0x1769a9196f523c419be50c26419ebbec34d3d6aa8b59da834212f13dbec9a9c12a4d0eeb91d7bd5d592653d43dd0593cfe24cb20a5dbef05832932e7c7191bf6",
            "0x522d5e233f3048038c741e27bf015b73767f03f643e3cca77f149aece346284046c04a947cf930097af8d328a5666beb09edd478b10d094bd5917d49804a52df",
            "0x301c7878858d535e615e1c3d34c26c831aecf4ea940412963304a63204a5ea9fbb8fb2133847c4f694554cd7386a0e2aa81b30506116bf5f4b683d05af052fa9",
            "0x755c6e8886d007088c0ce9476045ace1224f0201db0b74fed95269b132d32d95ac697c9b439717da08635838161db30d2e97e049c05983280514e16b831678e4",
            "0x70c9a1cab03a22d21efc43f84bb53cf3bef04dddd023b33678d29910416bcb4b770bc319e2c10538c7e2242d1cb50bc5cbfccbb2e77a58bb35a971dfc8979aea",
            "0xfe80954e37f0ba94f8862e1faa17414c0cfaa34415db47e9d6fea04d58883c60e0074e39906adc182088717aa0a5c53e4f31a9de4b5dead38e3f2c44e6773a5a",
            "0xc66b529ac925f704332985ab7a64372fdb6d5c6a99a502ddb7973fbeef15f4143b81ec1edd5c40f8e03b50d355a1b44f5291f8018e207d3e74f7d165a9e9e27c",
            "0xd96eb0141943c82680d52f1c3ed84d31459f2d2d8b83ba50cbe2eea399e1e68cc4e9374c55341bfaab9fa8ac5278f7eedc50be6bb34168f32e5bae9578e62b53",
            "0x8396e1f2fa1e4ff4b1cff20865c5dfb75bc66314118836cb6f809d28a85e8de2ea68a8e38d22fa534cae0faeba4e3af8fca1f166b9876b73d8e8208824f9c84e",
            "0xf0b414d7db066f5226b691afd40ae1a281f87daf3d44ab9ec706ee09e7721d348d495fb56a572b85b873b006a37bbc2b623c890afa3071b1d42b887ea4e6200b"
          ],
          "options": {
            "threshold": 2,
            "weights": [
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1
            ]
          }
        },
        "expectedResult": {
          "status": "fail",
          "errorMessage": "given weightedMultiSigOption is invalid",
          "errorMessageJs": "Invalid weighted public keys: The number of keys exceeds the limit (10)."
        }
      }
    ]
  }
}