{"version":3,"sources":["../../src/execute/depositCollateral.ts"],"sourcesContent":["import { BigDecimalish, toBigInt } from '@nadohq/utils';\nimport { toHex } from 'viem';\nimport { WithContract } from '../common';\nimport { subaccountNameToBytes12 } from '../utils';\n\nexport interface DepositCollateralParams {\n  subaccountName: string;\n  productId: number;\n  amount: BigDecimalish;\n  referralCode?: string;\n}\n\n/**\n * Deposits collateral through the Endpoint contract, which will be picked up automatically by the sequencer and\n * submitted.\n *\n */\nexport async function depositCollateral({\n  endpoint,\n  subaccountName,\n  productId,\n  amount,\n  referralCode,\n}: WithContract<'endpoint', DepositCollateralParams>) {\n  const subaccountNameHex = toHex(subaccountNameToBytes12(subaccountName));\n  if (referralCode) {\n    return endpoint.write.depositCollateralWithReferral([\n      // bytes12\n      subaccountNameHex,\n      // uint32\n      productId,\n      // uint128\n      toBigInt(amount),\n      // string\n      referralCode,\n    ]);\n  } else {\n    return endpoint.write.depositCollateral([\n      subaccountNameHex,\n      productId,\n      toBigInt(amount),\n    ]);\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,kBAAsB;AAEtB,IAAAA,gBAAwC;AAcxC,eAAsB,kBAAkB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,wBAAoB,uBAAM,uCAAwB,cAAc,CAAC;AACvE,MAAI,cAAc;AAChB,WAAO,SAAS,MAAM,8BAA8B;AAAA;AAAA,MAElD;AAAA;AAAA,MAEA;AAAA;AAAA,UAEA,uBAAS,MAAM;AAAA;AAAA,MAEf;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AACL,WAAO,SAAS,MAAM,kBAAkB;AAAA,MACtC;AAAA,MACA;AAAA,UACA,uBAAS,MAAM;AAAA,IACjB,CAAC;AAAA,EACH;AACF;","names":["import_utils"]}