{
  "type": "File",
  "start": 0,
  "end": 3340,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 102,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3340,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 102,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExportDefaultDeclaration",
        "start": 76,
        "end": 3338,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 101,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 91,
          "end": 3338,
          "loc": {
            "start": {
              "line": 5,
              "column": 15
            },
            "end": {
              "line": 101,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 97,
            "end": 103,
            "loc": {
              "start": {
                "line": 5,
                "column": 21
              },
              "end": {
                "line": 5,
                "column": 27
              },
              "identifierName": "Wallet"
            },
            "name": "Wallet",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 104,
            "end": 3338,
            "loc": {
              "start": {
                "line": 5,
                "column": 28
              },
              "end": {
                "line": 101,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 396,
                "end": 1694,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 43,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 396,
                  "end": 407,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 408,
                    "end": 427,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 16
                      },
                      "end": {
                        "line": 11,
                        "column": 35
                      },
                      "identifierName": "signingConfirmation"
                    },
                    "name": "signingConfirmation"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 429,
                  "end": 1694,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 37
                    },
                    "end": {
                      "line": 43,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 440,
                      "end": 538,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 443,
                        "end": 463,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 11
                          },
                          "end": {
                            "line": 12,
                            "column": 31
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 444,
                          "end": 463,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 12
                            },
                            "end": {
                              "line": 12,
                              "column": 31
                            },
                            "identifierName": "signingConfirmation"
                          },
                          "name": "signingConfirmation"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 464,
                        "end": 538,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 32
                          },
                          "end": {
                            "line": 14,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 479,
                            "end": 527,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 12
                              },
                              "end": {
                                "line": 13,
                                "column": 60
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 479,
                              "end": 526,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 12
                                },
                                "end": {
                                  "line": 13,
                                  "column": 59
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 479,
                                "end": 498,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 31
                                  },
                                  "identifierName": "signingConfirmation"
                                },
                                "name": "signingConfirmation"
                              },
                              "right": {
                                "type": "ArrowFunctionExpression",
                                "start": 501,
                                "end": 526,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 59
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [],
                                "body": {
                                  "type": "CallExpression",
                                  "start": 505,
                                  "end": 526,
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 59
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 505,
                                    "end": 520,
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 505,
                                      "end": 512,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 45
                                        },
                                        "identifierName": "Promise"
                                      },
                                      "name": "Promise"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 513,
                                      "end": 520,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 53
                                        },
                                        "identifierName": "resolve"
                                      },
                                      "name": "resolve"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "BooleanLiteral",
                                      "start": 521,
                                      "end": 525,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 58
                                        }
                                      },
                                      "value": true
                                    }
                                  ]
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 548,
                      "end": 595,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 55
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 548,
                        "end": 594,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 54
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 548,
                          "end": 572,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 548,
                            "end": 552,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 553,
                            "end": 572,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 13
                              },
                              "end": {
                                "line": 15,
                                "column": 32
                              },
                              "identifierName": "signingConfirmation"
                            },
                            "name": "signingConfirmation"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 575,
                          "end": 594,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 35
                            },
                            "end": {
                              "line": 15,
                              "column": 54
                            },
                            "identifierName": "signingConfirmation"
                          },
                          "name": "signingConfirmation"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 605,
                      "end": 721,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 609,
                        "end": 636,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 12
                          },
                          "end": {
                            "line": 16,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 609,
                          "end": 625,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 12
                            },
                            "end": {
                              "line": 16,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 609,
                            "end": 613,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 12
                              },
                              "end": {
                                "line": 16,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 614,
                            "end": 625,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 17
                              },
                              "end": {
                                "line": 16,
                                "column": 28
                              },
                              "identifierName": "constructor"
                            },
                            "name": "constructor"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 630,
                          "end": 636,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 33
                            },
                            "end": {
                              "line": 16,
                              "column": 39
                            },
                            "identifierName": "Wallet"
                          },
                          "name": "Wallet"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 638,
                        "end": 721,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 41
                          },
                          "end": {
                            "line": 18,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 653,
                            "end": 710,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 12
                              },
                              "end": {
                                "line": 17,
                                "column": 69
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 659,
                              "end": 709,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 18
                                },
                                "end": {
                                  "line": 17,
                                  "column": 68
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 663,
                                "end": 672,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 673,
                                  "end": 708,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 67
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Can not construct abstract class.",
                                    "raw": "'Can not construct abstract class.'"
                                  },
                                  "value": "Can not construct abstract class."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 733,
                      "end": 886,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 737,
                        "end": 788,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 12
                          },
                          "end": {
                            "line": 20,
                            "column": 63
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 737,
                          "end": 754,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 12
                            },
                            "end": {
                              "line": 20,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 737,
                            "end": 741,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 12
                              },
                              "end": {
                                "line": 20,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 742,
                            "end": 754,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 17
                              },
                              "end": {
                                "line": 20,
                                "column": 29
                              },
                              "identifierName": "unlockWallet"
                            },
                            "name": "unlockWallet"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 759,
                          "end": 788,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 34
                            },
                            "end": {
                              "line": 20,
                              "column": 63
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 759,
                            "end": 775,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 34
                              },
                              "end": {
                                "line": 20,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 759,
                              "end": 765,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 34
                                },
                                "end": {
                                  "line": 20,
                                  "column": 40
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 766,
                              "end": 775,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 41
                                },
                                "end": {
                                  "line": 20,
                                  "column": 50
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 776,
                            "end": 788,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 51
                              },
                              "end": {
                                "line": 20,
                                "column": 63
                              },
                              "identifierName": "unlockWallet"
                            },
                            "name": "unlockWallet"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 790,
                        "end": 886,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 65
                          },
                          "end": {
                            "line": 22,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 805,
                            "end": 875,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 12
                              },
                              "end": {
                                "line": 21,
                                "column": 82
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 811,
                              "end": 874,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 18
                                },
                                "end": {
                                  "line": 21,
                                  "column": 81
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 815,
                                "end": 824,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 825,
                                  "end": 873,
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 80
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method unlockWallet.",
                                    "raw": "'Please implement abstract method unlockWallet.'"
                                  },
                                  "value": "Please implement abstract method unlockWallet."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 898,
                      "end": 1057,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 902,
                        "end": 957,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 12
                          },
                          "end": {
                            "line": 24,
                            "column": 67
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 902,
                          "end": 921,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 12
                            },
                            "end": {
                              "line": 24,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 902,
                            "end": 906,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 12
                              },
                              "end": {
                                "line": 24,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 907,
                            "end": 921,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 17
                              },
                              "end": {
                                "line": 24,
                                "column": 31
                              },
                              "identifierName": "generateWallet"
                            },
                            "name": "generateWallet"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 926,
                          "end": 957,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 36
                            },
                            "end": {
                              "line": 24,
                              "column": 67
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 926,
                            "end": 942,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 36
                              },
                              "end": {
                                "line": 24,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 926,
                              "end": 932,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 36
                                },
                                "end": {
                                  "line": 24,
                                  "column": 42
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 933,
                              "end": 942,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 43
                                },
                                "end": {
                                  "line": 24,
                                  "column": 52
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 943,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 53
                              },
                              "end": {
                                "line": 24,
                                "column": 67
                              },
                              "identifierName": "generateWallet"
                            },
                            "name": "generateWallet"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 959,
                        "end": 1057,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 69
                          },
                          "end": {
                            "line": 26,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 974,
                            "end": 1046,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 12
                              },
                              "end": {
                                "line": 25,
                                "column": 84
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 980,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 18
                                },
                                "end": {
                                  "line": 25,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 984,
                                "end": 993,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 994,
                                  "end": 1044,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 82
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method generateWallet.",
                                    "raw": "'Please implement abstract method generateWallet.'"
                                  },
                                  "value": "Please implement abstract method generateWallet."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1069,
                      "end": 1222,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1073,
                        "end": 1124,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 12
                          },
                          "end": {
                            "line": 28,
                            "column": 63
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1073,
                          "end": 1090,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 12
                            },
                            "end": {
                              "line": 28,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1073,
                            "end": 1077,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1078,
                            "end": 1090,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 17
                              },
                              "end": {
                                "line": 28,
                                "column": 29
                              },
                              "identifierName": "deleteWallet"
                            },
                            "name": "deleteWallet"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1095,
                          "end": 1124,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 34
                            },
                            "end": {
                              "line": 28,
                              "column": 63
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1095,
                            "end": 1111,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 34
                              },
                              "end": {
                                "line": 28,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1095,
                              "end": 1101,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 34
                                },
                                "end": {
                                  "line": 28,
                                  "column": 40
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1102,
                              "end": 1111,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 41
                                },
                                "end": {
                                  "line": 28,
                                  "column": 50
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1112,
                            "end": 1124,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 51
                              },
                              "end": {
                                "line": 28,
                                "column": 63
                              },
                              "identifierName": "deleteWallet"
                            },
                            "name": "deleteWallet"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1126,
                        "end": 1222,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 65
                          },
                          "end": {
                            "line": 30,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 1141,
                            "end": 1211,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 12
                              },
                              "end": {
                                "line": 29,
                                "column": 82
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1147,
                              "end": 1210,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 18
                                },
                                "end": {
                                  "line": 29,
                                  "column": 81
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1151,
                                "end": 1160,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1161,
                                  "end": 1209,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 80
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method deleteWallet.",
                                    "raw": "'Please implement abstract method deleteWallet.'"
                                  },
                                  "value": "Please implement abstract method deleteWallet."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1234,
                      "end": 1387,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1238,
                        "end": 1289,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 12
                          },
                          "end": {
                            "line": 32,
                            "column": 63
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1238,
                          "end": 1255,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 12
                            },
                            "end": {
                              "line": 32,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1238,
                            "end": 1242,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 12
                              },
                              "end": {
                                "line": 32,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1243,
                            "end": 1255,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 17
                              },
                              "end": {
                                "line": 32,
                                "column": 29
                              },
                              "identifierName": "walletExists"
                            },
                            "name": "walletExists"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1260,
                          "end": 1289,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 34
                            },
                            "end": {
                              "line": 32,
                              "column": 63
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1260,
                            "end": 1276,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 34
                              },
                              "end": {
                                "line": 32,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1260,
                              "end": 1266,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 34
                                },
                                "end": {
                                  "line": 32,
                                  "column": 40
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1267,
                              "end": 1276,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 41
                                },
                                "end": {
                                  "line": 32,
                                  "column": 50
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1277,
                            "end": 1289,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 51
                              },
                              "end": {
                                "line": 32,
                                "column": 63
                              },
                              "identifierName": "walletExists"
                            },
                            "name": "walletExists"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1291,
                        "end": 1387,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 65
                          },
                          "end": {
                            "line": 34,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 1306,
                            "end": 1376,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 12
                              },
                              "end": {
                                "line": 33,
                                "column": 82
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1312,
                              "end": 1375,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 18
                                },
                                "end": {
                                  "line": 33,
                                  "column": 81
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1316,
                                "end": 1325,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1326,
                                  "end": 1374,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 80
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method walletExists.",
                                    "raw": "'Please implement abstract method walletExists.'"
                                  },
                                  "value": "Please implement abstract method walletExists."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1399,
                      "end": 1528,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1403,
                        "end": 1438,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 12
                          },
                          "end": {
                            "line": 36,
                            "column": 47
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1403,
                          "end": 1412,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 12
                            },
                            "end": {
                              "line": 36,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1403,
                            "end": 1407,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 12
                              },
                              "end": {
                                "line": 36,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1408,
                            "end": 1412,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 17
                              },
                              "end": {
                                "line": 36,
                                "column": 21
                              },
                              "identifierName": "sign"
                            },
                            "name": "sign"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1417,
                          "end": 1438,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 26
                            },
                            "end": {
                              "line": 36,
                              "column": 47
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1417,
                            "end": 1433,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 26
                              },
                              "end": {
                                "line": 36,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1417,
                              "end": 1423,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 26
                                },
                                "end": {
                                  "line": 36,
                                  "column": 32
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1424,
                              "end": 1433,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 33
                                },
                                "end": {
                                  "line": 36,
                                  "column": 42
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1434,
                            "end": 1438,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 43
                              },
                              "end": {
                                "line": 36,
                                "column": 47
                              },
                              "identifierName": "sign"
                            },
                            "name": "sign"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1440,
                        "end": 1528,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 49
                          },
                          "end": {
                            "line": 38,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 1455,
                            "end": 1517,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 74
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1461,
                              "end": 1516,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 18
                                },
                                "end": {
                                  "line": 37,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1465,
                                "end": 1474,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1475,
                                  "end": 1515,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 72
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method sign.",
                                    "raw": "'Please implement abstract method sign.'"
                                  },
                                  "value": "Please implement abstract method sign."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 1540,
                      "end": 1687,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1544,
                        "end": 1591,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 12
                          },
                          "end": {
                            "line": 40,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1544,
                          "end": 1559,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 12
                            },
                            "end": {
                              "line": 40,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1544,
                            "end": 1548,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 12
                              },
                              "end": {
                                "line": 40,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1549,
                            "end": 1559,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 17
                              },
                              "end": {
                                "line": 40,
                                "column": 27
                              },
                              "identifierName": "getAddress"
                            },
                            "name": "getAddress"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1564,
                          "end": 1591,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 32
                            },
                            "end": {
                              "line": 40,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1564,
                            "end": 1580,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 32
                              },
                              "end": {
                                "line": 40,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1564,
                              "end": 1570,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 32
                                },
                                "end": {
                                  "line": 40,
                                  "column": 38
                                },
                                "identifierName": "Wallet"
                              },
                              "name": "Wallet"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1571,
                              "end": 1580,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 39
                                },
                                "end": {
                                  "line": 40,
                                  "column": 48
                                },
                                "identifierName": "prototype"
                              },
                              "name": "prototype"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1581,
                            "end": 1591,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 49
                              },
                              "end": {
                                "line": 40,
                                "column": 59
                              },
                              "identifierName": "getAddress"
                            },
                            "name": "getAddress"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1593,
                        "end": 1687,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 61
                          },
                          "end": {
                            "line": 42,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 1608,
                            "end": 1676,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 12
                              },
                              "end": {
                                "line": 41,
                                "column": 80
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1614,
                              "end": 1675,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 18
                                },
                                "end": {
                                  "line": 41,
                                  "column": 79
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1618,
                                "end": 1627,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 31
                                  },
                                  "identifierName": "TypeError"
                                },
                                "name": "TypeError"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1628,
                                  "end": 1674,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 78
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Please implement abstract method getAddress.",
                                    "raw": "'Please implement abstract method getAddress.'"
                                  },
                                  "value": "Please implement abstract method getAddress."
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * Base class for libsimba Wallet implementations\r\n     * @param signingConfirmation {function} - an optional callback for requesting user permission to sign a\r\n     * transaction. Should resolve a promise with true for accept, and false (or reject) for reject.\r\n     ",
                    "start": 111,
                    "end": 390,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 4
                      },
                      "end": {
                        "line": 10,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Unlock the wallet\r\n     * @param {string} passkey - The pass key to unlock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is unlocked\r\n     ",
                    "start": 1702,
                    "end": 1922,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 4
                      },
                      "end": {
                        "line": 50,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1928,
                "end": 2023,
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 4
                  },
                  "end": {
                    "line": 53,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1928,
                  "end": 1940,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 4
                    },
                    "end": {
                      "line": 51,
                      "column": 16
                    },
                    "identifierName": "unlockWallet"
                  },
                  "name": "unlockWallet",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1941,
                    "end": 1948,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 17
                      },
                      "end": {
                        "line": 51,
                        "column": 24
                      },
                      "identifierName": "passkey"
                    },
                    "name": "passkey"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1950,
                  "end": 2023,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 26
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 1961,
                      "end": 2016,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 63
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 1967,
                        "end": 2015,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 14
                          },
                          "end": {
                            "line": 52,
                            "column": 62
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1971,
                          "end": 1976,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 18
                            },
                            "end": {
                              "line": 52,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 1977,
                            "end": 2014,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 24
                              },
                              "end": {
                                "line": 52,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.unlockWallet Not Implemented",
                              "raw": "'Wallet.unlockWallet Not Implemented'"
                            },
                            "value": "Wallet.unlockWallet Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Unlock the wallet\r\n     * @param {string} passkey - The pass key to unlock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is unlocked\r\n     ",
                    "start": 1702,
                    "end": 1922,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 4
                      },
                      "end": {
                        "line": 50,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Generate a wallet\r\n     * @param {string} passkey - The pass key to lock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is created\r\n     ",
                    "start": 2031,
                    "end": 2248,
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2254,
                "end": 2351,
                "loc": {
                  "start": {
                    "line": 61,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2254,
                  "end": 2268,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 4
                    },
                    "end": {
                      "line": 61,
                      "column": 18
                    },
                    "identifierName": "generateWallet"
                  },
                  "name": "generateWallet",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2269,
                    "end": 2276,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 19
                      },
                      "end": {
                        "line": 61,
                        "column": 26
                      },
                      "identifierName": "passkey"
                    },
                    "name": "passkey"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2278,
                  "end": 2351,
                  "loc": {
                    "start": {
                      "line": 61,
                      "column": 28
                    },
                    "end": {
                      "line": 63,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 2289,
                      "end": 2344,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 63
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 2295,
                        "end": 2343,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 14
                          },
                          "end": {
                            "line": 62,
                            "column": 62
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2299,
                          "end": 2304,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 18
                            },
                            "end": {
                              "line": 62,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2305,
                            "end": 2342,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 24
                              },
                              "end": {
                                "line": 62,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.unlockWallet Not Implemented",
                              "raw": "'Wallet.unlockWallet Not Implemented'"
                            },
                            "value": "Wallet.unlockWallet Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Generate a wallet\r\n     * @param {string} passkey - The pass key to lock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is created\r\n     ",
                    "start": 2031,
                    "end": 2248,
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Delete the wallet\r\n     ",
                    "start": 2359,
                    "end": 2426,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 68,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2432,
                "end": 2520,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 4
                  },
                  "end": {
                    "line": 71,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2432,
                  "end": 2444,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 4
                    },
                    "end": {
                      "line": 69,
                      "column": 16
                    },
                    "identifierName": "deleteWallet"
                  },
                  "name": "deleteWallet",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2447,
                  "end": 2520,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 19
                    },
                    "end": {
                      "line": 71,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 2458,
                      "end": 2513,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 63
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 2464,
                        "end": 2512,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 14
                          },
                          "end": {
                            "line": 70,
                            "column": 62
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2468,
                          "end": 2473,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 18
                            },
                            "end": {
                              "line": 70,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2474,
                            "end": 2511,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 24
                              },
                              "end": {
                                "line": 70,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.deleteWallet Not Implemented",
                              "raw": "'Wallet.deleteWallet Not Implemented'"
                            },
                            "value": "Wallet.deleteWallet Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Delete the wallet\r\n     ",
                    "start": 2359,
                    "end": 2426,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 68,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Check if a wallet exists\r\n     * @return {boolean} - does the wallet exist\r\n     ",
                    "start": 2528,
                    "end": 2652,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2658,
                "end": 2746,
                "loc": {
                  "start": {
                    "line": 78,
                    "column": 4
                  },
                  "end": {
                    "line": 80,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2658,
                  "end": 2670,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 16
                    },
                    "identifierName": "walletExists"
                  },
                  "name": "walletExists",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2673,
                  "end": 2746,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 19
                    },
                    "end": {
                      "line": 80,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 2684,
                      "end": 2739,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 79,
                          "column": 63
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 2690,
                        "end": 2738,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 14
                          },
                          "end": {
                            "line": 79,
                            "column": 62
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2694,
                          "end": 2699,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 18
                            },
                            "end": {
                              "line": 79,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2700,
                            "end": 2737,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 24
                              },
                              "end": {
                                "line": 79,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.deleteWallet Not Implemented",
                              "raw": "'Wallet.deleteWallet Not Implemented'"
                            },
                            "value": "Wallet.deleteWallet Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Check if a wallet exists\r\n     * @return {boolean} - does the wallet exist\r\n     ",
                    "start": 2528,
                    "end": 2652,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @protected\r\n     * @abstract\r\n     * (Abstract) Sign a transaction payload\r\n     * @param {Object} payload - The transaction to sign\r\n     * @returns {Promise<string>} - Returns a promise resolving to the signed transaction\r\n     ",
                    "start": 2754,
                    "end": 2998,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3004,
                "end": 3083,
                "loc": {
                  "start": {
                    "line": 89,
                    "column": 4
                  },
                  "end": {
                    "line": 91,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3004,
                  "end": 3008,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 4
                    },
                    "end": {
                      "line": 89,
                      "column": 8
                    },
                    "identifierName": "sign"
                  },
                  "name": "sign",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3009,
                    "end": 3016,
                    "loc": {
                      "start": {
                        "line": 89,
                        "column": 9
                      },
                      "end": {
                        "line": 89,
                        "column": 16
                      },
                      "identifierName": "payload"
                    },
                    "name": "payload"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3018,
                  "end": 3083,
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 18
                    },
                    "end": {
                      "line": 91,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 3029,
                      "end": 3076,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 8
                        },
                        "end": {
                          "line": 90,
                          "column": 55
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 3035,
                        "end": 3075,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 14
                          },
                          "end": {
                            "line": 90,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 3039,
                          "end": 3044,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 18
                            },
                            "end": {
                              "line": 90,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 3045,
                            "end": 3074,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 24
                              },
                              "end": {
                                "line": 90,
                                "column": 53
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.sign Not Implemented",
                              "raw": "'Wallet.sign Not Implemented'"
                            },
                            "value": "Wallet.sign Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @protected\r\n     * @abstract\r\n     * (Abstract) Sign a transaction payload\r\n     * @param {Object} payload - The transaction to sign\r\n     * @returns {Promise<string>} - Returns a promise resolving to the signed transaction\r\n     ",
                    "start": 2754,
                    "end": 2998,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 4
                      },
                      "end": {
                        "line": 88,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Get the wallets address\r\n     * @returns {Promise<string>} - Returns a promise resolving to the wallets address\r\n     ",
                    "start": 3091,
                    "end": 3252,
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 97,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3258,
                "end": 3335,
                "loc": {
                  "start": {
                    "line": 98,
                    "column": 4
                  },
                  "end": {
                    "line": 100,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3258,
                  "end": 3268,
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 4
                    },
                    "end": {
                      "line": 98,
                      "column": 14
                    },
                    "identifierName": "getAddress"
                  },
                  "name": "getAddress",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3270,
                  "end": 3335,
                  "loc": {
                    "start": {
                      "line": 98,
                      "column": 16
                    },
                    "end": {
                      "line": 100,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ThrowStatement",
                      "start": 3281,
                      "end": 3328,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 55
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 3287,
                        "end": 3327,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 14
                          },
                          "end": {
                            "line": 99,
                            "column": 54
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 3291,
                          "end": 3296,
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 18
                            },
                            "end": {
                              "line": 99,
                              "column": 23
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 3297,
                            "end": 3326,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 24
                              },
                              "end": {
                                "line": 99,
                                "column": 53
                              }
                            },
                            "extra": {
                              "rawValue": "Wallet.sign Not Implemented",
                              "raw": "'Wallet.sign Not Implemented'"
                            },
                            "value": "Wallet.sign Not Implemented"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n     * @abstract\r\n     * (Abstract) Get the wallets address\r\n     * @returns {Promise<string>} - Returns a promise resolving to the wallets address\r\n     ",
                    "start": 3091,
                    "end": 3252,
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 97,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * @interface\r\n * Base class for libsimba Wallet implementations\r\n ",
              "start": 0,
              "end": 74,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 4,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * @interface\r\n * Base class for libsimba Wallet implementations\r\n ",
            "start": 0,
            "end": 74,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * @interface\r\n * Base class for libsimba Wallet implementations\r\n ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Base class for libsimba Wallet implementations\r\n     * @param signingConfirmation {function} - an optional callback for requesting user permission to sign a\r\n     * transaction. Should resolve a promise with true for accept, and false (or reject) for reject.\r\n     ",
      "start": 111,
      "end": 390,
      "loc": {
        "start": {
          "line": 6,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Unlock the wallet\r\n     * @param {string} passkey - The pass key to unlock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is unlocked\r\n     ",
      "start": 1702,
      "end": 1922,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Generate a wallet\r\n     * @param {string} passkey - The pass key to lock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is created\r\n     ",
      "start": 2031,
      "end": 2248,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Delete the wallet\r\n     ",
      "start": 2359,
      "end": 2426,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Check if a wallet exists\r\n     * @return {boolean} - does the wallet exist\r\n     ",
      "start": 2528,
      "end": 2652,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @protected\r\n     * @abstract\r\n     * (Abstract) Sign a transaction payload\r\n     * @param {Object} payload - The transaction to sign\r\n     * @returns {Promise<string>} - Returns a promise resolving to the signed transaction\r\n     ",
      "start": 2754,
      "end": 2998,
      "loc": {
        "start": {
          "line": 82,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Get the wallets address\r\n     * @returns {Promise<string>} - Returns a promise resolving to the wallets address\r\n     ",
      "start": 3091,
      "end": 3252,
      "loc": {
        "start": {
          "line": 93,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * @interface\r\n * Base class for libsimba Wallet implementations\r\n ",
      "start": 0,
      "end": 74,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 76,
      "end": 82,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 83,
      "end": 90,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 91,
      "end": 96,
      "loc": {
        "start": {
          "line": 5,
          "column": 15
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 97,
      "end": 103,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 104,
      "end": 105,
      "loc": {
        "start": {
          "line": 5,
          "column": 28
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Base class for libsimba Wallet implementations\r\n     * @param signingConfirmation {function} - an optional callback for requesting user permission to sign a\r\n     * transaction. Should resolve a promise with true for accept, and false (or reject) for reject.\r\n     ",
      "start": 111,
      "end": 390,
      "loc": {
        "start": {
          "line": 6,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 396,
      "end": 407,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 407,
      "end": 408,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signingConfirmation",
      "start": 408,
      "end": 427,
      "loc": {
        "start": {
          "line": 11,
          "column": 16
        },
        "end": {
          "line": 11,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 427,
      "end": 428,
      "loc": {
        "start": {
          "line": 11,
          "column": 35
        },
        "end": {
          "line": 11,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 429,
      "end": 430,
      "loc": {
        "start": {
          "line": 11,
          "column": 37
        },
        "end": {
          "line": 11,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 440,
      "end": 442,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 442,
      "end": 443,
      "loc": {
        "start": {
          "line": 12,
          "column": 10
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 443,
      "end": 444,
      "loc": {
        "start": {
          "line": 12,
          "column": 11
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signingConfirmation",
      "start": 444,
      "end": 463,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 12,
          "column": 31
        },
        "end": {
          "line": 12,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 464,
      "end": 465,
      "loc": {
        "start": {
          "line": 12,
          "column": 32
        },
        "end": {
          "line": 12,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signingConfirmation",
      "start": 479,
      "end": 498,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 499,
      "end": 500,
      "loc": {
        "start": {
          "line": 13,
          "column": 32
        },
        "end": {
          "line": 13,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 501,
      "end": 502,
      "loc": {
        "start": {
          "line": 13,
          "column": 34
        },
        "end": {
          "line": 13,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 502,
      "end": 503,
      "loc": {
        "start": {
          "line": 13,
          "column": 35
        },
        "end": {
          "line": 13,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 503,
      "end": 505,
      "loc": {
        "start": {
          "line": 13,
          "column": 36
        },
        "end": {
          "line": 13,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 505,
      "end": 512,
      "loc": {
        "start": {
          "line": 13,
          "column": 38
        },
        "end": {
          "line": 13,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 512,
      "end": 513,
      "loc": {
        "start": {
          "line": 13,
          "column": 45
        },
        "end": {
          "line": 13,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 513,
      "end": 520,
      "loc": {
        "start": {
          "line": 13,
          "column": 46
        },
        "end": {
          "line": 13,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 520,
      "end": 521,
      "loc": {
        "start": {
          "line": 13,
          "column": 53
        },
        "end": {
          "line": 13,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 521,
      "end": 525,
      "loc": {
        "start": {
          "line": 13,
          "column": 54
        },
        "end": {
          "line": 13,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 525,
      "end": 526,
      "loc": {
        "start": {
          "line": 13,
          "column": 58
        },
        "end": {
          "line": 13,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 526,
      "end": 527,
      "loc": {
        "start": {
          "line": 13,
          "column": 59
        },
        "end": {
          "line": 13,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 537,
      "end": 538,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 548,
      "end": 552,
      "loc": {
        "start": {
          "line": 15,
          "column": 8
        },
        "end": {
          "line": 15,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 552,
      "end": 553,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signingConfirmation",
      "start": 553,
      "end": 572,
      "loc": {
        "start": {
          "line": 15,
          "column": 13
        },
        "end": {
          "line": 15,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 573,
      "end": 574,
      "loc": {
        "start": {
          "line": 15,
          "column": 33
        },
        "end": {
          "line": 15,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signingConfirmation",
      "start": 575,
      "end": 594,
      "loc": {
        "start": {
          "line": 15,
          "column": 35
        },
        "end": {
          "line": 15,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 594,
      "end": 595,
      "loc": {
        "start": {
          "line": 15,
          "column": 54
        },
        "end": {
          "line": 15,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 605,
      "end": 607,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 16,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 608,
      "end": 609,
      "loc": {
        "start": {
          "line": 16,
          "column": 11
        },
        "end": {
          "line": 16,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 609,
      "end": 613,
      "loc": {
        "start": {
          "line": 16,
          "column": 12
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 613,
      "end": 614,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 614,
      "end": 625,
      "loc": {
        "start": {
          "line": 16,
          "column": 17
        },
        "end": {
          "line": 16,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 626,
      "end": 629,
      "loc": {
        "start": {
          "line": 16,
          "column": 29
        },
        "end": {
          "line": 16,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 630,
      "end": 636,
      "loc": {
        "start": {
          "line": 16,
          "column": 33
        },
        "end": {
          "line": 16,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 636,
      "end": 637,
      "loc": {
        "start": {
          "line": 16,
          "column": 39
        },
        "end": {
          "line": 16,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 638,
      "end": 639,
      "loc": {
        "start": {
          "line": 16,
          "column": 41
        },
        "end": {
          "line": 16,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 653,
      "end": 658,
      "loc": {
        "start": {
          "line": 17,
          "column": 12
        },
        "end": {
          "line": 17,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 659,
      "end": 662,
      "loc": {
        "start": {
          "line": 17,
          "column": 18
        },
        "end": {
          "line": 17,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 663,
      "end": 672,
      "loc": {
        "start": {
          "line": 17,
          "column": 22
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 672,
      "end": 673,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Can not construct abstract class.",
      "start": 673,
      "end": 708,
      "loc": {
        "start": {
          "line": 17,
          "column": 32
        },
        "end": {
          "line": 17,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 708,
      "end": 709,
      "loc": {
        "start": {
          "line": 17,
          "column": 67
        },
        "end": {
          "line": 17,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 709,
      "end": 710,
      "loc": {
        "start": {
          "line": 17,
          "column": 68
        },
        "end": {
          "line": 17,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 720,
      "end": 721,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 733,
      "end": 735,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 736,
      "end": 737,
      "loc": {
        "start": {
          "line": 20,
          "column": 11
        },
        "end": {
          "line": 20,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 737,
      "end": 741,
      "loc": {
        "start": {
          "line": 20,
          "column": 12
        },
        "end": {
          "line": 20,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 741,
      "end": 742,
      "loc": {
        "start": {
          "line": 20,
          "column": 16
        },
        "end": {
          "line": 20,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unlockWallet",
      "start": 742,
      "end": 754,
      "loc": {
        "start": {
          "line": 20,
          "column": 17
        },
        "end": {
          "line": 20,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 755,
      "end": 758,
      "loc": {
        "start": {
          "line": 20,
          "column": 30
        },
        "end": {
          "line": 20,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 759,
      "end": 765,
      "loc": {
        "start": {
          "line": 20,
          "column": 34
        },
        "end": {
          "line": 20,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 765,
      "end": 766,
      "loc": {
        "start": {
          "line": 20,
          "column": 40
        },
        "end": {
          "line": 20,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 766,
      "end": 775,
      "loc": {
        "start": {
          "line": 20,
          "column": 41
        },
        "end": {
          "line": 20,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 775,
      "end": 776,
      "loc": {
        "start": {
          "line": 20,
          "column": 50
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unlockWallet",
      "start": 776,
      "end": 788,
      "loc": {
        "start": {
          "line": 20,
          "column": 51
        },
        "end": {
          "line": 20,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 788,
      "end": 789,
      "loc": {
        "start": {
          "line": 20,
          "column": 63
        },
        "end": {
          "line": 20,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 790,
      "end": 791,
      "loc": {
        "start": {
          "line": 20,
          "column": 65
        },
        "end": {
          "line": 20,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 805,
      "end": 810,
      "loc": {
        "start": {
          "line": 21,
          "column": 12
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 811,
      "end": 814,
      "loc": {
        "start": {
          "line": 21,
          "column": 18
        },
        "end": {
          "line": 21,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 815,
      "end": 824,
      "loc": {
        "start": {
          "line": 21,
          "column": 22
        },
        "end": {
          "line": 21,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 824,
      "end": 825,
      "loc": {
        "start": {
          "line": 21,
          "column": 31
        },
        "end": {
          "line": 21,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method unlockWallet.",
      "start": 825,
      "end": 873,
      "loc": {
        "start": {
          "line": 21,
          "column": 32
        },
        "end": {
          "line": 21,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 873,
      "end": 874,
      "loc": {
        "start": {
          "line": 21,
          "column": 80
        },
        "end": {
          "line": 21,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 874,
      "end": 875,
      "loc": {
        "start": {
          "line": 21,
          "column": 81
        },
        "end": {
          "line": 21,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 885,
      "end": 886,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 898,
      "end": 900,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 901,
      "end": 902,
      "loc": {
        "start": {
          "line": 24,
          "column": 11
        },
        "end": {
          "line": 24,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 902,
      "end": 906,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 906,
      "end": 907,
      "loc": {
        "start": {
          "line": 24,
          "column": 16
        },
        "end": {
          "line": 24,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "generateWallet",
      "start": 907,
      "end": 921,
      "loc": {
        "start": {
          "line": 24,
          "column": 17
        },
        "end": {
          "line": 24,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 922,
      "end": 925,
      "loc": {
        "start": {
          "line": 24,
          "column": 32
        },
        "end": {
          "line": 24,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 926,
      "end": 932,
      "loc": {
        "start": {
          "line": 24,
          "column": 36
        },
        "end": {
          "line": 24,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 932,
      "end": 933,
      "loc": {
        "start": {
          "line": 24,
          "column": 42
        },
        "end": {
          "line": 24,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 933,
      "end": 942,
      "loc": {
        "start": {
          "line": 24,
          "column": 43
        },
        "end": {
          "line": 24,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 942,
      "end": 943,
      "loc": {
        "start": {
          "line": 24,
          "column": 52
        },
        "end": {
          "line": 24,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "generateWallet",
      "start": 943,
      "end": 957,
      "loc": {
        "start": {
          "line": 24,
          "column": 53
        },
        "end": {
          "line": 24,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 957,
      "end": 958,
      "loc": {
        "start": {
          "line": 24,
          "column": 67
        },
        "end": {
          "line": 24,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 959,
      "end": 960,
      "loc": {
        "start": {
          "line": 24,
          "column": 69
        },
        "end": {
          "line": 24,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 974,
      "end": 979,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 980,
      "end": 983,
      "loc": {
        "start": {
          "line": 25,
          "column": 18
        },
        "end": {
          "line": 25,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 984,
      "end": 993,
      "loc": {
        "start": {
          "line": 25,
          "column": 22
        },
        "end": {
          "line": 25,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 993,
      "end": 994,
      "loc": {
        "start": {
          "line": 25,
          "column": 31
        },
        "end": {
          "line": 25,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method generateWallet.",
      "start": 994,
      "end": 1044,
      "loc": {
        "start": {
          "line": 25,
          "column": 32
        },
        "end": {
          "line": 25,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1044,
      "end": 1045,
      "loc": {
        "start": {
          "line": 25,
          "column": 82
        },
        "end": {
          "line": 25,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 25,
          "column": 83
        },
        "end": {
          "line": 25,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1056,
      "end": 1057,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1069,
      "end": 1071,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 28,
          "column": 11
        },
        "end": {
          "line": 28,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1073,
      "end": 1077,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1077,
      "end": 1078,
      "loc": {
        "start": {
          "line": 28,
          "column": 16
        },
        "end": {
          "line": 28,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deleteWallet",
      "start": 1078,
      "end": 1090,
      "loc": {
        "start": {
          "line": 28,
          "column": 17
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1091,
      "end": 1094,
      "loc": {
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 28,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 1095,
      "end": 1101,
      "loc": {
        "start": {
          "line": 28,
          "column": 34
        },
        "end": {
          "line": 28,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1101,
      "end": 1102,
      "loc": {
        "start": {
          "line": 28,
          "column": 40
        },
        "end": {
          "line": 28,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1102,
      "end": 1111,
      "loc": {
        "start": {
          "line": 28,
          "column": 41
        },
        "end": {
          "line": 28,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1111,
      "end": 1112,
      "loc": {
        "start": {
          "line": 28,
          "column": 50
        },
        "end": {
          "line": 28,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deleteWallet",
      "start": 1112,
      "end": 1124,
      "loc": {
        "start": {
          "line": 28,
          "column": 51
        },
        "end": {
          "line": 28,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1124,
      "end": 1125,
      "loc": {
        "start": {
          "line": 28,
          "column": 63
        },
        "end": {
          "line": 28,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1126,
      "end": 1127,
      "loc": {
        "start": {
          "line": 28,
          "column": 65
        },
        "end": {
          "line": 28,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1141,
      "end": 1146,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1147,
      "end": 1150,
      "loc": {
        "start": {
          "line": 29,
          "column": 18
        },
        "end": {
          "line": 29,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 1151,
      "end": 1160,
      "loc": {
        "start": {
          "line": 29,
          "column": 22
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1160,
      "end": 1161,
      "loc": {
        "start": {
          "line": 29,
          "column": 31
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method deleteWallet.",
      "start": 1161,
      "end": 1209,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1209,
      "end": 1210,
      "loc": {
        "start": {
          "line": 29,
          "column": 80
        },
        "end": {
          "line": 29,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1210,
      "end": 1211,
      "loc": {
        "start": {
          "line": 29,
          "column": 81
        },
        "end": {
          "line": 29,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1221,
      "end": 1222,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1234,
      "end": 1236,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1237,
      "end": 1238,
      "loc": {
        "start": {
          "line": 32,
          "column": 11
        },
        "end": {
          "line": 32,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1238,
      "end": 1242,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1242,
      "end": 1243,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "walletExists",
      "start": 1243,
      "end": 1255,
      "loc": {
        "start": {
          "line": 32,
          "column": 17
        },
        "end": {
          "line": 32,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1256,
      "end": 1259,
      "loc": {
        "start": {
          "line": 32,
          "column": 30
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 1260,
      "end": 1266,
      "loc": {
        "start": {
          "line": 32,
          "column": 34
        },
        "end": {
          "line": 32,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1266,
      "end": 1267,
      "loc": {
        "start": {
          "line": 32,
          "column": 40
        },
        "end": {
          "line": 32,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1267,
      "end": 1276,
      "loc": {
        "start": {
          "line": 32,
          "column": 41
        },
        "end": {
          "line": 32,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1276,
      "end": 1277,
      "loc": {
        "start": {
          "line": 32,
          "column": 50
        },
        "end": {
          "line": 32,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "walletExists",
      "start": 1277,
      "end": 1289,
      "loc": {
        "start": {
          "line": 32,
          "column": 51
        },
        "end": {
          "line": 32,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1289,
      "end": 1290,
      "loc": {
        "start": {
          "line": 32,
          "column": 63
        },
        "end": {
          "line": 32,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 32,
          "column": 65
        },
        "end": {
          "line": 32,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1306,
      "end": 1311,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1312,
      "end": 1315,
      "loc": {
        "start": {
          "line": 33,
          "column": 18
        },
        "end": {
          "line": 33,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 1316,
      "end": 1325,
      "loc": {
        "start": {
          "line": 33,
          "column": 22
        },
        "end": {
          "line": 33,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1325,
      "end": 1326,
      "loc": {
        "start": {
          "line": 33,
          "column": 31
        },
        "end": {
          "line": 33,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method walletExists.",
      "start": 1326,
      "end": 1374,
      "loc": {
        "start": {
          "line": 33,
          "column": 32
        },
        "end": {
          "line": 33,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1374,
      "end": 1375,
      "loc": {
        "start": {
          "line": 33,
          "column": 80
        },
        "end": {
          "line": 33,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1375,
      "end": 1376,
      "loc": {
        "start": {
          "line": 33,
          "column": 81
        },
        "end": {
          "line": 33,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1399,
      "end": 1401,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1402,
      "end": 1403,
      "loc": {
        "start": {
          "line": 36,
          "column": 11
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1403,
      "end": 1407,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1407,
      "end": 1408,
      "loc": {
        "start": {
          "line": 36,
          "column": 16
        },
        "end": {
          "line": 36,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 1408,
      "end": 1412,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1413,
      "end": 1416,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 1417,
      "end": 1423,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1423,
      "end": 1424,
      "loc": {
        "start": {
          "line": 36,
          "column": 32
        },
        "end": {
          "line": 36,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1424,
      "end": 1433,
      "loc": {
        "start": {
          "line": 36,
          "column": 33
        },
        "end": {
          "line": 36,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1433,
      "end": 1434,
      "loc": {
        "start": {
          "line": 36,
          "column": 42
        },
        "end": {
          "line": 36,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 1434,
      "end": 1438,
      "loc": {
        "start": {
          "line": 36,
          "column": 43
        },
        "end": {
          "line": 36,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1438,
      "end": 1439,
      "loc": {
        "start": {
          "line": 36,
          "column": 47
        },
        "end": {
          "line": 36,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1440,
      "end": 1441,
      "loc": {
        "start": {
          "line": 36,
          "column": 49
        },
        "end": {
          "line": 36,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1455,
      "end": 1460,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1461,
      "end": 1464,
      "loc": {
        "start": {
          "line": 37,
          "column": 18
        },
        "end": {
          "line": 37,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 1465,
      "end": 1474,
      "loc": {
        "start": {
          "line": 37,
          "column": 22
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1474,
      "end": 1475,
      "loc": {
        "start": {
          "line": 37,
          "column": 31
        },
        "end": {
          "line": 37,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method sign.",
      "start": 1475,
      "end": 1515,
      "loc": {
        "start": {
          "line": 37,
          "column": 32
        },
        "end": {
          "line": 37,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1515,
      "end": 1516,
      "loc": {
        "start": {
          "line": 37,
          "column": 72
        },
        "end": {
          "line": 37,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 37,
          "column": 73
        },
        "end": {
          "line": 37,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1527,
      "end": 1528,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1540,
      "end": 1542,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1543,
      "end": 1544,
      "loc": {
        "start": {
          "line": 40,
          "column": 11
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1544,
      "end": 1548,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1548,
      "end": 1549,
      "loc": {
        "start": {
          "line": 40,
          "column": 16
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getAddress",
      "start": 1549,
      "end": 1559,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1560,
      "end": 1563,
      "loc": {
        "start": {
          "line": 40,
          "column": 28
        },
        "end": {
          "line": 40,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Wallet",
      "start": 1564,
      "end": 1570,
      "loc": {
        "start": {
          "line": 40,
          "column": 32
        },
        "end": {
          "line": 40,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1570,
      "end": 1571,
      "loc": {
        "start": {
          "line": 40,
          "column": 38
        },
        "end": {
          "line": 40,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1571,
      "end": 1580,
      "loc": {
        "start": {
          "line": 40,
          "column": 39
        },
        "end": {
          "line": 40,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1580,
      "end": 1581,
      "loc": {
        "start": {
          "line": 40,
          "column": 48
        },
        "end": {
          "line": 40,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getAddress",
      "start": 1581,
      "end": 1591,
      "loc": {
        "start": {
          "line": 40,
          "column": 49
        },
        "end": {
          "line": 40,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1591,
      "end": 1592,
      "loc": {
        "start": {
          "line": 40,
          "column": 59
        },
        "end": {
          "line": 40,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1593,
      "end": 1594,
      "loc": {
        "start": {
          "line": 40,
          "column": 61
        },
        "end": {
          "line": 40,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1608,
      "end": 1613,
      "loc": {
        "start": {
          "line": 41,
          "column": 12
        },
        "end": {
          "line": 41,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1614,
      "end": 1617,
      "loc": {
        "start": {
          "line": 41,
          "column": 18
        },
        "end": {
          "line": 41,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TypeError",
      "start": 1618,
      "end": 1627,
      "loc": {
        "start": {
          "line": 41,
          "column": 22
        },
        "end": {
          "line": 41,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 41,
          "column": 31
        },
        "end": {
          "line": 41,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Please implement abstract method getAddress.",
      "start": 1628,
      "end": 1674,
      "loc": {
        "start": {
          "line": 41,
          "column": 32
        },
        "end": {
          "line": 41,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1674,
      "end": 1675,
      "loc": {
        "start": {
          "line": 41,
          "column": 78
        },
        "end": {
          "line": 41,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1675,
      "end": 1676,
      "loc": {
        "start": {
          "line": 41,
          "column": 79
        },
        "end": {
          "line": 41,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1693,
      "end": 1694,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Unlock the wallet\r\n     * @param {string} passkey - The pass key to unlock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is unlocked\r\n     ",
      "start": 1702,
      "end": 1922,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "unlockWallet",
      "start": 1928,
      "end": 1940,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1940,
      "end": 1941,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "passkey",
      "start": 1941,
      "end": 1948,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1948,
      "end": 1949,
      "loc": {
        "start": {
          "line": 51,
          "column": 24
        },
        "end": {
          "line": 51,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1950,
      "end": 1951,
      "loc": {
        "start": {
          "line": 51,
          "column": 26
        },
        "end": {
          "line": 51,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1961,
      "end": 1966,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1967,
      "end": 1970,
      "loc": {
        "start": {
          "line": 52,
          "column": 14
        },
        "end": {
          "line": 52,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 1971,
      "end": 1976,
      "loc": {
        "start": {
          "line": 52,
          "column": 18
        },
        "end": {
          "line": 52,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1976,
      "end": 1977,
      "loc": {
        "start": {
          "line": 52,
          "column": 23
        },
        "end": {
          "line": 52,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.unlockWallet Not Implemented",
      "start": 1977,
      "end": 2014,
      "loc": {
        "start": {
          "line": 52,
          "column": 24
        },
        "end": {
          "line": 52,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2014,
      "end": 2015,
      "loc": {
        "start": {
          "line": 52,
          "column": 61
        },
        "end": {
          "line": 52,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2015,
      "end": 2016,
      "loc": {
        "start": {
          "line": 52,
          "column": 62
        },
        "end": {
          "line": 52,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2022,
      "end": 2023,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 53,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Generate a wallet\r\n     * @param {string} passkey - The pass key to lock the wallet\r\n     * @returns {Promise} - Returns a promise resolving when the wallet is created\r\n     ",
      "start": 2031,
      "end": 2248,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "generateWallet",
      "start": 2254,
      "end": 2268,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2268,
      "end": 2269,
      "loc": {
        "start": {
          "line": 61,
          "column": 18
        },
        "end": {
          "line": 61,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "passkey",
      "start": 2269,
      "end": 2276,
      "loc": {
        "start": {
          "line": 61,
          "column": 19
        },
        "end": {
          "line": 61,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2276,
      "end": 2277,
      "loc": {
        "start": {
          "line": 61,
          "column": 26
        },
        "end": {
          "line": 61,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2278,
      "end": 2279,
      "loc": {
        "start": {
          "line": 61,
          "column": 28
        },
        "end": {
          "line": 61,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2289,
      "end": 2294,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2295,
      "end": 2298,
      "loc": {
        "start": {
          "line": 62,
          "column": 14
        },
        "end": {
          "line": 62,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2299,
      "end": 2304,
      "loc": {
        "start": {
          "line": 62,
          "column": 18
        },
        "end": {
          "line": 62,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2304,
      "end": 2305,
      "loc": {
        "start": {
          "line": 62,
          "column": 23
        },
        "end": {
          "line": 62,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.unlockWallet Not Implemented",
      "start": 2305,
      "end": 2342,
      "loc": {
        "start": {
          "line": 62,
          "column": 24
        },
        "end": {
          "line": 62,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2342,
      "end": 2343,
      "loc": {
        "start": {
          "line": 62,
          "column": 61
        },
        "end": {
          "line": 62,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2343,
      "end": 2344,
      "loc": {
        "start": {
          "line": 62,
          "column": 62
        },
        "end": {
          "line": 62,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2350,
      "end": 2351,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Delete the wallet\r\n     ",
      "start": 2359,
      "end": 2426,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deleteWallet",
      "start": 2432,
      "end": 2444,
      "loc": {
        "start": {
          "line": 69,
          "column": 4
        },
        "end": {
          "line": 69,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2444,
      "end": 2445,
      "loc": {
        "start": {
          "line": 69,
          "column": 16
        },
        "end": {
          "line": 69,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2445,
      "end": 2446,
      "loc": {
        "start": {
          "line": 69,
          "column": 17
        },
        "end": {
          "line": 69,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2447,
      "end": 2448,
      "loc": {
        "start": {
          "line": 69,
          "column": 19
        },
        "end": {
          "line": 69,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2458,
      "end": 2463,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2464,
      "end": 2467,
      "loc": {
        "start": {
          "line": 70,
          "column": 14
        },
        "end": {
          "line": 70,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2468,
      "end": 2473,
      "loc": {
        "start": {
          "line": 70,
          "column": 18
        },
        "end": {
          "line": 70,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2473,
      "end": 2474,
      "loc": {
        "start": {
          "line": 70,
          "column": 23
        },
        "end": {
          "line": 70,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.deleteWallet Not Implemented",
      "start": 2474,
      "end": 2511,
      "loc": {
        "start": {
          "line": 70,
          "column": 24
        },
        "end": {
          "line": 70,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2511,
      "end": 2512,
      "loc": {
        "start": {
          "line": 70,
          "column": 61
        },
        "end": {
          "line": 70,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2512,
      "end": 2513,
      "loc": {
        "start": {
          "line": 70,
          "column": 62
        },
        "end": {
          "line": 70,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2519,
      "end": 2520,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Check if a wallet exists\r\n     * @return {boolean} - does the wallet exist\r\n     ",
      "start": 2528,
      "end": 2652,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "walletExists",
      "start": 2658,
      "end": 2670,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2670,
      "end": 2671,
      "loc": {
        "start": {
          "line": 78,
          "column": 16
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2671,
      "end": 2672,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2673,
      "end": 2674,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2684,
      "end": 2689,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2690,
      "end": 2693,
      "loc": {
        "start": {
          "line": 79,
          "column": 14
        },
        "end": {
          "line": 79,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2694,
      "end": 2699,
      "loc": {
        "start": {
          "line": 79,
          "column": 18
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2699,
      "end": 2700,
      "loc": {
        "start": {
          "line": 79,
          "column": 23
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.deleteWallet Not Implemented",
      "start": 2700,
      "end": 2737,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2737,
      "end": 2738,
      "loc": {
        "start": {
          "line": 79,
          "column": 61
        },
        "end": {
          "line": 79,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2738,
      "end": 2739,
      "loc": {
        "start": {
          "line": 79,
          "column": 62
        },
        "end": {
          "line": 79,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2745,
      "end": 2746,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @protected\r\n     * @abstract\r\n     * (Abstract) Sign a transaction payload\r\n     * @param {Object} payload - The transaction to sign\r\n     * @returns {Promise<string>} - Returns a promise resolving to the signed transaction\r\n     ",
      "start": 2754,
      "end": 2998,
      "loc": {
        "start": {
          "line": 82,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sign",
      "start": 3004,
      "end": 3008,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3008,
      "end": 3009,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "payload",
      "start": 3009,
      "end": 3016,
      "loc": {
        "start": {
          "line": 89,
          "column": 9
        },
        "end": {
          "line": 89,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3016,
      "end": 3017,
      "loc": {
        "start": {
          "line": 89,
          "column": 16
        },
        "end": {
          "line": 89,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3018,
      "end": 3019,
      "loc": {
        "start": {
          "line": 89,
          "column": 18
        },
        "end": {
          "line": 89,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 3029,
      "end": 3034,
      "loc": {
        "start": {
          "line": 90,
          "column": 8
        },
        "end": {
          "line": 90,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3035,
      "end": 3038,
      "loc": {
        "start": {
          "line": 90,
          "column": 14
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 3039,
      "end": 3044,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3044,
      "end": 3045,
      "loc": {
        "start": {
          "line": 90,
          "column": 23
        },
        "end": {
          "line": 90,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.sign Not Implemented",
      "start": 3045,
      "end": 3074,
      "loc": {
        "start": {
          "line": 90,
          "column": 24
        },
        "end": {
          "line": 90,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3074,
      "end": 3075,
      "loc": {
        "start": {
          "line": 90,
          "column": 53
        },
        "end": {
          "line": 90,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3075,
      "end": 3076,
      "loc": {
        "start": {
          "line": 90,
          "column": 54
        },
        "end": {
          "line": 90,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3082,
      "end": 3083,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 91,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @abstract\r\n     * (Abstract) Get the wallets address\r\n     * @returns {Promise<string>} - Returns a promise resolving to the wallets address\r\n     ",
      "start": 3091,
      "end": 3252,
      "loc": {
        "start": {
          "line": 93,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getAddress",
      "start": 3258,
      "end": 3268,
      "loc": {
        "start": {
          "line": 98,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3268,
      "end": 3269,
      "loc": {
        "start": {
          "line": 98,
          "column": 14
        },
        "end": {
          "line": 98,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3269,
      "end": 3270,
      "loc": {
        "start": {
          "line": 98,
          "column": 15
        },
        "end": {
          "line": 98,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3270,
      "end": 3271,
      "loc": {
        "start": {
          "line": 98,
          "column": 16
        },
        "end": {
          "line": 98,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 3281,
      "end": 3286,
      "loc": {
        "start": {
          "line": 99,
          "column": 8
        },
        "end": {
          "line": 99,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3287,
      "end": 3290,
      "loc": {
        "start": {
          "line": 99,
          "column": 14
        },
        "end": {
          "line": 99,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 3291,
      "end": 3296,
      "loc": {
        "start": {
          "line": 99,
          "column": 18
        },
        "end": {
          "line": 99,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3296,
      "end": 3297,
      "loc": {
        "start": {
          "line": 99,
          "column": 23
        },
        "end": {
          "line": 99,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Wallet.sign Not Implemented",
      "start": 3297,
      "end": 3326,
      "loc": {
        "start": {
          "line": 99,
          "column": 24
        },
        "end": {
          "line": 99,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3326,
      "end": 3327,
      "loc": {
        "start": {
          "line": 99,
          "column": 53
        },
        "end": {
          "line": 99,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3327,
      "end": 3328,
      "loc": {
        "start": {
          "line": 99,
          "column": 54
        },
        "end": {
          "line": 99,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3334,
      "end": 3335,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3337,
      "end": 3338,
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3340,
      "end": 3340,
      "loc": {
        "start": {
          "line": 102,
          "column": 0
        },
        "end": {
          "line": 102,
          "column": 0
        }
      }
    }
  ]
}