{"version":3,"sources":["/Users/paul-n/git/ston-fi/public/sdk-contracts/packages/sdk/dist/chunk-TUHIXG6T.cjs","../src/contracts/pTON/v1/PtonV1.ts"],"names":["address"],"mappings":"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","file":"/Users/paul-n/git/ston-fi/public/sdk-contracts/packages/sdk/dist/chunk-TUHIXG6T.cjs","sourcesContent":[null,"import {\n  address,\n  beginCell,\n  type Cell,\n  type ContractProvider,\n  type Sender,\n  type SenderArguments,\n  toNano,\n} from \"@ton/ton\";\n\nimport type { AddressType, AmountType, QueryIdType } from \"../../../types\";\nimport { createJettonTransferMessage } from \"../../../utils/createJettonTransferMessage\";\nimport { toAddress } from \"../../../utils/toAddress\";\nimport type { ContractOptions } from \"../../core/Contract\";\nimport { JettonMinter } from \"../../core/JettonMinter\";\nimport type { AbstractPton } from \"../AbstractPton\";\nimport { pTON_VERSION } from \"../constants\";\nimport { pTON_OP_CODES } from \"./constants\";\n\nexport interface PtonV1Options extends ContractOptions {\n  gasConstants?: Partial<typeof PtonV1.gasConstants>;\n}\n\nexport class PtonV1 extends JettonMinter implements AbstractPton {\n  public static readonly version: pTON_VERSION = pTON_VERSION.v1;\n\n  public static readonly address = address(\n    \"EQCM3B12QK1e4yZSf8GtBRT0aLMNyEsBc_DhVfRRtOEffLez\",\n  );\n\n  public static readonly gasConstants = {\n    deployWallet: toNano(\"1.05\"),\n  };\n\n  public readonly version = PtonV1.version;\n\n  public readonly gasConstants;\n\n  constructor(\n    address: AddressType = PtonV1.address,\n    { gasConstants, ...options }: PtonV1Options = {},\n  ) {\n    super(address, options);\n\n    this.gasConstants = {\n      ...PtonV1.gasConstants,\n      ...gasConstants,\n    };\n  }\n\n  public async getTonTransferTxParams(\n    provider: ContractProvider,\n    params: {\n      tonAmount: AmountType;\n      destinationAddress: AddressType;\n      destinationWalletAddress?: AddressType;\n      refundAddress: AddressType;\n      forwardPayload?: Cell;\n      forwardTonAmount?: AmountType;\n      queryId?: QueryIdType;\n    },\n  ): Promise<SenderArguments> {\n    const to = params.destinationWalletAddress\n      ? toAddress(params.destinationWalletAddress)\n      : await this.getWalletAddress(provider, params.destinationAddress);\n\n    const body = createJettonTransferMessage({\n      queryId: params.queryId ?? 0,\n      amount: params.tonAmount,\n      destination: params.destinationAddress,\n      forwardTonAmount: BigInt(params.forwardTonAmount ?? 0),\n      forwardPayload: params.forwardPayload,\n    });\n\n    const value =\n      BigInt(params.tonAmount) + BigInt(params.forwardTonAmount ?? 0);\n\n    return { to, value, body };\n  }\n\n  public async sendTonTransfer(\n    provider: ContractProvider,\n    via: Sender,\n    params: Parameters<PtonV1[\"getTonTransferTxParams\"]>[1],\n  ) {\n    const txParams = await this.getTonTransferTxParams(provider, params);\n\n    return via.send(txParams);\n  }\n\n  public async createDeployWalletBody(params: {\n    ownerAddress: AddressType;\n    queryId?: QueryIdType;\n  }): Promise<Cell> {\n    return beginCell()\n      .storeUint(pTON_OP_CODES.DEPLOY_WALLET, 32)\n      .storeUint(params.queryId ?? 0, 64)\n      .storeAddress(toAddress(params.ownerAddress))\n      .endCell();\n  }\n\n  public async getDeployWalletTxParams(\n    provider: ContractProvider,\n    params: {\n      ownerAddress: AddressType;\n      gasAmount?: AmountType;\n      queryId?: QueryIdType;\n    },\n  ): Promise<SenderArguments> {\n    const to = this.address;\n\n    const body = await this.createDeployWalletBody({\n      ownerAddress: params.ownerAddress,\n      queryId: params?.queryId,\n    });\n\n    const value = BigInt(params?.gasAmount ?? this.gasConstants.deployWallet);\n\n    return { to, value, body };\n  }\n\n  public async sendDeployWallet(\n    provider: ContractProvider,\n    via: Sender,\n    params: Parameters<PtonV1[\"getDeployWalletTxParams\"]>[1],\n  ) {\n    const txParams = await this.getDeployWalletTxParams(provider, params);\n\n    return via.send(txParams);\n  }\n}\n"]}