@thesingularitynetwork/singularity-sdk-lite 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"singularity-sdk-lite.esm.js","sources":["../src/entities/error.ts","../src/entities/types.ts","../src/utils/util.ts","../src/services/BaseService.ts","../src/config/chain.ts","../src/config/config.ts","../src/services/base/deposit.ts","../src/services/merkletree.ts","../src/services/base/withdraw.ts","../src/services/noteService.ts","../src/config/contractConfig.ts","../src/config/stakingConfig.ts","../src/darkpool.ts"],"sourcesContent":["export class DarkpoolError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'DarkpoolError';\n }\n}\n","export enum NoteOnChainStatus {\n ACTIVE = 'ACTIVE',\n SPENT = 'SPENT',\n LOCKED = 'LOCKED',\n UNKNOWN = 'UNKNOWN'\n}\n","import { ethers } from 'ethers';\n\nconst NATIVE_ASSETS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';\n\nexport function isNativeAsset(asset: string): boolean {\n return asset.toLowerCase() === NATIVE_ASSETS.toLowerCase();\n}\n\nexport function isAddressEquals(address1: string, address2: string): boolean {\n if (!address1 || !address2) return false;\n return address1.toLowerCase() === address2.toLowerCase();\n}\n\nexport function hexlify32(value: bigint | number): string {\n return ethers.zeroPadValue(ethers.toBeHex(value), 32);\n}\n\nexport function hexlify16(value: bigint | number): string {\n return ethers.zeroPadValue(ethers.toBeHex(value), 16);\n}\n\nexport function hexlify8(value: bigint | number): string {\n return ethers.zeroPadValue(ethers.toBeHex(value), 8);\n}\n\nexport function hexlify5(value: bigint | number): string {\n return ethers.zeroPadValue(ethers.toBeHex(value), 5);\n}\n\nexport function hexlify3(value: bigint | number): string {\n return ethers.zeroPadValue(ethers.toBeHex(value), 3);\n}\n\nexport function hexlify1(value: bigint | number): string {\n return ethers.toBeHex(value);\n}\n\nexport function isHexEquals(hex1: string, hex2: string): boolean {\n if (!hex1 || !hex2) return false;\n return hex1.toLowerCase() === hex2.toLowerCase();\n}\n","import { Note, PartialNote } from '@thesingularitynetwork/darkpool-v1-proof-lite';\nimport axios from 'axios';\nimport { Relayer } from '../entities/relayer';\nimport { DarkpoolError } from '../entities';\nimport { DarkPool } from '../darkpool';\n\nexport class BaseContext {\n private _signature: string;\n private _merkleRoot?: string;\n private _tx?: string;\n\n constructor(signature: string) {\n this._signature = signature;\n }\n\n get signature(): string {\n return this._signature;\n }\n\n set merkleRoot(merkleRoot: string | undefined) {\n this._merkleRoot = merkleRoot;\n }\n\n get merkleRoot(): string | undefined {\n return this._merkleRoot;\n }\n\n set tx(tx: string | undefined) {\n this._tx = tx;\n }\n\n get tx(): string | undefined {\n return this._tx;\n }\n}\n\nexport class BaseRelayerContext extends BaseContext {\n private _relayer: Relayer;\n private _jobId?: string;\n\n constructor(relayer: Relayer, signature: string) {\n super(signature);\n this._relayer = relayer;\n }\n\n get relayer(): Relayer {\n return this._relayer;\n }\n\n set jobId(jobId: string | undefined) {\n this._jobId = jobId;\n }\n\n get jobId(): string | undefined {\n return this._jobId;\n }\n}\n\nexport interface BaseRelayerResult {\n txHash: string;\n}\n\nexport interface MultiWithdrawResult extends BaseRelayerResult {\n outAmounts: bigint[];\n}\n\nexport interface SingleNoteResult extends BaseRelayerResult {\n note: Note;\n}\n\nexport interface MultiNotesResult extends BaseRelayerResult {\n notes: Note[];\n}\n\nexport abstract class BaseContractService<T> {\n protected _darkPool: DarkPool;\n\n constructor(_darkPool: DarkPool) {\n this._darkPool = _darkPool;\n }\n\n abstract prepare(...args: any[]): Promise<{ context: T; outNotes: Note[] }>;\n\n abstract generateProof(context: T): Promise<void>;\n\n abstract execute(context: T): Promise<string>;\n}\n\nexport abstract class BaseRelayerService<T extends BaseRelayerContext, R, S extends BaseRelayerResult> {\n protected _darkPool: DarkPool;\n\n constructor(_darkPool: DarkPool) {\n this._darkPool = _darkPool;\n }\n\n abstract prepare(...args: any[]): Promise<{ context: T; outPartialNotes: PartialNote[] }>;\n\n abstract generateProof(context: T): Promise<void>;\n\n protected abstract getRelayerRequest(context: T): Promise<R>;\n\n protected abstract getRelayerPath(): string;\n\n protected abstract postExecute(context: T): Promise<S>;\n\n async execute(context: T): Promise<string> {\n const relayerRequest = await this.getRelayerRequest(context);\n const response = await axios.post(context.relayer.hostUrl + this.getRelayerPath(), relayerRequest);\n if (response.status == 200) {\n context.jobId = response.data.id;\n return response.data.id;\n } else if (response.status == 400) {\n throw new Error('Request error' + response.data.error);\n } else {\n throw new Error('Relayer not asscessable');\n }\n }\n\n async executeAndWaitForResult(context: T): Promise<S> {\n await this.execute(context);\n\n const { error, txHash } = await this.pollJobStatus(context);\n\n console.log('relayer response, error and tx: ', error, txHash);\n\n if (error) {\n throw new DarkpoolError(error);\n }\n\n return await this.postExecute(context);\n }\n\n async pollJobStatus(context: T): Promise<{ error: string | undefined; txHash: string | undefined }> {\n let tries = 1;\n let txHash = undefined;\n while (tries <= 100) {\n if (tries >= 100) {\n break;\n }\n try {\n const response = await axios.get(`${context.relayer.hostUrl}/v1/jobs/${context.jobId}`);\n if (response.status === 400) {\n const { error } = response.data;\n console.log(error);\n return {\n error: 'Failed to submit transaction to relayer:' + error,\n txHash: undefined\n };\n }\n if (response.status === 200) {\n const { txHash, status, failedReason } = response.data;\n context.tx = txHash;\n\n if (status === 'FAILED') {\n return {\n error: failedReason ?? 'Transaction failed.',\n txHash: txHash\n };\n }\n if (status === 'CONFIRMED' || status === 'MINED') {\n return {\n error: undefined,\n txHash: txHash\n };\n }\n }\n await new Promise(resolve => setTimeout(resolve, 5000));\n } catch (error) {\n console.log(error);\n }\n tries++;\n }\n\n return {\n error: 'Waited too long for transaction to be mined.',\n txHash\n };\n }\n}\n\nexport function transferCodeToNoteFooter(transferCode: string, chainId: number) {\n const params = transferCode.trim().split('-');\n if (params.length < 3 || params[0] != 'ONEOFF' || params[1] != 'RECIPIENT' || params[2] != chainId.toString()) {\n throw new DarkpoolError('Invalid receiver code');\n }\n return BigInt(params[3]);\n}\n\nexport function validateRecipientCode(code: string) {\n const codePattern = /^(ONEOFF-RECIPIENT)-(\\d+)-(\\d+)/gm;\n return codePattern.test(code);\n}\n","export enum ChainId {\n HARDHAT = 31337,\n HARDHAT_ARBITRUM = 31338,\n HARDHAT_BASE = 31339,\n MAINNET = 1,\n SEPOLIA = 11155111,\n ARBITRUM_ONE = 42161,\n BASE = 8453,\n BounceBit = 6001,\n BounceBitTestnet = 6000\n}\n","import { ChainId } from './chain';\n\nexport enum Action {\n CURVE_LP_DEPOSIT = 'CURVE_LP_DEPOSIT',\n CURVE_LP_WITHDRAW = 'CURVE_LP_WITHDRAW',\n CURVE_MULTI_SWAP = 'CURVE_MULTI_SWAP',\n DEFI_INFRA = 'DEFI_INFRA',\n STAKE = 'STAKE',\n REDEEM = 'REDEEM',\n UNISWAP_SINGLE_SWAP = 'UNISWAP_SINGLE_SWAP',\n UNISWAP_LP_DEPOSIT = 'UNISWAP_LP_DEPOSIT',\n UNISWAP_LP_WITHDRAW = 'UNISWAP_LP_WITHDRAW',\n UNISWAP_LP_COLLECT_FEE = 'UNISWAP_LP_COLLECT_FEE',\n WITHDRAW = 'WITHDRAW',\n AERODROME_SWAP = 'AERODROME_SWAP',\n AERODROME_LP_DEPOSIT = 'AERODROME_LP_DEPOSIT',\n AERODROME_LP_WITHDRAW = 'AERODROME_LP_WITHDRAW',\n ROCKET_POOL_STAKE = 'ROCKET_POOL_STAKE',\n ROCKET_POOL_UNSTAKE = 'ROCKET_POOL_UNSTAKE',\n SABLIER_CLAIM_STREAM = 'SABLIER_CLAIM_STREAM',\n THE_DEEP_NOTE_DEPOSIT = 'THE_DEEP_NOTE_DEPOSIT',\n THE_DEEP_WITHDRAW = 'THE_DEEP_WITHDRAW'\n}\n\nexport const relayerPathConfig: { [action: string]: string } = {\n [Action.WITHDRAW]: '/v1/pgDarkPoolWithdraw',\n [Action.UNISWAP_SINGLE_SWAP]: '/v1/pgDarkPoolUniswapSingleSwap',\n [Action.UNISWAP_LP_DEPOSIT]: '/v1/pgDarkPoolUniswapLP',\n [Action.UNISWAP_LP_WITHDRAW]: '/v1/pgDarkPoolUniswapRemoveLiquidity',\n [Action.UNISWAP_LP_COLLECT_FEE]: '/v1/pgDarkPoolUniswapCollectFees',\n [Action.CURVE_LP_DEPOSIT]: '/v1/pgDarkPoolCurveAddLiquidity',\n [Action.CURVE_LP_WITHDRAW]: '/v1/pgDarkPoolCurveRemoveLiquidity',\n [Action.CURVE_MULTI_SWAP]: '/v1/pgDarkPoolCurveMultiExchange',\n [Action.DEFI_INFRA]: '/v1/pgDarkPoolDefiInfra',\n [Action.STAKE]: '/v1/pgDarkPoolZkStake',\n [Action.REDEEM]: '/v1/pgDarkPoolZkRedeem',\n [Action.AERODROME_SWAP]: '/v1/pgDarkPoolAerodromeSwap',\n [Action.AERODROME_LP_DEPOSIT]: '/v1/pgDarkPoolAerodromeAddLiquidity',\n [Action.AERODROME_LP_WITHDRAW]: '/v1/pgDarkPoolAerodromeRemoveLiquidity',\n [Action.ROCKET_POOL_STAKE]: '/v1/pgDarkPoolRocketPoolStake',\n [Action.ROCKET_POOL_UNSTAKE]: '/v1/pgDarkPoolRocketPoolUnStake',\n [Action.SABLIER_CLAIM_STREAM]: '/v1/pgDarkPoolSablierClaim',\n [Action.THE_DEEP_NOTE_DEPOSIT]: '/v1/pgDarkPoolTheDeepNoteDeposit',\n [Action.THE_DEEP_WITHDRAW]: '/v1/pgDarkPoolTheDeepWithdraw'\n};\n\nexport const legacyTokenConfig: { [chainId: number]: string[] } = {\n [ChainId.MAINNET]: ['0xdac17f958d2ee523a2206206994597c13d831ec7'],\n [ChainId.HARDHAT]: ['0xdac17f958d2ee523a2206206994597c13d831ec7']\n};\n","import { DepositProofResult, Note, createNote, generateDepositProof } from '@thesingularitynetwork/darkpool-v1-proof-lite';\nimport { ethers } from 'ethers';\nimport DarkpoolAssetManagerAbi from '../../abis/DarkpoolAssetManager.json';\nimport ERC20Abi from '../../abis/IERC20.json';\nimport ERC20_USDT from '../../abis/IERC20_USDT.json';\nimport { DarkPool } from '../../darkpool';\nimport { DarkpoolError } from '../../entities';\nimport { hexlify32, isNativeAsset } from '../../utils/util';\nimport { BaseContext, BaseContractService } from '../BaseService';\nimport { legacyTokenConfig } from '../../config/config';\n\nconst MAX_ALLOWANCE = BigInt('115792089237316195423570985008687907853269984665640564039457584007913129639935'); // 2**256 - 1\n\nexport class DepositContext extends BaseContext {\n private _note?: Note;\n private _address?: string;\n private _proof?: DepositProofResult;\n\n constructor(signature: string) {\n super(signature);\n }\n\n set note(note: Note | undefined) {\n this._note = note;\n }\n\n get note(): Note | undefined {\n return this._note;\n }\n\n set address(address: string | undefined) {\n this._address = address;\n }\n\n get address(): string | undefined {\n return this._address;\n }\n\n set proof(proof: DepositProofResult | undefined) {\n this._proof = proof;\n }\n\n get proof(): DepositProofResult | undefined {\n return this._proof;\n }\n}\n\nexport class DepositService extends BaseContractService<DepositContext> {\n constructor(_darkPool: DarkPool) {\n super(_darkPool);\n }\n\n public async prepare(\n asset: string,\n amount: bigint,\n walletAddress: string,\n signature: string\n ): Promise<{ context: DepositContext; outNotes: Note[] }> {\n const note = await createNote(asset, amount, signature);\n const context = new DepositContext(signature);\n context.note = note;\n context.address = walletAddress;\n return { context, outNotes: [note] };\n }\n\n public async generateProof(context: DepositContext): Promise<void> {\n if (!context || !context.note || !context.address || !context.signature) {\n throw new DarkpoolError('Invalid context');\n }\n const proof = await generateDepositProof({\n note: context.note,\n signedMessage: context.signature,\n address: context.address,\n options: this._darkPool.proofOptions\n });\n context.proof = proof;\n }\n\n public async execute(context: DepositContext): Promise<string> {\n if (!context || !context.note || !context.address || !context.signature || !context.proof) {\n throw new DarkpoolError('Invalid context');\n }\n const signer = this._darkPool.signer;\n const contract = new ethers.Contract(\n this._darkPool.contracts.darkpoolAssetManager,\n DarkpoolAssetManagerAbi.abi,\n signer\n );\n\n if (!isNativeAsset(context.note.asset)) {\n await this.allowance(context);\n const tx = await contract.depositERC20(\n context.note.asset,\n hexlify32(context.note.amount),\n hexlify32(context.note.note),\n context.proof.noteFooter,\n context.proof.proof.proof\n );\n return tx.hash;\n } else {\n const tx = await contract.depositETH(\n hexlify32(context.note.note),\n context.proof.noteFooter,\n context.proof.proof.proof,\n { value: context.note.amount }\n );\n return tx.hash;\n }\n }\n\n protected async allowance(context: DepositContext) {\n if (!context || !context.note || !context.address || !context.signature || !context.proof) {\n throw new DarkpoolError('Invalid context');\n }\n const signer = this._darkPool.signer;\n const allowanceContract = new ethers.Contract(context.note.asset, ERC20Abi.abi, this._darkPool);\n const allowance = await allowanceContract.allowance(\n signer.getAddress(),\n this._darkPool.contracts.darkpoolAssetManager\n );\n if (BigInt(allowance) < context.note.amount) {\n const isLegacy =\n legacyTokenConfig.hasOwnProperty(this._darkPool.chainId) &&\n legacyTokenConfig[this._darkPool.chainId].includes(context.note.asset.toLowerCase());\n const contract = new ethers.Contract(context.note.asset, isLegacy ? ERC20_USDT.abi : ERC20Abi.abi, signer);\n const tx = await contract.approve(this._darkPool.contracts.darkpoolAssetManager, hexlify32(MAX_ALLOWANCE));\n await tx.wait();\n }\n }\n\n public getContractCallParameters(context: DepositContext) {\n if (!context || !context.note || !context.address || !context.signature || !context.proof) {\n throw new DarkpoolError('Invalid context');\n }\n\n return {\n proof: context.proof.proof.proof,\n asset: context.note.asset,\n amount: hexlify32(context.note.amount),\n note: hexlify32(context.note.note),\n noteFooter: context.proof.noteFooter\n };\n }\n}\n","import { ethers } from 'ethers';\nimport MerkleAbi from '../abis/MerkleTreeOperator.json';\nimport { DarkPool } from '../darkpool';\nimport { hexlify32 } from '../utils/util';\n\nexport interface MerklePath {\n noteCommitment: bigint;\n path: string[];\n index: number[];\n root: string;\n}\n\nfunction getContract(address: string, darkPool: DarkPool) {\n const provider = darkPool.provider;\n return new ethers.Contract(address, MerkleAbi.abi, provider);\n}\n\nexport async function getMerklePathAndRoot(note: bigint, darkPool: DarkPool) {\n const contract = getContract(darkPool.contracts.merkleTreeOperator, darkPool);\n const [path, index, root] = await contract.getMerklePath(hexlify32(note));\n return { path, index: index.map((x: boolean) => (x ? 1 : 0)), root };\n}\n\nexport async function multiGetMerklePathAndRoot(notes: bigint[], darkPool: DarkPool): Promise<MerklePath[]> {\n const contract = getContract(darkPool.contracts.merkleTreeOperator, darkPool);\n\n const blockNumber = await darkPool.provider.getBlockNumber();\n\n const [root, ...results] = await Promise.all([\n contract.getMerkleRoot({ blockTag: blockNumber }),\n ...notes.map(note => contract.getMerklePath(hexlify32(note), { blockTag: blockNumber }))\n ]);\n\n return results.map(([path, index, _], i) => ({\n noteCommitment: notes[i],\n path,\n index: index.map((x: boolean) => (x ? 1 : 0)),\n root\n }));\n}\n","import {\n Note,\n PartialNote,\n WithdrawProofResult,\n generateWithdrawProof\n} from '@thesingularitynetwork/darkpool-v1-proof-lite';\nimport { Action, relayerPathConfig } from '../../config/config';\nimport { WithdrawRelayerRequest } from '../../entities/relayerRequestTypes';\nimport { hexlify32 } from '../../utils/util';\nimport { BaseRelayerContext, BaseRelayerResult, BaseRelayerService } from '../BaseService';\nimport { getMerklePathAndRoot } from '../merkletree';\nimport { Relayer } from '../../entities/relayer';\nimport { DarkpoolError } from '../../entities';\nimport { DarkPool } from '../../darkpool';\n\nclass WithdrawContext extends BaseRelayerContext {\n private _note?: Note;\n private _recipient?: string;\n private _proof?: WithdrawProofResult;\n\n constructor(relayer: Relayer, signature: string) {\n super(relayer, signature);\n }\n\n set note(note: Note | undefined) {\n this._note = note;\n }\n\n get note(): Note | undefined {\n return this._note;\n }\n\n set recipient(recipient: string | undefined) {\n this._recipient = recipient;\n }\n\n get recipient(): string | undefined {\n return this._recipient;\n }\n\n set proof(proof: WithdrawProofResult | undefined) {\n this._proof = proof;\n }\n\n get proof(): WithdrawProofResult | undefined {\n return this._proof;\n }\n}\n\nexport class WithdrawService extends BaseRelayerService<WithdrawContext, WithdrawRelayerRequest, BaseRelayerResult> {\n constructor(_darkPool: DarkPool) {\n super(_darkPool);\n }\n\n public async prepare(\n note: Note,\n recipient: string,\n signature: string\n ): Promise<{ context: WithdrawContext; outPartialNotes: PartialNote[] }> {\n const context = new WithdrawContext(this._darkPool.getRelayer(), signature);\n context.note = note;\n context.recipient = recipient;\n return { context, outPartialNotes: [] };\n }\n\n public async generateProof(context: WithdrawContext): Promise<void> {\n if (!context || !context.note || !context.recipient || !context.signature) {\n throw new DarkpoolError('Invalid context');\n }\n\n const path = await getMerklePathAndRoot(context.note.note, this._darkPool);\n context.merkleRoot = path.root;\n\n const proof = await generateWithdrawProof({\n note: context.note,\n address: context.recipient,\n merkleRoot: path.root,\n merklePath: path.path,\n merkleIndex: path.index,\n relayer: context.relayer.relayerAddress,\n signedMessage: context.signature,\n options: this._darkPool.proofOptions\n });\n context.proof = proof;\n }\n\n public async getRelayerRequest(context: WithdrawContext): Promise<WithdrawRelayerRequest> {\n if (\n !context ||\n !context.note ||\n !context.signature ||\n !context.merkleRoot ||\n !context.recipient ||\n !context.proof\n ) {\n throw new DarkpoolError('Invalid context');\n }\n\n const withdrawRelayerRequest: WithdrawRelayerRequest = {\n proof: context.proof.proof.proof,\n asset: context.note.asset,\n merkleRoot: context.merkleRoot,\n nullifier: context.proof.nullifier,\n recipient: context.recipient,\n relayer: context.relayer.relayerAddress,\n amount: hexlify32(context.note.amount),\n refund: hexlify32(0n),\n verifierArgs: context.proof.proof.verifyInputs\n };\n\n return withdrawRelayerRequest;\n }\n\n public getRelayerPath(): string {\n return relayerPathConfig[Action.WITHDRAW];\n }\n\n //eslint-disable-next-line @typescript-eslint/no-unused-vars\n public async postExecute(context: WithdrawContext): Promise<BaseRelayerResult> {\n console.log(context.tx);\n return { txHash: context.tx! };\n }\n\n public getRelayerContractCallParameters(context: WithdrawContext) {\n if (!context || !context.note || !context.recipient || !context.signature || !context.proof) {\n throw new DarkpoolError('Invalid context');\n }\n\n return {\n proof: context.proof.proof.proof,\n asset: context.note.asset,\n merkleRoot: context.merkleRoot,\n nullifier: context.proof.nullifier,\n recipient: context.recipient,\n relayer: context.relayer.relayerAddress,\n amount: hexlify32(context.note.amount)\n };\n }\n}\n","import { calcNullifier, getNullifier, Note, validateNote } from '@thesingularitynetwork/darkpool-v1-proof-lite';\nimport { DarkPool } from '../darkpool';\nimport { hexlify32 } from '../utils/util';\nimport { ethers } from 'ethers';\nimport MerkleAbi from '../abis/MerkleTreeOperator.json';\nimport { NoteOnChainStatus } from '../entities';\n\nfunction getContract(address: string, darkPool: DarkPool) {\n const provider = darkPool.provider;\n return new ethers.Contract(address, MerkleAbi.abi, provider);\n}\n\nasync function getNoteOnChainStatus(darkPool: DarkPool, note: string, nullifier: string) {\n const contract = getContract(darkPool.contracts.merkleTreeOperator, darkPool);\n const isCreated = (await contract.noteCommitmentsCreated(note)) as boolean;\n if (!isCreated) {\n return NoteOnChainStatus.UNKNOWN;\n }\n const isSpent = (await contract.nullifiersUsed(nullifier)) as boolean;\n if (isSpent) {\n return NoteOnChainStatus.SPENT;\n }\n const isLocked = (await contract.nullifiersLocked(nullifier)) as boolean;\n if (isLocked) {\n return NoteOnChainStatus.LOCKED;\n }\n return NoteOnChainStatus.ACTIVE;\n}\n\nexport async function getNoteOnChainStatusByPublicKey(\n darkPool: DarkPool,\n note: Note,\n publicKey: any\n): Promise<NoteOnChainStatus> {\n const nullifier = calcNullifier(note.rho, publicKey);\n const onChainStatus = await getNoteOnChainStatus(darkPool, hexlify32(note.note), hexlify32(nullifier));\n return onChainStatus;\n}\n\nexport async function getNoteOnChainStatusBySignature(\n darkPool: DarkPool,\n note: Note,\n signature: string\n): Promise<NoteOnChainStatus> {\n const nullifier = await getNullifier({\n rho: note.rho,\n signedMessage: signature\n });\n const onChainStatus = await getNoteOnChainStatus(darkPool, hexlify32(note.note), nullifier);\n return onChainStatus;\n}\n\nexport async function isNoteActive(darkPool: DarkPool, note: Note, signature: string): Promise<boolean> {\n const nullifier = await getNullifier({\n rho: note.rho,\n signedMessage: signature\n });\n const onChainStatus = await getNoteOnChainStatus(darkPool, hexlify32(note.note), nullifier);\n return onChainStatus === NoteOnChainStatus.ACTIVE;\n}\n\nexport async function isNoteSpent(darkPool: DarkPool, note: Note, signature: string) {\n const nullifier = await getNullifier({\n rho: note.rho,\n signedMessage: signature\n });\n const onChainStatus = await getNoteOnChainStatus(darkPool, hexlify32(note.note), nullifier);\n return onChainStatus === NoteOnChainStatus.SPENT;\n}\n\nexport async function isNoteLocked(darkPool: DarkPool, note: Note, signature: string) {\n const nullifier = await getNullifier({\n rho: note.rho,\n signedMessage: signature\n });\n const onChainStatus = await getNoteOnChainStatus(darkPool, hexlify32(note.note), nullifier);\n return onChainStatus === NoteOnChainStatus.LOCKED;\n}\n\nexport async function isNoteValid(note: Note, signature: string) {\n return await validateNote(note, signature);\n}\n\nexport async function isNftNoteValid(note: Note, signature: string) {\n return await validateNote(note, signature);\n}\n","import { ChainId } from './chain';\n\nexport type ContractConfiguartion = {\n priceOracle: string;\n ethAddress: string;\n nativeWrapper: string;\n complianceManager: string;\n merkleTreeOperator: string;\n darkpoolAssetManager: string;\n transferAssetManager: string;\n otcSwapAssetManager: string;\n stakingOperator: string;\n stakingAssetManager: string;\n drakpoolSubgraphUrl: string;\n batchJoinSplitAssetManager: string;\n darkpoolSwapAssetManager: string;\n nftAssetManager: string;\n theDeepAssetManager?: string;\n uniswapConfig?: {\n swapRouterAddress: string;\n quoterContractAddress: string;\n wrappedNativeTokenAddress: string;\n v3PosNftAddress: string;\n factoryAddress: string;\n subgraphUrl: string;\n };\n sablierConfig?: {\n aliasPrefixLinear: string;\n aliasPrefixDynamic: string;\n lockupLinear: string;\n lockupDynamic: string;\n sablierDynamicAssetManager: string;\n sablierLinearAssetManager: string;\n };\n};\n\nexport const contractConfig: { [chainId: number]: ContractConfiguartion } = {\n [ChainId.MAINNET]: {\n priceOracle: '0x0AdDd25a91563696D8567Df78D5A01C9a991F9B8',\n ethAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n nativeWrapper: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n complianceManager: '0x630aD89523a18fA30F752297F3F53B7BC363488b',\n merkleTreeOperator: '0x152f1051c8D37Fba9A362Fc9b32a0eeF8496202F',\n darkpoolAssetManager: '0x159F3668c72BBeCdF1fb31beeD606Ec9649654eB',\n transferAssetManager: '0x0', //FIXME\n otcSwapAssetManager: '0xB8096ecD7d3185b24AA218C509175185C11f13a9',\n stakingOperator: '0x539bcbc08F2cA42E50887dA4Db0DC34EbF0B090b',\n stakingAssetManager: '0x1Fa7Cb4925086128f3bb9e26761C9C75dbAC3CD1',\n batchJoinSplitAssetManager: '0x1346b13Ff3Bd19d882E2491cBdAb2DbFc59982E3',\n darkpoolSwapAssetManager: '0x0', //FIXME\n nftAssetManager: '0xbB0679f6831Ee3736AE53D8fcECB9c0e684615d0',\n drakpoolSubgraphUrl:\n 'https://subgraph.satsuma-prod.com/1c6a44a9ed6e/pgs-team--611591/singularity-subgraph/version/v0.0.1/api',\n uniswapConfig: {\n swapRouterAddress: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',\n quoterContractAddress: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',\n wrappedNativeTokenAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n v3PosNftAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',\n factoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',\n subgraphUrl: 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3?source=uniswap'\n }\n },\n [ChainId.ARBITRUM_ONE]: {\n priceOracle: '0x0AdDd25a91563696D8567Df78D5A01C9a991F9B8',\n ethAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n nativeWrapper: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',\n stakingOperator: '0xF4f1D4F28Be82D81135c13D255452B8325B585B0',\n stakingAssetManager: '0xB1CC5D9227323330E8a58e891c123B38D03f0BAA',\n complianceManager: '0x23A37b553c46f4864537Ab1e8d1e49804b47A5A7',\n merkleTreeOperator: '0x0e2aCb73EBB02bd4099d495bcb96F7522F84ddb7',\n darkpoolAssetManager: '0xf7C40b5057a1D1a3d58B02BCdb125E63ef380564',\n transferAssetManager: '0x0', //FIXME\n otcSwapAssetManager: '0xcbFA6BB3eb4Bd9BF97866baE75FfB62f3aE897c0',\n batchJoinSplitAssetManager: '0xd39EA1e275ee468f977f93134a564aF76696E0fE',\n darkpoolSwapAssetManager: '0x0', //FIXME\n nftAssetManager: '0x143242Ff430620a3FA3f9fEaB576050fb20C63BB',\n\n drakpoolSubgraphUrl: 'https://subgraph.satsuma-prod.com/1c6a44a9ed6e/pgs-team--611591/singularity-arb-subgraph/api'\n },\n [ChainId.BounceBit]: {\n priceOracle: '0x0',\n ethAddress: '0x0000000000000000000000000000000000000000',\n nativeWrapper: '0xF4c20e5004C6FDCDdA920bDD491ba8C98a9c5863',\n stakingOperator: '0x4d459dDe25707CA353De15CC3B85b7C2e4bb380c',\n stakingAssetManager: '0xe6B0a94e1eA206B122a11a30dA7FB9ADaA12ef42',\n complianceManager: '0x1Fe002A6E413C70D5CB8477cDaA0422fc7611fCc',\n merkleTreeOperator: '0x159F3668c72BBeCdF1fb31beeD606Ec9649654eB',\n darkpoolAssetManager: '0x722133fBb559E2849e3402De3279Bd3059b7fe4E',\n transferAssetManager: '0x0', //FIXME\n otcSwapAssetManager: '0xAa5e02284d1Fd0f6C12AFBDABc28Ed5aC5a6474b',\n batchJoinSplitAssetManager: '0x0', //FIXME\n darkpoolSwapAssetManager: '0x0', //FIXME\n nftAssetManager: '0x0', //FIXME\n drakpoolSubgraphUrl: 'https://bb.subgraph.thesingularity.network/subgraphs/name/singularity/'\n },\n [ChainId.BASE]: {\n priceOracle: '0xf224a25453D76A41c4427DD1C05369BC9f498444',\n ethAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n nativeWrapper: '0x4200000000000000000000000000000000000006',\n complianceManager: '0xFa368E046B4051582662f7d1C033756dB55058cF',\n merkleTreeOperator: '0xdcd767f6f877B4Ef85d631f23e51ff3a2BCC9378',\n darkpoolAssetManager: '0x84eb120A35802460484015e6748375369e40468a',\n transferAssetManager: '0x0', //FIXME\n stakingOperator: '0xfdA33b941E6C014bD079C6917b815EFA58976f37',\n stakingAssetManager: '0xa3d27E1Ca5057372478011FB781479B8A1fF7AA3',\n otcSwapAssetManager: '0x3D76Fd85FCc2593970d22Aa34bcC4c5444c57c9D',\n batchJoinSplitAssetManager: '0x7b497A97EC69621019fc7eC3D5EF06859AfEBaf1',\n darkpoolSwapAssetManager: '0x0', //FIXME\n nftAssetManager: '0xC4e979C922E93938dBaBb6e1623a19cbc6132489',\n drakpoolSubgraphUrl: 'https://subgraph.satsuma-prod.com/1c6a44a9ed6e/pgs-team--611591/singularity-base-subgraph/api'\n },\n [ChainId.SEPOLIA]: {\n priceOracle: '0x4Fe44a9aC8Ef059Be2dB97f9e3bcA32Ab698C2f2',\n ethAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n nativeWrapper: '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',\n stakingOperator: '0xca7081e8C689C2BA887cEaCcfCB1961716CF5fc9',\n stakingAssetManager: '0x5041cad705244626E8BB9bd6D828b94EEAB09D8b',\n complianceManager: '0x08DD9cEf89923EDa02F56a4d4aB3FC4a96531443',\n merkleTreeOperator: '0x84026d6f3b6A4cEa7AD00Cd5154a8537129B3742',\n darkpoolAssetManager: '0xa10d309818527C8D8F5164f9D640515d6616bFeE',\n transferAssetManager: '0x0',\n otcSwapAssetManager: '0x549f3bAD265A0383394E0ABEC7b67b4ff750d2ca',\n batchJoinSplitAssetManager: '0x31816E27809fdc3cF73539d761133a301beEb9B0',\n darkpoolSwapAssetManager: '0x802ae625C2bdac1873B8bbb709679CC401F57abc',\n nftAssetManager: '0x0', //FIXME\n drakpoolSubgraphUrl: ''\n },\n [ChainId.BounceBitTestnet]: {\n priceOracle: '0x0',\n ethAddress: '0x0000000000000000000000000000000000000000',\n nativeWrapper: '0x0',\n stakingOperator: '0xEF8F70bB29DEAd5CEcaE26C6Cb19B987475B3e48',\n stakingAssetManager: '0x30cAA40e8D8d00fEAFc05732Ed75856f5eC7F89c',\n complianceManager: '0x1Fa7Cb4925086128f3bb9e26761C9C75dbAC3CD1',\n merkleTreeOperator: '0x40FecD96e94c3c2eE0Fb8bE5cE7073Bb3fB46F51',\n darkpoolAssetManager: '0xf21f124F395271e8435A93063AE2AD74829D7b69',\n transferAssetManager: '0x0',\n otcSwapAssetManager: '0x0',\n batchJoinSplitAssetManager: '0x0', //FIXME\n darkpoolSwapAssetManager: '0x0', //FIXME\n nftAssetManager: '0x0', //FIXME\n drakpoolSubgraphUrl: ''\n },\n [ChainId.HARDHAT]: {\n priceOracle: '0x0AdDd25a91563696D8567Df78D5A01C9a991F9B8',\n ethAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n nativeWrapper: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n merkleTreeOperator: '0xCC5Bc84C3FDbcF262AaDD9F76652D6784293dD9e',\n complianceManager: '0x987Aa6E80e995d6A76C4d061eE324fc760Ea9F61',\n darkpoolAssetManager: '0xe24e7570Fe7207AdAaAa8c6c89a59850391B5276',\n transferAssetManager: '0x0', //FIXME\n otcSwapAssetManager: '0x26Df0Ea798971A97Ae121514B32999DfDb220e1f',\n stakingOperator: '0x6B9C4119796C80Ced5a3884027985Fd31830555b',\n stakingAssetManager: '0xCd9BC6cE45194398d12e27e1333D5e1d783104dD',\n batchJoinSplitAssetManager: '0x0', //FIXME\n darkpoolSwapAssetManager: '0x0', //FIXME\n theDeepAssetManager: '0x0', //FIXME\n nftAssetManager: '0x886a2A3ABF5B79AA5dFF1C73016BD07CFc817e04',\n drakpoolSubgraphUrl: 'https://34.142.142.240:8080/subgraphs/name/singularity/',\n uniswapConfig: {\n swapRouterAddress: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',\n quoterContractAddress: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',\n wrappedNativeTokenAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n v3PosNftAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',\n factoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',\n subgraphUrl: 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3?source=uniswap'\n },\n sablierConfig: {\n aliasPrefixLinear: 'LL2',\n aliasPrefixDynamic: 'LD2',\n lockupLinear: '0xAFb979d9afAd1aD27C5eFf4E27226E3AB9e5dCC9',\n lockupDynamic: '0x7CC7e125d83A581ff438608490Cc0f7bDff79127',\n sablierDynamicAssetManager: '0x453439300B6C5C645737324b990f2d51137027bC',\n sablierLinearAssetManager: '0xB90AcF57C3BFE8e0E8215defc282B5F48b3edC74'\n }\n }\n};\n","import { Token } from '../entities';\nimport { ChainId } from './chain';\n\nexport type StakingConfig = {\n originalToken: Token;\n stakingToken: Token;\n};\n\nexport const stakingTokenConfig: { [chainId: number]: StakingConfig[] } = {\n [ChainId.MAINNET]: [\n {\n originalToken: {\n address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n decimals: 18,\n symbol: 'ETH',\n name: 'Ethereum'\n },\n stakingToken: {\n address: '0x1Df4fAe6CC88A19825dA7dCF8Fcac8E44BA14D2C',\n decimals: 18,\n symbol: 'sgETH',\n name: 'sgETH'\n }\n },\n {\n originalToken: {\n address: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84',\n decimals: 18,\n symbol: 'stETH',\n name: 'Lido Staked Ether'\n },\n stakingToken: {\n address: '0xe397804A9Ff78329997A2b07aF91D484f78e77Be',\n decimals: 18,\n symbol: 'sgSTETH',\n name: 'sgSTETH'\n }\n },\n {\n originalToken: {\n address: '0xae78736cd615f374d3085123a210448e74fc6393',\n decimals: 18,\n symbol: 'rETH',\n name: 'Rocket Pool ETH'\n },\n stakingToken: {\n address: '0xA8B78eFF928c30e43A60d8920d1549177652045d',\n decimals: 18,\n symbol: 'sgRETH',\n name: 'sgRETH'\n }\n },\n {\n originalToken: {\n address: '0xdac17f958d2ee523a2206206994597c13d831ec7',\n decimals: 6,\n symbol: 'USDT',\n name: 'Tether USD'\n },\n stakingToken: {\n address: '0x91605474f1774f3C1401291A265fa8A995effeb2',\n decimals: 6,\n symbol: 'sgUSDT',\n name: 'sgUSDT'\n }\n },\n {\n originalToken: {\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: 6,\n symbol: 'USDC',\n name: 'USD Coin'\n },\n stakingToken: {\n address: '0x0692623f022a622b9CB33ffBEe6c14c8abebf4cc',\n decimals: 6,\n symbol: 'sgUSDC',\n name: 'sgUSDC'\n }\n }\n ],\n [ChainId.ARBITRUM_ONE]: [\n {\n originalToken: {\n address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n decimals: 18,\n symbol: 'ETH',\n name: 'Ethereum'\n },\n stakingToken: {\n address: '0xB2393C436a29edc40BA90b9944edB84466565E0c',\n decimals: 18,\n symbol: 'sgETH',\n name: 'sgETH'\n }\n },\n {\n originalToken: {\n address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',\n decimals: 6,\n symbol: 'USDT',\n name: 'Tether USD'\n },\n stakingToken: {\n address: '0xAB5a3Ab2ef9a03de376CAce74c901a0fccD2A06d',\n decimals: 6,\n symbol: 'sgUSDT',\n name: 'sgUSDT'\n }\n },\n {\n originalToken: {\n address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',\n decimals: 6,\n symbol: 'USDC',\n name: 'USD Coin'\n },\n stakingToken: {\n address: '0xFB6C93eF0B515d041b0DcDF427657E41DDDB8Da8',\n decimals: 6,\n symbol: 'sgUSDC',\n name: 'sgUSDC'\n }\n }\n ],\n [ChainId.BASE]: [],\n [ChainId.SEPOLIA]: [\n {\n originalToken: {\n address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n decimals: 18,\n symbol: 'ETH',\n name: 'Ethereum'\n },\n stakingToken: {\n address: '0x56fBD5d5C3e9D5f9Ae916F113232d52e6E377E71',\n decimals: 18,\n symbol: 'sgETH',\n name: 'sgETH'\n }\n }\n ],\n [ChainId.BounceBit]: [\n {\n originalToken: {\n address: '0x0000000000000000000000000000000000000000',\n decimals: 18,\n symbol: 'BB',\n name: 'BB'\n },\n stakingToken: {\n address: '0x5D873095152b921222241c0Cbd82d83b47bB31D3',\n decimals: 18,\n symbol: 'sgBB',\n name: 'sgBB'\n }\n },\n {\n originalToken: {\n address: '0xF5e11df1ebCf78b6b6D26E04FF19cD786a1e81dC',\n decimals: 18,\n symbol: 'BBTC',\n name: 'BBTC'\n },\n stakingToken: {\n address: '0x578A43b97a9c46b13B153Df6AA05393b78E241Ee',\n decimals: 18,\n symbol: 'sgBBTC',\n name: 'sgBBTC'\n }\n },\n {\n originalToken: {\n address: '0x77776b40C3d75cb07ce54dEA4b2Fd1D07F865222',\n decimals: 18,\n symbol: 'BBUSD',\n name: 'BBUSD'\n },\n stakingToken: {\n address: '0x9af2DDB1E3A30442f590f659e13a243Da15C86A0',\n decimals: 18,\n symbol: 'sgBBUSDC',\n name: 'sgBBUSDC'\n }\n },\n {\n originalToken: {\n address: '0x22aAC17E571D6651880d057e310703fF4C7c3483',\n decimals: 18,\n symbol: 'stBB',\n name: 'stBB'\n },\n stakingToken: {\n address: '0x3dD11E06DAA99AD255C83545d05Ad27602e0907F',\n decimals: 18,\n symbol: 'sgSTBB',\n name: 'sgSTBB'\n }\n }\n ],\n [ChainId.BounceBitTestnet]: [\n {\n originalToken: {\n address: '0x0000000000000000000000000000000000000000',\n decimals: 18,\n symbol: 'BB',\n name: 'BB'\n },\n stakingToken: {\n address: '0x1276801901cBC847077a8e7e27C973894c86157A',\n decimals: 18,\n symbol: 'sgBB',\n name: 'sgBB'\n }\n }\n ],\n [ChainId.HARDHAT]: [\n {\n originalToken: {\n address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',\n decimals: 18,\n symbol: 'ETH',\n name: 'Ethereum'\n },\n stakingToken: {\n address: '0x5fe2f174fe51474Cd198939C96e7dB65983EA307',\n decimals: 18,\n symbol: 'sgETH',\n name: 'sgETH'\n }\n },\n {\n originalToken: {\n address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n decimals: 6,\n symbol: 'USDC',\n name: 'USDC'\n },\n stakingToken: {\n address: '0x8AFB0C54bAE39A5e56b984DF1C4b5702b2abf205',\n decimals: 6,\n symbol: 'sgUSDC',\n name: 'sgUSDC'\n }\n }\n ]\n};\n","import { ethers } from 'ethers';\nimport { ContractConfiguartion, contractConfig } from './config/contractConfig';\nimport { StakingConfig, stakingTokenConfig } from './config/stakingConfig';\nimport { DarkpoolError } from './entities';\nimport { Relayer } from './entities/relayer';\nimport { ProofOptions } from '@thesingularitynetwork/darkpool-v1-proof-lite';\n\nexport class DarkPool {\n signer: ethers.Signer;\n provider: ethers.Provider;\n chainId: number;\n relayers: Relayer[];\n contracts: ContractConfiguartion;\n stakingConfigs: StakingConfig[];\n proofOptions?: ProofOptions;\n\n constructor(\n signer: ethers.Signer,\n chainId: number,\n relayers: Relayer[],\n contracts?: ContractConfiguartion,\n stakingConfigs?: StakingConfig[],\n proofOptions?: ProofOptions\n ) {\n // @ts-ignore\n this.signer = signer;\n // @ts-ignore\n this.provider = signer.provider;\n this.chainId = chainId;\n this.relayers = relayers;\n if (contracts) {\n this.contracts = contracts;\n } else {\n if (contractConfig[chainId]) {\n this.contracts = contractConfig[chainId];\n } else {\n throw new DarkpoolError('There is no default contract configuration for the provided chainId');\n }\n }\n if (stakingConfigs) {\n this.stakingConfigs = stakingConfigs;\n } else {\n if (stakingTokenConfig[chainId]) {\n this.stakingConfigs = stakingTokenConfig[chainId];\n } else {\n this.stakingConfigs = [];\n }\n }\n if (proofOptions) {\n this.proofOptions = proofOptions;\n }\n }\n\n public getRelayer() {\n if (this.relayers.length === 0) {\n throw new DarkpoolError('Relayer is not initialized');\n }\n const index = Math.floor(Math.random() * this.relayers.length);\n return this.relayers[index];\n }\n}\n"],"names":["DarkpoolError","_Error","message","_this","call","name","_inheritsLoose","_wrapNativeSuper","Error","NoteOnChainStatus","NATIVE_ASSETS","isNativeAsset","asset","toLowerCase","isAddressEquals","address1","address2","hexlify32","value","ethers","zeroPadValue","toBeHex","hexlify16","hexlify8","hexlify5","hexlify3","hexlify1","isHexEquals","hex1","hex2","BaseContext","signature","_signature","_createClass","key","get","_merkleRoot","set","merkleRoot","_tx","tx","BaseRelayerContext","_BaseContext","relayer","_relayer","_jobId","jobId","BaseContractService","_darkPool","BaseRelayerService","_proto","prototype","execute","_execute","_asyncToGenerator","_regeneratorRuntime","mark","_callee","context","relayerRequest","response","wrap","_callee$","_context","prev","next","getRelayerRequest","sent","axios","post","hostUrl","getRelayerPath","status","data","id","abrupt","error","stop","_x","apply","arguments","executeAndWaitForResult","_executeAndWaitForResult","_callee2","_yield$this$pollJobSt","txHash","_callee2$","_context2","pollJobStatus","console","log","postExecute","_x2","_pollJobStatus","_callee3","tries","_response$data","_txHash","failedReason","_callee3$","_context3","undefined","Promise","resolve","setTimeout","t0","_x3","transferCodeToNoteFooter","transferCode","chainId","params","trim","split","length","toString","BigInt","validateRecipientCode","code","codePattern","test","ChainId","Action","relayerPathConfig","_relayerPathConfig","WITHDRAW","UNISWAP_SINGLE_SWAP","UNISWAP_LP_DEPOSIT","UNISWAP_LP_WITHDRAW","UNISWAP_LP_COLLECT_FEE","CURVE_LP_DEPOSIT","CURVE_LP_WITHDRAW","CURVE_MULTI_SWAP","DEFI_INFRA","STAKE","REDEEM","AERODROME_SWAP","AERODROME_LP_DEPOSIT","AERODROME_LP_WITHDRAW","ROCKET_POOL_STAKE","ROCKET_POOL_UNSTAKE","SABLIER_CLAIM_STREAM","THE_DEEP_NOTE_DEPOSIT","THE_DEEP_WITHDRAW","legacyTokenConfig","_legacyTokenConfig","MAINNET","HARDHAT","MAX_ALLOWANCE","DepositContext","_note","note","_address","address","_proof","proof","DepositService","_BaseContractService","prepare","_prepare","amount","walletAddress","createNote","outNotes","_x4","generateProof","_generateProof","generateDepositProof","signedMessage","options","proofOptions","_x5","signer","contract","Contract","contracts","darkpoolAssetManager","DarkpoolAssetManagerAbi","abi","allowance","depositERC20","noteFooter","hash","depositETH","_x6","_allowance","_callee4","allowanceContract","isLegacy","_callee4$","_context4","ERC20Abi","getAddress","hasOwnProperty","includes","ERC20_USDT","approve","wait","_x7","getContractCallParameters","getContract","darkPool","provider","MerkleAbi","getMerklePathAndRoot","_getMerklePathAndRoot","_yield$contract$getMe","path","index","root","merkleTreeOperator","getMerklePath","map","x","multiGetMerklePathAndRoot","_multiGetMerklePathAndRoot","notes","blockNumber","_yield$Promise$all","results","getBlockNumber","all","getMerkleRoot","blockTag","concat","slice","_ref","i","noteCommitment","WithdrawContext","_BaseRelayerContext","_recipient","recipient","WithdrawService","_BaseRelayerService","getRelayer","outPartialNotes","generateWithdrawProof","merklePath","merkleIndex","relayerAddress","_getRelayerRequest","withdrawRelayerRequest","nullifier","refund","verifierArgs","verifyInputs","_postExecute","getRelayerContractCallParameters","getNoteOnChainStatus","_getNoteOnChainStatus","isCreated","isSpent","isLocked","noteCommitmentsCreated","UNKNOWN","nullifiersUsed","SPENT","nullifiersLocked","LOCKED","ACTIVE","getNoteOnChainStatusByPublicKey","_getNoteOnChainStatusByPublicKey","publicKey","onChainStatus","calcNullifier","rho","getNoteOnChainStatusBySignature","_x8","_x9","_getNoteOnChainStatusBySignature","getNullifier","isNoteActive","_x10","_x11","_x12","_isNoteActive","isNoteSpent","_x13","_x14","_x15","_isNoteSpent","_callee5","_callee5$","_context5","isNoteLocked","_x16","_x17","_x18","_isNoteLocked","_callee6","_callee6$","_context6","isNoteValid","_x19","_x20","_isNoteValid","_callee7","_callee7$","_context7","validateNote","isNftNoteValid","_x21","_x22","_isNftNoteValid","_callee8","_callee8$","_context8","contractConfig","_contractConfig","priceOracle","ethAddress","nativeWrapper","complianceManager","transferAssetManager","otcSwapAssetManager","stakingOperator","stakingAssetManager","batchJoinSplitAssetManager","darkpoolSwapAssetManager","nftAssetManager","drakpoolSubgraphUrl","uniswapConfig","swapRouterAddress","quoterContractAddress","wrappedNativeTokenAddress","v3PosNftAddress","factoryAddress","subgraphUrl","ARBITRUM_ONE","BounceBit","BASE","SEPOLIA","BounceBitTestnet","theDeepAssetManager","sablierConfig","aliasPrefixLinear","aliasPrefixDynamic","lockupLinear","lockupDynamic","sablierDynamicAssetManager","sablierLinearAssetManager","stakingTokenConfig","_stakingTokenConfig","originalToken","decimals","symbol","stakingToken","DarkPool","relayers","stakingConfigs","Math","floor","random"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -0,0 +1,9 @@
1
+ export declare function isNativeAsset(asset: string): boolean;
2
+ export declare function isAddressEquals(address1: string, address2: string): boolean;
3
+ export declare function hexlify32(value: bigint | number): string;
4
+ export declare function hexlify16(value: bigint | number): string;
5
+ export declare function hexlify8(value: bigint | number): string;
6
+ export declare function hexlify5(value: bigint | number): string;
7
+ export declare function hexlify3(value: bigint | number): string;
8
+ export declare function hexlify1(value: bigint | number): string;
9
+ export declare function isHexEquals(hex1: string, hex2: string): boolean;
package/package.json CHANGED
@@ -1,6 +1,24 @@
1
1
  {
2
2
  "name": "@thesingularitynetwork/singularity-sdk-lite",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "description": "Deposit and withdraw of @thesingularitynetwork/singularity-sdk",
4
+ "version": "0.2.0",
5
+ "license": "MIT",
6
+ "repository": "git+https://github.com/portalgateme/singularity-sdk.git",
7
+ "main": "dist/index.js",
8
+ "module": "dist/singularity-sdk-lite.esm.js",
9
+ "typings": "dist/lite.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "engines": {
14
+ "node": ">=10"
15
+ },
16
+ "dependencies": {
17
+ "@thesingularitynetwork/darkpool-v1-proof-lite": "^0.3.0",
18
+ "axios": "^1.6.8",
19
+ "ethers": "^6.13.4"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ }
24
+ }