{"version":3,"file":"AccountSubscriptionClient.mjs","sources":["../../../../src/plugins/accountModule/AccountSubscriptionClient.ts"],"sourcesContent":["import type { AccountInfo, PublicKey } from '@solana/web3.js';\nimport type { Convergence } from '@/Convergence';\n\ntype AccountChangeListener = (accountInfo: AccountInfo<Buffer>) => void;\n\nexport class AccountSubscriptionClient {\n  constructor(protected readonly convergence: Convergence) {}\n\n  subscribe(account: PublicKey, listener: AccountChangeListener) {\n    const subscriptionId = this.convergence.connection.onAccountChange(\n      account,\n      listener,\n      'confirmed'\n    );\n    return subscriptionId;\n  }\n\n  unsubscribe(subscriptionId: number) {\n    return this.convergence.connection.removeAccountChangeListener(\n      subscriptionId\n    );\n  }\n}\n"],"names":["AccountSubscriptionClient","convergence","_classCallCheck","_createClass","key","value","subscribe","account","listener","subscriptionId","connection","onAccountChange","unsubscribe","removeAccountChangeListener"],"mappings":";;AAKA,IAAaA,yBAAyB,gBAAA,YAAA;EACpC,SAAAA,yBAAAA,CAA+BC,WAAwB,EAAE;AAAAC,IAAAA,eAAA,OAAAF,yBAAA,CAAA,CAAA;IAAA,IAA1BC,CAAAA,WAAwB,GAAxBA,WAAwB,CAAA;AAAG,GAAA;AAACE,EAAAA,YAAA,CAAAH,yBAAA,EAAA,CAAA;IAAAI,GAAA,EAAA,WAAA;AAAAC,IAAAA,KAAA,EAE3D,SAAAC,SAAAA,CAAUC,OAAkB,EAAEC,QAA+B,EAAE;AAC7D,MAAA,IAAMC,cAAc,GAAG,IAAI,CAACR,WAAW,CAACS,UAAU,CAACC,eAAe,CAChEJ,OAAO,EACPC,QAAQ,EACR,WACF,CAAC,CAAA;AACD,MAAA,OAAOC,cAAc,CAAA;AACvB,KAAA;AAAC,GAAA,EAAA;IAAAL,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EAED,SAAAO,WAAYH,CAAAA,cAAsB,EAAE;MAClC,OAAO,IAAI,CAACR,WAAW,CAACS,UAAU,CAACG,2BAA2B,CAC5DJ,cACF,CAAC,CAAA;AACH,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAT,yBAAA,CAAA;AAAA,CAAA;;;;"}