{"version":3,"sources":["../../src/common/owner.ts"],"sourcesContent":["import { Keypair, PublicKey, Signer } from \"@solana/web3.js\";\n\ntype _Owner = Keypair | PublicKey;\n\nexport class Owner {\n  private readonly _owner: _Owner;\n\n  constructor(owner: _Owner) {\n    this._owner = owner;\n  }\n\n  get publicKey(): PublicKey {\n    if (Owner.isKeyPair(this._owner)) {\n      return this._owner.publicKey;\n    }\n\n    return this._owner;\n  }\n\n  get signer(): Signer | undefined {\n    return Owner.isKeyPair(this._owner) ? this._owner : undefined;\n  }\n\n  get isKeyPair(): boolean {\n    return Owner.isKeyPair(this._owner);\n  }\n\n  get isPublicKey(): boolean {\n    return Owner.isPublicKey(this._owner);\n  }\n\n  static isKeyPair(owner: _Owner): owner is Keypair {\n    return (owner as Keypair).secretKey !== undefined;\n  }\n\n  static isPublicKey(owner: _Owner): owner is PublicKey {\n    return !Owner.isKeyPair(owner);\n  }\n}\n"],"mappings":";AAIO,kBAAY;AAAA,EAGjB,YAAY,OAAe;AACzB,SAAK,SAAS;AAAA,EAChB;AAAA,MAEI,YAAuB;AACzB,QAAI,MAAM,UAAU,KAAK,MAAM,GAAG;AAChC,aAAO,KAAK,OAAO;AAAA,IACrB;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,MAEI,SAA6B;AAC/B,WAAO,MAAM,UAAU,KAAK,MAAM,IAAI,KAAK,SAAS;AAAA,EACtD;AAAA,MAEI,YAAqB;AACvB,WAAO,MAAM,UAAU,KAAK,MAAM;AAAA,EACpC;AAAA,MAEI,cAAuB;AACzB,WAAO,MAAM,YAAY,KAAK,MAAM;AAAA,EACtC;AAAA,SAEO,UAAU,OAAiC;AAChD,WAAQ,MAAkB,cAAc;AAAA,EAC1C;AAAA,SAEO,YAAY,OAAmC;AACpD,WAAO,CAAC,MAAM,UAAU,KAAK;AAAA,EAC/B;AACF;","names":[]}