@audius/sdk 1.0.16 → 1.0.17
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.
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/index.cjs.js +9 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +9 -6
- package/dist/index.esm.js.map +1 -1
- package/dist/legacy.js +9 -6
- package/dist/legacy.js.map +1 -1
- package/dist/native-libs.js +9 -6
- package/dist/native-libs.js.map +1 -1
- package/dist/services/solana/padBNToUint8Array.d.ts +1 -1
- package/package.json +4 -4
- package/scripts/release.sh +13 -13
- package/src/services/schemaValidator/schemas/trackSchema.json +1 -1
- package/src/services/solana/padBNToUint8Array.ts +1 -1
package/dist/core.js
CHANGED
|
@@ -998,7 +998,7 @@ var requests = /*#__PURE__*/Object.freeze({
|
|
|
998
998
|
/**
|
|
999
999
|
* Converts a BN to a Uint8Array of length 8, in little endian notation.
|
|
1000
1000
|
* Useful for when Rust wants a u64 (8 * 8) represented as a byte array.
|
|
1001
|
-
* Ex: https://github.com/AudiusProject/audius-protocol/blob/
|
|
1001
|
+
* Ex: https://github.com/AudiusProject/audius-protocol/blob/main/solana-programs/reward-manager/program/src/processor.rs#L389
|
|
1002
1002
|
*/
|
|
1003
1003
|
var padBNToUint8Array = function padBNToUint8Array(bn) {
|
|
1004
1004
|
return bn.toArray('le', 8);
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sources":["../src/constants.ts","../src/services/identity/requests.ts","../src/services/discoveryProvider/requests.ts","../src/services/solana/padBNToUint8Array.ts","../src/services/solana/SolanaUtils.ts","../src/services/solana/transactionHandler.ts"],"sourcesContent":["export const AUDIO_DECMIALS = 18\nexport const WAUDIO_DECMIALS = 8\nexport const CURRENT_USER_EXISTS_LOCAL_STORAGE_KEY = '@audius/libs:found-user'\nexport enum AuthHeaders {\n MESSAGE = 'Encoded-Data-Message',\n SIGNATURE = 'Encoded-Data-Signature'\n}\n","import type { AxiosRequestConfig } from 'axios'\n\nexport type TimeFrame = 'day' | 'week' | 'month' | 'year' | 'millennium'\n\ntype QueryParams = {\n id?: number[]\n limit?: number\n offset?: number\n start?: string\n end?: string\n}\n\nexport const getTrackListens = (\n timeFrame: TimeFrame | null = null,\n idsArray: number[] | null = null,\n startTime: string | null = null,\n endTime: string | null = null,\n limit: number | null = null,\n offset: number | null = null\n) => {\n let queryUrl = 'tracks/listens/'\n\n if (timeFrame != null) {\n switch (timeFrame) {\n case 'day':\n case 'week':\n case 'month':\n case 'year':\n case 'millennium':\n break\n default:\n throw new Error('Invalid timeFrame value provided')\n }\n queryUrl += timeFrame\n }\n\n const queryParams: QueryParams = {}\n\n if (idsArray !== null) {\n queryParams.id = idsArray\n }\n\n if (limit !== null) {\n queryParams.limit = limit\n }\n\n if (offset !== null) {\n queryParams.offset = offset\n }\n\n if (startTime != null) {\n queryParams.start = startTime\n }\n\n if (endTime != null) {\n queryParams.end = endTime\n }\n\n const req: AxiosRequestConfig = {\n url: queryUrl,\n method: 'get',\n params: queryParams\n }\n return req\n}\n","/* eslint-disable @typescript-eslint/restrict-plus-operands */\n\nimport type { Nullable } from '../../utils'\n\nexport const getUsers = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<number[]>,\n walletAddress?: Nullable<string>,\n handle?: Nullable<string>,\n minBlockNumber?: Nullable<number>\n) => {\n type QueryParams = {\n limit: number\n offset: number\n handle?: string\n wallet?: string\n min_block_number?: number\n id?: string[]\n }\n\n const queryParams: QueryParams = { limit: limit, offset: offset }\n if (handle) {\n queryParams.handle = handle\n }\n if (walletAddress) {\n queryParams.wallet = walletAddress\n }\n if (minBlockNumber) {\n queryParams.min_block_number = minBlockNumber\n }\n if (idsArray != null) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected integer array of user ids')\n }\n queryParams.id = idsArray as unknown as string[]\n }\n\n const req = { endpoint: 'users', queryParams }\n\n return req\n}\n\nexport const getTracks = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<string[]>,\n targetUserId: Nullable<string>,\n sort: Nullable<boolean>,\n minBlockNumber: Nullable<number>,\n filterDeleted: Nullable<boolean>,\n withUsers = false\n) => {\n type QueryParams = {\n limit: number\n offset: number\n id?: string[]\n min_block_number?: number\n user_id?: string\n sort?: boolean\n filter_deleted?: boolean\n with_users?: boolean\n }\n\n const queryParams: QueryParams = { limit: limit, offset: offset }\n\n if (idsArray) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected array of track ids')\n }\n queryParams.id = idsArray\n }\n if (minBlockNumber) {\n queryParams.min_block_number = minBlockNumber\n }\n if (targetUserId) {\n queryParams.user_id = targetUserId\n }\n if (sort) {\n queryParams.sort = sort\n }\n if (typeof filterDeleted === 'boolean') {\n queryParams.filter_deleted = filterDeleted\n }\n if (withUsers) {\n queryParams.with_users = true\n }\n\n const req = { endpoint: 'tracks', queryParams }\n return req\n}\n\nexport const getTracksByHandleAndSlug = (handle: string, slug: string) => {\n return {\n endpoint: 'v1/tracks',\n method: 'get',\n queryParams: { handle, slug }\n }\n}\n\nexport const getTracksIncludingUnlisted = (\n identifiers: string[],\n withUsers = false\n) => {\n const queryParams: { with_users?: boolean } = {}\n\n if (withUsers) {\n queryParams.with_users = true\n }\n\n const req = {\n endpoint: 'tracks_including_unlisted',\n method: 'post',\n data: {\n tracks: identifiers\n },\n queryParams\n }\n\n return req\n}\n\nexport const getRandomTracks = (\n genre: string,\n limit: number,\n exclusionList: number[],\n time: string\n) => {\n const req = {\n endpoint: 'tracks/random',\n queryParams: {\n genre,\n limit,\n exclusionList,\n time\n }\n }\n return req\n}\n\nexport const getStemsForTrack = (trackId: number) => {\n const req = {\n endpoint: `stems/${trackId}`,\n queryParams: {\n with_users: true\n }\n }\n return req\n}\n\nexport const getRemixesOfTrack = (\n trackId: number,\n limit: number | null = null,\n offset: number | null = null\n) => {\n const req = {\n endpoint: `remixes/${trackId}/children`,\n queryParams: {\n with_users: true,\n limit,\n offset\n }\n }\n return req\n}\n\nexport const getRemixTrackParents = (\n trackId: number,\n limit: number | null = null,\n offset: number | null = null\n) => {\n const req = {\n endpoint: `remixes/${trackId}/parents`,\n queryParams: {\n with_users: true,\n limit,\n offset\n }\n }\n return req\n}\n\nexport const getTrendingTracks = (\n genre: string | null = null,\n timeFrame: string | null = null,\n idsArray: number[] | null = null,\n limit: number | null = null,\n offset: number | null = null,\n withUsers = false\n) => {\n let endpoint = '/trending/'\n\n if (timeFrame != null) {\n switch (timeFrame) {\n case 'day':\n case 'week':\n case 'month':\n case 'year':\n break\n default:\n throw new Error('Invalid timeFrame value provided')\n }\n endpoint += `${endpoint}${timeFrame}`\n }\n\n const req = {\n endpoint,\n method: 'get',\n queryParams: {\n ...(idsArray !== null ? { id: idsArray } : {}),\n ...(limit !== null ? { limit } : {}),\n ...(offset !== null ? { offset } : {}),\n ...(genre !== null ? { genre } : {}),\n ...(withUsers ? { with_users: withUsers } : {})\n }\n }\n return req\n}\n\nexport const getPlaylists = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<number[]> = null,\n targetUserId: Nullable<number> = null,\n withUsers = false\n) => {\n if (idsArray != null) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected integer array of user ids')\n }\n }\n return {\n endpoint: 'playlists',\n queryParams: {\n limit,\n offset,\n ...(idsArray != null ? { playlist_id: idsArray } : {}),\n ...(targetUserId ? { user_id: targetUserId } : {}),\n ...(withUsers ? { with_users: true } : {})\n }\n }\n}\n\nexport const getFullPlaylist = (\n encodedPlaylistId: string,\n encodedUserId: string\n) => {\n return {\n endpoint: 'v1/full/playlists',\n urlParams: '/' + encodedPlaylistId,\n queryParams: {\n user_id: encodedUserId\n }\n }\n}\n\nexport const getSocialFeed = (\n filter: string,\n limit = 100,\n offset = 0,\n withUsers = false,\n tracksOnly = false\n) => {\n return {\n endpoint: 'feed',\n queryParams: {\n filter,\n limit,\n offset,\n with_users: withUsers,\n tracks_only: tracksOnly\n }\n }\n}\n\nexport const getUserRepostFeed = (\n userId: number,\n limit = 100,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'feed',\n urlParams: '/reposts/' + userId,\n queryParams: { limit, offset, with_users: withUsers }\n }\n}\n\nexport const getFollowIntersectionUsers = (\n limit = 100,\n offset = 0,\n followeeUserId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/intersection/follow/' + followeeUserId + '/' + followerUserId,\n queryParams: { limit, offset }\n }\n}\n\nexport const getTrackRepostIntersectionUsers = (\n limit = 100,\n offset = 0,\n repostTrackId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams:\n '/intersection/repost/track/' + repostTrackId + '/' + followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getPlaylistRepostIntersectionUsers = (\n limit = 100,\n offset = 0,\n repostPlaylistId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams:\n '/intersection/repost/playlist/' +\n repostPlaylistId +\n '/' +\n followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getFollowersForUser = (\n limit = 100,\n offset = 0,\n followeeUserId: string\n) => {\n return {\n endpoint: 'users',\n urlParams: '/followers/' + followeeUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getFolloweesForUser = (\n limit = 100,\n offset = 0,\n followerUserId: string\n) => {\n return {\n endpoint: 'users',\n urlParams: '/followees/' + followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getRepostersForTrack = (\n limit = 100,\n offset = 0,\n repostTrackId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/reposts/track/' + repostTrackId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getRepostersForPlaylist = (\n limit = 100,\n offset = 0,\n repostPlaylistId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/reposts/playlist/' + repostPlaylistId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getSaversForTrack = (\n limit = 100,\n offset = 0,\n saveTrackId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/saves/track/' + saveTrackId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getSaversForPlaylist = (\n limit = 100,\n offset = 0,\n savePlaylistId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/saves/playlist/' + savePlaylistId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const searchFull = (\n text: string,\n kind: string,\n limit = 100,\n offset = 0\n) => {\n return {\n endpoint: 'search/full',\n queryParams: { query: text, kind, limit, offset }\n }\n}\n\nexport const searchAutocomplete = (text: string, limit = 100, offset = 0) => {\n return {\n endpoint: 'search/autocomplete',\n queryParams: { query: text, limit: limit, offset: offset }\n }\n}\n\nexport const searchTags = (\n text: string,\n userTagCount = 2,\n kind = 'all',\n limit = 100,\n offset = 0\n) => {\n return {\n endpoint: 'search/tags',\n queryParams: {\n query: text,\n user_tag_count: userTagCount,\n kind,\n limit,\n offset\n }\n }\n}\n\nexport const getSavedPlaylists = (\n limit = 100,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'saves/playlists',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\nexport const getSavedAlbums = (limit = 100, offset = 0, withUsers = false) => {\n return {\n endpoint: 'saves/albums',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\nexport const getSavedTracks = (limit = 100, offset = 0, withUsers = false) => {\n return {\n endpoint: 'saves/tracks',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\n/**\n * Return user collections (saved & uploaded) along w/ users for those collections\n */\nexport const getUserAccount = (wallet: string) => {\n if (wallet === undefined) {\n throw new Error('Expected wallet to get user account')\n }\n return {\n endpoint: 'users/account',\n queryParams: { wallet }\n }\n}\n\n/**\n * @deprecated Migrate to using getTopFullPlaylists\n */\nexport const getTopPlaylists = (\n type: 'playlist' | 'album',\n limit: number,\n mood: string,\n filter: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top/${type}`,\n queryParams: {\n limit,\n mood,\n filter,\n with_users: withUsers\n }\n }\n}\n\nexport type GetTopFullPlaylistsParams = {\n type: 'playlist' | 'album'\n limit?: number\n mood?: string\n filter?: string\n withUsers?: boolean\n}\n\nexport const getTopFullPlaylists = ({\n type,\n limit,\n mood,\n filter,\n withUsers = false\n}: GetTopFullPlaylistsParams) => {\n return {\n endpoint: `/v1/full/playlists/top`,\n queryParams: {\n type,\n limit,\n mood,\n filter,\n with_users: withUsers\n }\n }\n}\n\n/**\n * @deprecated Migrate to using getBestNewReleases\n */\nexport const getTopFolloweeWindowed = (\n type: string,\n window: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top_followee_windowed/${type}/${window}`,\n queryParams: {\n limit,\n with_users: withUsers\n }\n }\n}\n\nexport const getBestNewReleases = (\n window: string,\n limit: string,\n encodedUserId: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/best_new_releases`,\n queryParams: {\n window,\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getMostLovedTracks = (\n encodedUserId: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/most_loved`,\n queryParams: {\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getFeelingLuckyTracks = (\n encodedUserId: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/feeling_lucky`,\n queryParams: {\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getTopFolloweeSaves = (\n type: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top_followee_saves/${type}`,\n queryParams: {\n limit,\n with_users: withUsers\n }\n }\n}\n\nexport const getLatest = (type: string) => {\n return {\n endpoint: `/latest/${type}`\n }\n}\n\nexport const getTopCreatorsByGenres = (\n genres: string[],\n limit = 30,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'users/genre/top',\n queryParams: { genre: genres, limit, offset, with_users: withUsers }\n }\n}\n\nexport const getURSMContentNodes = (ownerWallet: string | null) => {\n return {\n endpoint: 'ursm_content_nodes',\n queryParams: {\n owner_wallet: ownerWallet\n }\n }\n}\n\nexport const getNotifications = (\n minBlockNumber: string,\n trackIds: string[],\n timeout: number\n) => {\n return {\n endpoint: 'notifications',\n queryParams: {\n min_block_number: minBlockNumber,\n track_id: trackIds\n },\n timeout\n }\n}\n\nexport const getSolanaNotifications = (\n minSlotNumber: number,\n timeout: number\n) => {\n return {\n endpoint: 'solana_notifications',\n queryParams: {\n min_slot_number: minSlotNumber\n },\n timeout\n }\n}\n\nexport const getTrackListenMilestones = (timeout: number) => {\n return {\n endpoint: 'track_listen_milestones',\n timeout\n }\n}\n\nexport const getChallengeAttestation = (\n challengeId: string,\n encodedUserId: string,\n specifier: string,\n oracleAddress: string\n) => {\n return {\n endpoint: `/v1/challenges/${challengeId}/attest`,\n queryParams: {\n user_id: encodedUserId,\n specifier,\n oracle: oracleAddress\n }\n }\n}\n\nexport const getCreateSenderAttestation = (senderEthAddress: string) => {\n return {\n endpoint: '/v1/challenges/attest_sender',\n queryParams: {\n sender_eth_address: senderEthAddress\n }\n }\n}\n\nexport const getUndisbursedChallenges = (\n limit: number | null,\n offset: number | null,\n completedBlockNumber: string | null,\n encodedUserId: number | null\n) => {\n return {\n endpoint: '/v1/challenges/undisbursed',\n queryParams: {\n limit,\n offset,\n completed_blocknumber: completedBlockNumber,\n user_id: encodedUserId\n }\n }\n}\n\nexport const verifyToken = (token: string) => {\n return {\n endpoint: '/v1/users/verify_token',\n queryParams: {\n token: token\n }\n }\n}\n\nexport const getUserReplicaSet = (encodedUserId: string) => {\n return {\n endpoint: `/v1/full/users/${encodedUserId}/replica_set`,\n timeout: 5000\n }\n}\n\nexport const getUserListenCountsMonthly = (\n encodedUserId: string,\n startTime: string,\n endTime: string\n) => {\n return {\n endpoint: `/v1/users/${encodedUserId}/listen_counts_monthly`,\n timeout: 10000,\n queryParams: {\n start_time: startTime,\n end_time: endTime\n }\n }\n}\n","import type BN from 'bn.js'\n/**\n * Converts a BN to a Uint8Array of length 8, in little endian notation.\n * Useful for when Rust wants a u64 (8 * 8) represented as a byte array.\n * Ex: https://github.com/AudiusProject/audius-protocol/blob/master/solana-programs/reward-manager/program/src/processor.rs#L389\n */\nexport const padBNToUint8Array = (bn: BN): number[] => bn.toArray('le', 8)\n","import { padBNToUint8Array } from './padBNToUint8Array'\nimport {\n PublicKey,\n PublicKeyInitData,\n TransactionInstruction\n} from '@solana/web3.js'\nimport BN from 'bn.js'\nimport keccak256 from 'keccak256'\nimport secp256k1 from 'secp256k1'\nimport { WAUDIO_DECMIALS } from '../../constants'\n\nexport class SolanaUtils {\n /**\n * Signs arbitrary bytes\n */\n static signBytes(bytes: Buffer, ethPrivateKey: string) {\n const msgHash = keccak256(bytes)\n const ethPrivateKeyArr = Buffer.from(ethPrivateKey, 'hex')\n const signatureObj = secp256k1.ecdsaSign(\n Uint8Array.from(msgHash),\n ethPrivateKeyArr\n )\n const signature = Buffer.from(signatureObj.signature)\n return {\n signature,\n recoveryId: signatureObj.recid\n }\n }\n\n /**\n * Puts an instruction in a serializable form that our relay can understand.\n * Note we are faking the return type for callers to work with it easier\n */\n static prepareInstructionForRelay(instruction: TransactionInstruction) {\n return {\n programId: instruction.programId.toString(),\n data: instruction.data,\n keys: instruction.keys.map(({ isSigner, pubkey, isWritable }) => ({\n pubkey: pubkey.toString(),\n isSigner,\n isWritable\n }))\n }\n }\n\n /**\n * Constructs a transfer ID\n */\n static constructTransferId(challengeId: string, specifier: string) {\n return `${challengeId}:${specifier}`\n }\n\n /**\n * Constructs an attestation from inputs.\n */\n static constructAttestation(\n recipientEthAddress: string,\n tokenAmount: BN,\n transferId: string,\n oracleAddress?: string\n ) {\n const encoder = new TextEncoder()\n const userBytes = SolanaUtils.ethAddressToArray(recipientEthAddress)\n const transferIdBytes = encoder.encode(transferId)\n const amountBytes = padBNToUint8Array(tokenAmount)\n const items = oracleAddress\n ? ([\n userBytes,\n amountBytes,\n transferIdBytes,\n SolanaUtils.ethAddressToArray(oracleAddress)\n ] as const)\n : ([userBytes, amountBytes, transferIdBytes] as const)\n const sep = encoder.encode('_')\n const res = items.slice(1).reduce<Uint8Array>((prev, cur) => {\n return Uint8Array.of(...prev, ...sep, ...cur)\n }, Uint8Array.from(items[0]))\n return res\n }\n\n /**\n * Converts \"UI\" wAudio (i.e. 5) into properly denominated BN representation - (i.e. 5 * 10 ^ 8)\n */\n static uiAudioToBNWaudio(amount: number) {\n return new BN(amount * 10 ** WAUDIO_DECMIALS)\n }\n\n /**\n * Derives a program address from a program ID and pubkey as seed.\n * Optionally takes in seeds.\n * Returns the new pubkey and bump seeds.\n */\n static async findProgramAddressFromPubkey(\n programId: PublicKey,\n pubkey: PublicKey,\n seed?: Uint8Array\n ) {\n const seedsArr = [pubkey.toBytes().slice(0, 32)]\n if (seed) {\n seedsArr.push(seed)\n }\n return await PublicKey.findProgramAddress(seedsArr, programId)\n }\n\n /**\n * Finds a program address, using both seeds, pubkey, and the derived authority.\n * Return [authority, derivedAddress, and bumpSeeds]\n *\n */\n static async findProgramAddressWithAuthority(\n programId: PublicKey,\n address: PublicKey,\n seed: Uint8Array\n ) {\n // Finds the authority account by generating a PDA with the address as a seed\n const [authority] = await SolanaUtils.findProgramAddressFromPubkey(\n programId,\n address\n )\n\n const [derivedAddress, bumpSeed] =\n await SolanaUtils.findProgramAddressFromPubkey(programId, authority, seed)\n return [authority, derivedAddress, bumpSeed] as const\n }\n\n /**\n * Converts an eth address hex represenatation to an array of Uint8s in big endian notation\n * @param ethAddress\n */\n static ethAddressToArray(ethAddress: string) {\n const strippedEthAddress = ethAddress.replace('0x', '')\n // Need to pad the array to length 20 - otherwise, hex eth keys starting with '0' would\n // result in truncated arrays, while eth spec is always 20 bytes\n return Uint8Array.of(...new BN(strippedEthAddress, 'hex').toArray('be', 20))\n }\n\n // Safely create pubkey from nullable val\n static newPublicKeyNullable<T extends PublicKeyInitData | null>(\n val: T\n ): NullablePublicKey<T> {\n return val\n ? (new PublicKey(val) as NullablePublicKey<T>)\n : (null as NullablePublicKey<T>)\n }\n}\n\ntype NullablePublicKey<T> = T extends null ? null : PublicKey\n","import { SolanaUtils } from './SolanaUtils'\nimport {\n Transaction,\n PublicKey,\n Connection,\n Keypair,\n TransactionInstruction\n} from '@solana/web3.js'\nimport type { IdentityService, RelayTransactionData } from '../identity'\nimport type { Logger, Nullable } from '../../utils'\n\ntype HandleTransactionParams = {\n instructions: TransactionInstruction[]\n errorMapping?: Nullable<{ fromErrorCode: (errorCode: number) => string }>\n recentBlockhash?: Nullable<string>\n logger?: Logger\n skipPreflight?: Nullable<boolean>\n feePayerOverride?: Nullable<PublicKey>\n sendBlockhash?: boolean\n signatures?: Nullable<Array<{ publicKey: string; signature: Buffer }>>\n retry?: boolean\n}\n\n/**\n * Handles sending Solana transactions, either directly via `sendAndConfirmTransaction`,\n * or via IdentityService's relay.\n */\nexport class TransactionHandler {\n private readonly connection: Connection\n private readonly useRelay: boolean\n private readonly identityService: IdentityService | null\n private readonly feePayerKeypairs: Keypair[] | null\n private readonly skipPreflight: boolean\n private readonly retryTimeoutMs: number\n private readonly pollingFrequencyMs: number\n private readonly sendingFrequencyMs: number\n\n /**\n * Creates an instance of TransactionHandler.\n */\n constructor({\n connection,\n useRelay,\n identityService = null,\n feePayerKeypairs = null,\n skipPreflight = true,\n retryTimeoutMs = 60000,\n pollingFrequencyMs = 300,\n sendingFrequencyMs = 300\n }: {\n connection: Connection\n useRelay: boolean\n identityService?: IdentityService | null\n feePayerKeypairs?: Keypair[] | null\n skipPreflight?: boolean\n retryTimeoutMs?: number\n pollingFrequencyMs?: number\n sendingFrequencyMs?: number\n }) {\n this.connection = connection\n this.useRelay = useRelay\n this.identityService = identityService\n this.feePayerKeypairs = feePayerKeypairs\n this.skipPreflight = skipPreflight\n this.retryTimeoutMs = retryTimeoutMs\n this.pollingFrequencyMs = pollingFrequencyMs\n this.sendingFrequencyMs = sendingFrequencyMs\n }\n\n /**\n * Primary method to send a Solana transaction.\n */\n async handleTransaction({\n instructions,\n errorMapping = null,\n recentBlockhash = null,\n logger = console,\n skipPreflight = false,\n feePayerOverride = null,\n sendBlockhash = true,\n signatures = null,\n retry = true\n }: HandleTransactionParams) {\n let result: {\n res: string | null\n errorCode: string | number | null\n error: string | null\n } | null = null\n if (this.useRelay) {\n result = await this._relayTransaction(\n instructions,\n recentBlockhash,\n skipPreflight,\n feePayerOverride,\n sendBlockhash,\n signatures,\n retry\n )\n } else {\n result = await this._locallyConfirmTransaction(\n instructions,\n recentBlockhash,\n logger,\n skipPreflight,\n feePayerOverride,\n signatures,\n retry\n )\n }\n if (result.error && result.errorCode !== null && errorMapping) {\n result.errorCode = errorMapping.fromErrorCode(result.errorCode as number)\n }\n return result\n }\n\n async _relayTransaction(\n instructions: TransactionInstruction[],\n recentBlockhash: string | null,\n skipPreflight: boolean | null,\n feePayerOverride: Nullable<PublicKey> = null,\n sendBlockhash: boolean,\n signatures: Array<{ publicKey: string; signature: Buffer }> | null,\n retry: boolean\n ) {\n const relayable = instructions.map(SolanaUtils.prepareInstructionForRelay)\n\n const transactionData: RelayTransactionData = {\n signatures,\n instructions: relayable,\n skipPreflight:\n skipPreflight === null ? this.skipPreflight : skipPreflight,\n feePayerOverride: feePayerOverride ? feePayerOverride.toString() : null,\n retry\n }\n\n if (sendBlockhash || Array.isArray(signatures)) {\n transactionData.recentBlockhash =\n recentBlockhash ??\n (await this.connection.getLatestBlockhash('confirmed')).blockhash\n }\n\n try {\n const response = await this.identityService?.solanaRelay(transactionData)\n return {\n res: response?.transactionSignature ?? null,\n error: null,\n errorCode: null\n }\n } catch (e) {\n let error = null\n if (typeof e === 'object' && e !== null) {\n error = (e as any).response?.data?.error || (e as Error).message\n }\n const errorCode = error ? this._parseSolanaErrorCode(error) : null\n return { res: null, error, errorCode }\n }\n }\n\n async _locallyConfirmTransaction(\n instructions: TransactionInstruction[],\n recentBlockhash: string | null,\n logger: Logger,\n skipPreflight: boolean | null,\n feePayerOverride: Nullable<PublicKey> = null,\n signatures: Array<{ publicKey: string; signature: Buffer }> | null = null,\n retry = true\n ) {\n const feePayerKeypairOverride = (() => {\n if (feePayerOverride && this.feePayerKeypairs) {\n const stringFeePayer = feePayerOverride.toString()\n return this.feePayerKeypairs.find(\n (keypair) => keypair.publicKey.toString() === stringFeePayer\n )\n }\n return null\n })()\n\n const feePayerAccount =\n feePayerKeypairOverride ?? this.feePayerKeypairs?.[0]\n if (!feePayerAccount) {\n logger.error(\n 'transactionHandler: Local feepayer keys missing for direct confirmation!'\n )\n return {\n res: null,\n error: 'Missing keys',\n errorCode: null\n }\n }\n\n // Get blockhash\n\n recentBlockhash =\n recentBlockhash ??\n (await this.connection.getLatestBlockhash('confirmed')).blockhash\n\n // Construct the txn\n\n const tx = new Transaction({ recentBlockhash })\n instructions.forEach((i) => tx.add(i))\n tx.feePayer = feePayerAccount.publicKey\n tx.sign(feePayerAccount)\n\n if (Array.isArray(signatures)) {\n signatures.forEach(({ publicKey, signature }) => {\n tx.addSignature(new PublicKey(publicKey), signature)\n })\n }\n\n const rawTransaction = tx.serialize()\n\n // Send the txn\n\n const sendRawTransaction = async () => {\n return await this.connection.sendRawTransaction(rawTransaction, {\n skipPreflight:\n skipPreflight === null ? this.skipPreflight : skipPreflight,\n preflightCommitment: 'processed',\n maxRetries: retry ? 0 : undefined\n })\n }\n\n let txid\n try {\n txid = await sendRawTransaction()\n } catch (e) {\n // Rarely, this intiial send will fail\n logger.warn(`transactionHandler: Initial send failed: ${e}`)\n let errorCode = null\n let error = null\n if (e instanceof Error) {\n error = e.message\n errorCode = this._parseSolanaErrorCode(error)\n }\n return {\n res: null,\n error,\n errorCode\n }\n }\n\n let done = false\n\n // Start up resubmission loop\n let sendCount = 0\n const startTime = Date.now()\n if (retry) {\n ;(async () => {\n let elapsed = Date.now() - startTime\n // eslint-disable-next-line no-unmodified-loop-condition\n while (!done && elapsed < this.retryTimeoutMs) {\n try {\n sendRawTransaction()\n } catch (e) {\n logger.warn(\n `transactionHandler: error in send loop: ${e} for txId ${txid}`\n )\n }\n sendCount++\n await delay(this.sendingFrequencyMs)\n elapsed = Date.now() - startTime\n }\n })()\n }\n\n // Await for tx confirmation\n try {\n await this._awaitTransactionSignatureConfirmation(txid, logger)\n done = true\n logger.info(\n `transactionHandler: finished for txid ${txid} with ${sendCount} retries`\n )\n return {\n res: txid,\n error: null,\n errorCode: null\n }\n } catch (e) {\n logger.warn(\n `transactionHandler: error in awaitTransactionSignature: ${JSON.stringify(\n e\n )}, ${txid}`\n )\n done = true\n let errorCode = null\n let error = null\n if (e instanceof Error) {\n error = e.message\n errorCode = this._parseSolanaErrorCode(error)\n }\n return {\n res: null,\n error,\n errorCode\n }\n }\n }\n\n async _awaitTransactionSignatureConfirmation(txid: string, logger: Logger) {\n let done = false\n\n const result = await new Promise((resolve, reject) => {\n ;(async () => {\n // Setup timeout if nothing else finishes\n setTimeout(() => {\n if (done) {\n return\n }\n done = true\n const message = `transactionHandler: Timed out in await, ${txid}`\n logger.warn(message)\n reject(new Error(message))\n }, this.retryTimeoutMs)\n\n // Setup WS listener\n try {\n this.connection.onSignature(\n txid,\n (result) => {\n if (done) return\n done = true\n if (result.err) {\n const err = JSON.stringify(result.err)\n logger.warn(\n `transactionHandler: Error in onSignature ${txid}, ${err}`\n )\n reject(new Error(err))\n } else {\n resolve(txid)\n }\n },\n 'processed'\n )\n } catch (e) {\n done = true\n logger.error(`transactionHandler: WS error in setup ${txid}, ${e}`)\n }\n\n // Setup polling\n while (!done) {\n ;(async () => {\n try {\n const signatureStatuses =\n await this.connection.getSignatureStatuses([txid])\n const result = signatureStatuses?.value[0]\n\n // Early return this iteration if already done, or no result\n if (done || !result) return\n\n // End loop if error\n if (result.err) {\n const err = JSON.stringify(result.err)\n logger.error(\n `transactionHandler: polling saw result error: ${err}, tx: ${txid}`\n )\n done = true\n reject(new Error(err))\n return\n }\n\n // Early return if response without confirmation\n if (\n !(\n (result.confirmations !== null &&\n result.confirmations !== 0) ||\n result.confirmationStatus === 'confirmed' ||\n result.confirmationStatus === 'finalized'\n )\n ) {\n return\n }\n // Otherwise, we made it\n done = true\n resolve(txid)\n } catch (e) {\n if (!done) {\n logger.error(\n `transactionHandler: REST polling connection error: ${e}, tx: ${txid}`\n )\n }\n }\n })()\n\n await delay(this.pollingFrequencyMs)\n }\n })()\n })\n done = true\n return result\n }\n\n /**\n * Attempts to parse an error code out of a message of the form:\n * \"... custom program error: 0x1\", where the return in this case would be the number 1.\n * Returns null for unparsable strings.\n */\n _parseSolanaErrorCode(errorMessage: string) {\n if (!errorMessage) return null\n // Match on custom solana program errors\n const matcher = /(?:custom program error: 0x)(.*)$/\n const res = errorMessage.match(matcher)\n if (res && res.length === 2)\n return res[1] ? parseInt(res[1], 16) || null : null\n // Match on custom anchor errors\n const matcher2 = /(?:\"Custom\":)(\\d+)/\n const res2 = errorMessage.match(matcher2)\n if (res2 && res2.length === 2)\n return res2[1] ? parseInt(res2[1], 10) || null : null\n return null\n }\n}\n\nasync function delay(ms: number) {\n return await new Promise((resolve) => setTimeout(resolve, ms))\n}\n"],"names":["AUDIO_DECMIALS","WAUDIO_DECMIALS","CURRENT_USER_EXISTS_LOCAL_STORAGE_KEY","AuthHeaders","getTrackListens","timeFrame","idsArray","startTime","endTime","limit","offset","queryUrl","Error","queryParams","id","start","end","req","url","method","params","getUsers","walletAddress","handle","minBlockNumber","wallet","min_block_number","Array","isArray","endpoint","getTracks","targetUserId","sort","filterDeleted","withUsers","user_id","filter_deleted","with_users","getTracksByHandleAndSlug","slug","getTracksIncludingUnlisted","identifiers","data","tracks","getRandomTracks","genre","exclusionList","time","getStemsForTrack","trackId","getRemixesOfTrack","getRemixTrackParents","getTrendingTracks","_objectSpread","getPlaylists","playlist_id","getFullPlaylist","encodedPlaylistId","encodedUserId","urlParams","getSocialFeed","filter","tracksOnly","tracks_only","getUserRepostFeed","userId","getFollowIntersectionUsers","followeeUserId","followerUserId","getTrackRepostIntersectionUsers","repostTrackId","getPlaylistRepostIntersectionUsers","repostPlaylistId","getFollowersForUser","getFolloweesForUser","getRepostersForTrack","getRepostersForPlaylist","getSaversForTrack","saveTrackId","getSaversForPlaylist","savePlaylistId","searchFull","text","kind","query","searchAutocomplete","searchTags","userTagCount","user_tag_count","getSavedPlaylists","getSavedAlbums","getSavedTracks","getUserAccount","undefined","getTopPlaylists","type","mood","getTopFullPlaylists","getTopFolloweeWindowed","window","getBestNewReleases","getMostLovedTracks","getFeelingLuckyTracks","getTopFolloweeSaves","getLatest","getTopCreatorsByGenres","genres","getURSMContentNodes","ownerWallet","owner_wallet","getNotifications","trackIds","timeout","track_id","getSolanaNotifications","minSlotNumber","min_slot_number","getTrackListenMilestones","getChallengeAttestation","challengeId","specifier","oracleAddress","oracle","getCreateSenderAttestation","senderEthAddress","sender_eth_address","getUndisbursedChallenges","completedBlockNumber","completed_blocknumber","verifyToken","token","getUserReplicaSet","getUserListenCountsMonthly","start_time","end_time","padBNToUint8Array","bn","toArray","SolanaUtils","bytes","ethPrivateKey","msgHash","keccak256","ethPrivateKeyArr","Buffer","from","signatureObj","secp256k1","ecdsaSign","Uint8Array","signature","recoveryId","recid","instruction","programId","toString","keys","map","isSigner","pubkey","isWritable","recipientEthAddress","tokenAmount","transferId","encoder","TextEncoder","userBytes","ethAddressToArray","transferIdBytes","encode","amountBytes","items","sep","res","slice","reduce","prev","cur","of","amount","BN","seed","seedsArr","toBytes","push","PublicKey","findProgramAddress","address","findProgramAddressFromPubkey","authority","derivedAddress","bumpSeed","ethAddress","strippedEthAddress","replace","val","TransactionHandler","connection","useRelay","identityService","feePayerKeypairs","skipPreflight","retryTimeoutMs","pollingFrequencyMs","sendingFrequencyMs","instructions","errorMapping","recentBlockhash","logger","console","feePayerOverride","sendBlockhash","signatures","retry","result","_relayTransaction","_locallyConfirmTransaction","error","errorCode","fromErrorCode","relayable","prepareInstructionForRelay","transactionData","getLatestBlockhash","blockhash","solanaRelay","response","transactionSignature","message","_parseSolanaErrorCode","feePayerKeypairOverride","stringFeePayer","find","keypair","publicKey","feePayerAccount","tx","Transaction","forEach","i","add","feePayer","sign","addSignature","rawTransaction","serialize","sendRawTransaction","preflightCommitment","maxRetries","txid","warn","done","sendCount","Date","now","elapsed","e","delay","_awaitTransactionSignatureConfirmation","info","JSON","stringify","Promise","resolve","reject","setTimeout","onSignature","err","getSignatureStatuses","signatureStatuses","value","confirmations","confirmationStatus","errorMessage","matcher","match","length","parseInt","matcher2","res2","ms"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sources":["../src/constants.ts","../src/services/identity/requests.ts","../src/services/discoveryProvider/requests.ts","../src/services/solana/padBNToUint8Array.ts","../src/services/solana/SolanaUtils.ts","../src/services/solana/transactionHandler.ts"],"sourcesContent":["export const AUDIO_DECMIALS = 18\nexport const WAUDIO_DECMIALS = 8\nexport const CURRENT_USER_EXISTS_LOCAL_STORAGE_KEY = '@audius/libs:found-user'\nexport enum AuthHeaders {\n MESSAGE = 'Encoded-Data-Message',\n SIGNATURE = 'Encoded-Data-Signature'\n}\n","import type { AxiosRequestConfig } from 'axios'\n\nexport type TimeFrame = 'day' | 'week' | 'month' | 'year' | 'millennium'\n\ntype QueryParams = {\n id?: number[]\n limit?: number\n offset?: number\n start?: string\n end?: string\n}\n\nexport const getTrackListens = (\n timeFrame: TimeFrame | null = null,\n idsArray: number[] | null = null,\n startTime: string | null = null,\n endTime: string | null = null,\n limit: number | null = null,\n offset: number | null = null\n) => {\n let queryUrl = 'tracks/listens/'\n\n if (timeFrame != null) {\n switch (timeFrame) {\n case 'day':\n case 'week':\n case 'month':\n case 'year':\n case 'millennium':\n break\n default:\n throw new Error('Invalid timeFrame value provided')\n }\n queryUrl += timeFrame\n }\n\n const queryParams: QueryParams = {}\n\n if (idsArray !== null) {\n queryParams.id = idsArray\n }\n\n if (limit !== null) {\n queryParams.limit = limit\n }\n\n if (offset !== null) {\n queryParams.offset = offset\n }\n\n if (startTime != null) {\n queryParams.start = startTime\n }\n\n if (endTime != null) {\n queryParams.end = endTime\n }\n\n const req: AxiosRequestConfig = {\n url: queryUrl,\n method: 'get',\n params: queryParams\n }\n return req\n}\n","/* eslint-disable @typescript-eslint/restrict-plus-operands */\n\nimport type { Nullable } from '../../utils'\n\nexport const getUsers = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<number[]>,\n walletAddress?: Nullable<string>,\n handle?: Nullable<string>,\n minBlockNumber?: Nullable<number>\n) => {\n type QueryParams = {\n limit: number\n offset: number\n handle?: string\n wallet?: string\n min_block_number?: number\n id?: string[]\n }\n\n const queryParams: QueryParams = { limit: limit, offset: offset }\n if (handle) {\n queryParams.handle = handle\n }\n if (walletAddress) {\n queryParams.wallet = walletAddress\n }\n if (minBlockNumber) {\n queryParams.min_block_number = minBlockNumber\n }\n if (idsArray != null) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected integer array of user ids')\n }\n queryParams.id = idsArray as unknown as string[]\n }\n\n const req = { endpoint: 'users', queryParams }\n\n return req\n}\n\nexport const getTracks = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<string[]>,\n targetUserId: Nullable<string>,\n sort: Nullable<boolean>,\n minBlockNumber: Nullable<number>,\n filterDeleted: Nullable<boolean>,\n withUsers = false\n) => {\n type QueryParams = {\n limit: number\n offset: number\n id?: string[]\n min_block_number?: number\n user_id?: string\n sort?: boolean\n filter_deleted?: boolean\n with_users?: boolean\n }\n\n const queryParams: QueryParams = { limit: limit, offset: offset }\n\n if (idsArray) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected array of track ids')\n }\n queryParams.id = idsArray\n }\n if (minBlockNumber) {\n queryParams.min_block_number = minBlockNumber\n }\n if (targetUserId) {\n queryParams.user_id = targetUserId\n }\n if (sort) {\n queryParams.sort = sort\n }\n if (typeof filterDeleted === 'boolean') {\n queryParams.filter_deleted = filterDeleted\n }\n if (withUsers) {\n queryParams.with_users = true\n }\n\n const req = { endpoint: 'tracks', queryParams }\n return req\n}\n\nexport const getTracksByHandleAndSlug = (handle: string, slug: string) => {\n return {\n endpoint: 'v1/tracks',\n method: 'get',\n queryParams: { handle, slug }\n }\n}\n\nexport const getTracksIncludingUnlisted = (\n identifiers: string[],\n withUsers = false\n) => {\n const queryParams: { with_users?: boolean } = {}\n\n if (withUsers) {\n queryParams.with_users = true\n }\n\n const req = {\n endpoint: 'tracks_including_unlisted',\n method: 'post',\n data: {\n tracks: identifiers\n },\n queryParams\n }\n\n return req\n}\n\nexport const getRandomTracks = (\n genre: string,\n limit: number,\n exclusionList: number[],\n time: string\n) => {\n const req = {\n endpoint: 'tracks/random',\n queryParams: {\n genre,\n limit,\n exclusionList,\n time\n }\n }\n return req\n}\n\nexport const getStemsForTrack = (trackId: number) => {\n const req = {\n endpoint: `stems/${trackId}`,\n queryParams: {\n with_users: true\n }\n }\n return req\n}\n\nexport const getRemixesOfTrack = (\n trackId: number,\n limit: number | null = null,\n offset: number | null = null\n) => {\n const req = {\n endpoint: `remixes/${trackId}/children`,\n queryParams: {\n with_users: true,\n limit,\n offset\n }\n }\n return req\n}\n\nexport const getRemixTrackParents = (\n trackId: number,\n limit: number | null = null,\n offset: number | null = null\n) => {\n const req = {\n endpoint: `remixes/${trackId}/parents`,\n queryParams: {\n with_users: true,\n limit,\n offset\n }\n }\n return req\n}\n\nexport const getTrendingTracks = (\n genre: string | null = null,\n timeFrame: string | null = null,\n idsArray: number[] | null = null,\n limit: number | null = null,\n offset: number | null = null,\n withUsers = false\n) => {\n let endpoint = '/trending/'\n\n if (timeFrame != null) {\n switch (timeFrame) {\n case 'day':\n case 'week':\n case 'month':\n case 'year':\n break\n default:\n throw new Error('Invalid timeFrame value provided')\n }\n endpoint += `${endpoint}${timeFrame}`\n }\n\n const req = {\n endpoint,\n method: 'get',\n queryParams: {\n ...(idsArray !== null ? { id: idsArray } : {}),\n ...(limit !== null ? { limit } : {}),\n ...(offset !== null ? { offset } : {}),\n ...(genre !== null ? { genre } : {}),\n ...(withUsers ? { with_users: withUsers } : {})\n }\n }\n return req\n}\n\nexport const getPlaylists = (\n limit = 100,\n offset = 0,\n idsArray: Nullable<number[]> = null,\n targetUserId: Nullable<number> = null,\n withUsers = false\n) => {\n if (idsArray != null) {\n if (!Array.isArray(idsArray)) {\n throw new Error('Expected integer array of user ids')\n }\n }\n return {\n endpoint: 'playlists',\n queryParams: {\n limit,\n offset,\n ...(idsArray != null ? { playlist_id: idsArray } : {}),\n ...(targetUserId ? { user_id: targetUserId } : {}),\n ...(withUsers ? { with_users: true } : {})\n }\n }\n}\n\nexport const getFullPlaylist = (\n encodedPlaylistId: string,\n encodedUserId: string\n) => {\n return {\n endpoint: 'v1/full/playlists',\n urlParams: '/' + encodedPlaylistId,\n queryParams: {\n user_id: encodedUserId\n }\n }\n}\n\nexport const getSocialFeed = (\n filter: string,\n limit = 100,\n offset = 0,\n withUsers = false,\n tracksOnly = false\n) => {\n return {\n endpoint: 'feed',\n queryParams: {\n filter,\n limit,\n offset,\n with_users: withUsers,\n tracks_only: tracksOnly\n }\n }\n}\n\nexport const getUserRepostFeed = (\n userId: number,\n limit = 100,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'feed',\n urlParams: '/reposts/' + userId,\n queryParams: { limit, offset, with_users: withUsers }\n }\n}\n\nexport const getFollowIntersectionUsers = (\n limit = 100,\n offset = 0,\n followeeUserId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/intersection/follow/' + followeeUserId + '/' + followerUserId,\n queryParams: { limit, offset }\n }\n}\n\nexport const getTrackRepostIntersectionUsers = (\n limit = 100,\n offset = 0,\n repostTrackId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams:\n '/intersection/repost/track/' + repostTrackId + '/' + followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getPlaylistRepostIntersectionUsers = (\n limit = 100,\n offset = 0,\n repostPlaylistId: number,\n followerUserId: number\n) => {\n return {\n endpoint: 'users',\n urlParams:\n '/intersection/repost/playlist/' +\n repostPlaylistId +\n '/' +\n followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getFollowersForUser = (\n limit = 100,\n offset = 0,\n followeeUserId: string\n) => {\n return {\n endpoint: 'users',\n urlParams: '/followers/' + followeeUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getFolloweesForUser = (\n limit = 100,\n offset = 0,\n followerUserId: string\n) => {\n return {\n endpoint: 'users',\n urlParams: '/followees/' + followerUserId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getRepostersForTrack = (\n limit = 100,\n offset = 0,\n repostTrackId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/reposts/track/' + repostTrackId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getRepostersForPlaylist = (\n limit = 100,\n offset = 0,\n repostPlaylistId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/reposts/playlist/' + repostPlaylistId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getSaversForTrack = (\n limit = 100,\n offset = 0,\n saveTrackId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/saves/track/' + saveTrackId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const getSaversForPlaylist = (\n limit = 100,\n offset = 0,\n savePlaylistId: number\n) => {\n return {\n endpoint: 'users',\n urlParams: '/saves/playlist/' + savePlaylistId,\n queryParams: { limit: limit, offset: offset }\n }\n}\n\nexport const searchFull = (\n text: string,\n kind: string,\n limit = 100,\n offset = 0\n) => {\n return {\n endpoint: 'search/full',\n queryParams: { query: text, kind, limit, offset }\n }\n}\n\nexport const searchAutocomplete = (text: string, limit = 100, offset = 0) => {\n return {\n endpoint: 'search/autocomplete',\n queryParams: { query: text, limit: limit, offset: offset }\n }\n}\n\nexport const searchTags = (\n text: string,\n userTagCount = 2,\n kind = 'all',\n limit = 100,\n offset = 0\n) => {\n return {\n endpoint: 'search/tags',\n queryParams: {\n query: text,\n user_tag_count: userTagCount,\n kind,\n limit,\n offset\n }\n }\n}\n\nexport const getSavedPlaylists = (\n limit = 100,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'saves/playlists',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\nexport const getSavedAlbums = (limit = 100, offset = 0, withUsers = false) => {\n return {\n endpoint: 'saves/albums',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\nexport const getSavedTracks = (limit = 100, offset = 0, withUsers = false) => {\n return {\n endpoint: 'saves/tracks',\n queryParams: { limit: limit, offset: offset, with_users: withUsers }\n }\n}\n\n/**\n * Return user collections (saved & uploaded) along w/ users for those collections\n */\nexport const getUserAccount = (wallet: string) => {\n if (wallet === undefined) {\n throw new Error('Expected wallet to get user account')\n }\n return {\n endpoint: 'users/account',\n queryParams: { wallet }\n }\n}\n\n/**\n * @deprecated Migrate to using getTopFullPlaylists\n */\nexport const getTopPlaylists = (\n type: 'playlist' | 'album',\n limit: number,\n mood: string,\n filter: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top/${type}`,\n queryParams: {\n limit,\n mood,\n filter,\n with_users: withUsers\n }\n }\n}\n\nexport type GetTopFullPlaylistsParams = {\n type: 'playlist' | 'album'\n limit?: number\n mood?: string\n filter?: string\n withUsers?: boolean\n}\n\nexport const getTopFullPlaylists = ({\n type,\n limit,\n mood,\n filter,\n withUsers = false\n}: GetTopFullPlaylistsParams) => {\n return {\n endpoint: `/v1/full/playlists/top`,\n queryParams: {\n type,\n limit,\n mood,\n filter,\n with_users: withUsers\n }\n }\n}\n\n/**\n * @deprecated Migrate to using getBestNewReleases\n */\nexport const getTopFolloweeWindowed = (\n type: string,\n window: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top_followee_windowed/${type}/${window}`,\n queryParams: {\n limit,\n with_users: withUsers\n }\n }\n}\n\nexport const getBestNewReleases = (\n window: string,\n limit: string,\n encodedUserId: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/best_new_releases`,\n queryParams: {\n window,\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getMostLovedTracks = (\n encodedUserId: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/most_loved`,\n queryParams: {\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getFeelingLuckyTracks = (\n encodedUserId: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/v1/full/tracks/feeling_lucky`,\n queryParams: {\n limit,\n user_id: encodedUserId,\n with_users: withUsers\n }\n }\n}\n\nexport const getTopFolloweeSaves = (\n type: string,\n limit: string,\n withUsers = false\n) => {\n return {\n endpoint: `/top_followee_saves/${type}`,\n queryParams: {\n limit,\n with_users: withUsers\n }\n }\n}\n\nexport const getLatest = (type: string) => {\n return {\n endpoint: `/latest/${type}`\n }\n}\n\nexport const getTopCreatorsByGenres = (\n genres: string[],\n limit = 30,\n offset = 0,\n withUsers = false\n) => {\n return {\n endpoint: 'users/genre/top',\n queryParams: { genre: genres, limit, offset, with_users: withUsers }\n }\n}\n\nexport const getURSMContentNodes = (ownerWallet: string | null) => {\n return {\n endpoint: 'ursm_content_nodes',\n queryParams: {\n owner_wallet: ownerWallet\n }\n }\n}\n\nexport const getNotifications = (\n minBlockNumber: string,\n trackIds: string[],\n timeout: number\n) => {\n return {\n endpoint: 'notifications',\n queryParams: {\n min_block_number: minBlockNumber,\n track_id: trackIds\n },\n timeout\n }\n}\n\nexport const getSolanaNotifications = (\n minSlotNumber: number,\n timeout: number\n) => {\n return {\n endpoint: 'solana_notifications',\n queryParams: {\n min_slot_number: minSlotNumber\n },\n timeout\n }\n}\n\nexport const getTrackListenMilestones = (timeout: number) => {\n return {\n endpoint: 'track_listen_milestones',\n timeout\n }\n}\n\nexport const getChallengeAttestation = (\n challengeId: string,\n encodedUserId: string,\n specifier: string,\n oracleAddress: string\n) => {\n return {\n endpoint: `/v1/challenges/${challengeId}/attest`,\n queryParams: {\n user_id: encodedUserId,\n specifier,\n oracle: oracleAddress\n }\n }\n}\n\nexport const getCreateSenderAttestation = (senderEthAddress: string) => {\n return {\n endpoint: '/v1/challenges/attest_sender',\n queryParams: {\n sender_eth_address: senderEthAddress\n }\n }\n}\n\nexport const getUndisbursedChallenges = (\n limit: number | null,\n offset: number | null,\n completedBlockNumber: string | null,\n encodedUserId: number | null\n) => {\n return {\n endpoint: '/v1/challenges/undisbursed',\n queryParams: {\n limit,\n offset,\n completed_blocknumber: completedBlockNumber,\n user_id: encodedUserId\n }\n }\n}\n\nexport const verifyToken = (token: string) => {\n return {\n endpoint: '/v1/users/verify_token',\n queryParams: {\n token: token\n }\n }\n}\n\nexport const getUserReplicaSet = (encodedUserId: string) => {\n return {\n endpoint: `/v1/full/users/${encodedUserId}/replica_set`,\n timeout: 5000\n }\n}\n\nexport const getUserListenCountsMonthly = (\n encodedUserId: string,\n startTime: string,\n endTime: string\n) => {\n return {\n endpoint: `/v1/users/${encodedUserId}/listen_counts_monthly`,\n timeout: 10000,\n queryParams: {\n start_time: startTime,\n end_time: endTime\n }\n }\n}\n","import type BN from 'bn.js'\n/**\n * Converts a BN to a Uint8Array of length 8, in little endian notation.\n * Useful for when Rust wants a u64 (8 * 8) represented as a byte array.\n * Ex: https://github.com/AudiusProject/audius-protocol/blob/main/solana-programs/reward-manager/program/src/processor.rs#L389\n */\nexport const padBNToUint8Array = (bn: BN): number[] => bn.toArray('le', 8)\n","import { padBNToUint8Array } from './padBNToUint8Array'\nimport {\n PublicKey,\n PublicKeyInitData,\n TransactionInstruction\n} from '@solana/web3.js'\nimport BN from 'bn.js'\nimport keccak256 from 'keccak256'\nimport secp256k1 from 'secp256k1'\nimport { WAUDIO_DECMIALS } from '../../constants'\n\nexport class SolanaUtils {\n /**\n * Signs arbitrary bytes\n */\n static signBytes(bytes: Buffer, ethPrivateKey: string) {\n const msgHash = keccak256(bytes)\n const ethPrivateKeyArr = Buffer.from(ethPrivateKey, 'hex')\n const signatureObj = secp256k1.ecdsaSign(\n Uint8Array.from(msgHash),\n ethPrivateKeyArr\n )\n const signature = Buffer.from(signatureObj.signature)\n return {\n signature,\n recoveryId: signatureObj.recid\n }\n }\n\n /**\n * Puts an instruction in a serializable form that our relay can understand.\n * Note we are faking the return type for callers to work with it easier\n */\n static prepareInstructionForRelay(instruction: TransactionInstruction) {\n return {\n programId: instruction.programId.toString(),\n data: instruction.data,\n keys: instruction.keys.map(({ isSigner, pubkey, isWritable }) => ({\n pubkey: pubkey.toString(),\n isSigner,\n isWritable\n }))\n }\n }\n\n /**\n * Constructs a transfer ID\n */\n static constructTransferId(challengeId: string, specifier: string) {\n return `${challengeId}:${specifier}`\n }\n\n /**\n * Constructs an attestation from inputs.\n */\n static constructAttestation(\n recipientEthAddress: string,\n tokenAmount: BN,\n transferId: string,\n oracleAddress?: string\n ) {\n const encoder = new TextEncoder()\n const userBytes = SolanaUtils.ethAddressToArray(recipientEthAddress)\n const transferIdBytes = encoder.encode(transferId)\n const amountBytes = padBNToUint8Array(tokenAmount)\n const items = oracleAddress\n ? ([\n userBytes,\n amountBytes,\n transferIdBytes,\n SolanaUtils.ethAddressToArray(oracleAddress)\n ] as const)\n : ([userBytes, amountBytes, transferIdBytes] as const)\n const sep = encoder.encode('_')\n const res = items.slice(1).reduce<Uint8Array>((prev, cur) => {\n return Uint8Array.of(...prev, ...sep, ...cur)\n }, Uint8Array.from(items[0]))\n return res\n }\n\n /**\n * Converts \"UI\" wAudio (i.e. 5) into properly denominated BN representation - (i.e. 5 * 10 ^ 8)\n */\n static uiAudioToBNWaudio(amount: number) {\n return new BN(amount * 10 ** WAUDIO_DECMIALS)\n }\n\n /**\n * Derives a program address from a program ID and pubkey as seed.\n * Optionally takes in seeds.\n * Returns the new pubkey and bump seeds.\n */\n static async findProgramAddressFromPubkey(\n programId: PublicKey,\n pubkey: PublicKey,\n seed?: Uint8Array\n ) {\n const seedsArr = [pubkey.toBytes().slice(0, 32)]\n if (seed) {\n seedsArr.push(seed)\n }\n return await PublicKey.findProgramAddress(seedsArr, programId)\n }\n\n /**\n * Finds a program address, using both seeds, pubkey, and the derived authority.\n * Return [authority, derivedAddress, and bumpSeeds]\n *\n */\n static async findProgramAddressWithAuthority(\n programId: PublicKey,\n address: PublicKey,\n seed: Uint8Array\n ) {\n // Finds the authority account by generating a PDA with the address as a seed\n const [authority] = await SolanaUtils.findProgramAddressFromPubkey(\n programId,\n address\n )\n\n const [derivedAddress, bumpSeed] =\n await SolanaUtils.findProgramAddressFromPubkey(programId, authority, seed)\n return [authority, derivedAddress, bumpSeed] as const\n }\n\n /**\n * Converts an eth address hex represenatation to an array of Uint8s in big endian notation\n * @param ethAddress\n */\n static ethAddressToArray(ethAddress: string) {\n const strippedEthAddress = ethAddress.replace('0x', '')\n // Need to pad the array to length 20 - otherwise, hex eth keys starting with '0' would\n // result in truncated arrays, while eth spec is always 20 bytes\n return Uint8Array.of(...new BN(strippedEthAddress, 'hex').toArray('be', 20))\n }\n\n // Safely create pubkey from nullable val\n static newPublicKeyNullable<T extends PublicKeyInitData | null>(\n val: T\n ): NullablePublicKey<T> {\n return val\n ? (new PublicKey(val) as NullablePublicKey<T>)\n : (null as NullablePublicKey<T>)\n }\n}\n\ntype NullablePublicKey<T> = T extends null ? null : PublicKey\n","import { SolanaUtils } from './SolanaUtils'\nimport {\n Transaction,\n PublicKey,\n Connection,\n Keypair,\n TransactionInstruction\n} from '@solana/web3.js'\nimport type { IdentityService, RelayTransactionData } from '../identity'\nimport type { Logger, Nullable } from '../../utils'\n\ntype HandleTransactionParams = {\n instructions: TransactionInstruction[]\n errorMapping?: Nullable<{ fromErrorCode: (errorCode: number) => string }>\n recentBlockhash?: Nullable<string>\n logger?: Logger\n skipPreflight?: Nullable<boolean>\n feePayerOverride?: Nullable<PublicKey>\n sendBlockhash?: boolean\n signatures?: Nullable<Array<{ publicKey: string; signature: Buffer }>>\n retry?: boolean\n}\n\n/**\n * Handles sending Solana transactions, either directly via `sendAndConfirmTransaction`,\n * or via IdentityService's relay.\n */\nexport class TransactionHandler {\n private readonly connection: Connection\n private readonly useRelay: boolean\n private readonly identityService: IdentityService | null\n private readonly feePayerKeypairs: Keypair[] | null\n private readonly skipPreflight: boolean\n private readonly retryTimeoutMs: number\n private readonly pollingFrequencyMs: number\n private readonly sendingFrequencyMs: number\n\n /**\n * Creates an instance of TransactionHandler.\n */\n constructor({\n connection,\n useRelay,\n identityService = null,\n feePayerKeypairs = null,\n skipPreflight = true,\n retryTimeoutMs = 60000,\n pollingFrequencyMs = 300,\n sendingFrequencyMs = 300\n }: {\n connection: Connection\n useRelay: boolean\n identityService?: IdentityService | null\n feePayerKeypairs?: Keypair[] | null\n skipPreflight?: boolean\n retryTimeoutMs?: number\n pollingFrequencyMs?: number\n sendingFrequencyMs?: number\n }) {\n this.connection = connection\n this.useRelay = useRelay\n this.identityService = identityService\n this.feePayerKeypairs = feePayerKeypairs\n this.skipPreflight = skipPreflight\n this.retryTimeoutMs = retryTimeoutMs\n this.pollingFrequencyMs = pollingFrequencyMs\n this.sendingFrequencyMs = sendingFrequencyMs\n }\n\n /**\n * Primary method to send a Solana transaction.\n */\n async handleTransaction({\n instructions,\n errorMapping = null,\n recentBlockhash = null,\n logger = console,\n skipPreflight = false,\n feePayerOverride = null,\n sendBlockhash = true,\n signatures = null,\n retry = true\n }: HandleTransactionParams) {\n let result: {\n res: string | null\n errorCode: string | number | null\n error: string | null\n } | null = null\n if (this.useRelay) {\n result = await this._relayTransaction(\n instructions,\n recentBlockhash,\n skipPreflight,\n feePayerOverride,\n sendBlockhash,\n signatures,\n retry\n )\n } else {\n result = await this._locallyConfirmTransaction(\n instructions,\n recentBlockhash,\n logger,\n skipPreflight,\n feePayerOverride,\n signatures,\n retry\n )\n }\n if (result.error && result.errorCode !== null && errorMapping) {\n result.errorCode = errorMapping.fromErrorCode(result.errorCode as number)\n }\n return result\n }\n\n async _relayTransaction(\n instructions: TransactionInstruction[],\n recentBlockhash: string | null,\n skipPreflight: boolean | null,\n feePayerOverride: Nullable<PublicKey> = null,\n sendBlockhash: boolean,\n signatures: Array<{ publicKey: string; signature: Buffer }> | null,\n retry: boolean\n ) {\n const relayable = instructions.map(SolanaUtils.prepareInstructionForRelay)\n\n const transactionData: RelayTransactionData = {\n signatures,\n instructions: relayable,\n skipPreflight:\n skipPreflight === null ? this.skipPreflight : skipPreflight,\n feePayerOverride: feePayerOverride ? feePayerOverride.toString() : null,\n retry\n }\n\n if (sendBlockhash || Array.isArray(signatures)) {\n transactionData.recentBlockhash =\n recentBlockhash ??\n (await this.connection.getLatestBlockhash('confirmed')).blockhash\n }\n\n try {\n const response = await this.identityService?.solanaRelay(transactionData)\n return {\n res: response?.transactionSignature ?? null,\n error: null,\n errorCode: null\n }\n } catch (e) {\n let error = null\n if (typeof e === 'object' && e !== null) {\n error = (e as any).response?.data?.error || (e as Error).message\n }\n const errorCode = error ? this._parseSolanaErrorCode(error) : null\n return { res: null, error, errorCode }\n }\n }\n\n async _locallyConfirmTransaction(\n instructions: TransactionInstruction[],\n recentBlockhash: string | null,\n logger: Logger,\n skipPreflight: boolean | null,\n feePayerOverride: Nullable<PublicKey> = null,\n signatures: Array<{ publicKey: string; signature: Buffer }> | null = null,\n retry = true\n ) {\n const feePayerKeypairOverride = (() => {\n if (feePayerOverride && this.feePayerKeypairs) {\n const stringFeePayer = feePayerOverride.toString()\n return this.feePayerKeypairs.find(\n (keypair) => keypair.publicKey.toString() === stringFeePayer\n )\n }\n return null\n })()\n\n const feePayerAccount =\n feePayerKeypairOverride ?? this.feePayerKeypairs?.[0]\n if (!feePayerAccount) {\n logger.error(\n 'transactionHandler: Local feepayer keys missing for direct confirmation!'\n )\n return {\n res: null,\n error: 'Missing keys',\n errorCode: null\n }\n }\n\n // Get blockhash\n\n recentBlockhash =\n recentBlockhash ??\n (await this.connection.getLatestBlockhash('confirmed')).blockhash\n\n // Construct the txn\n\n const tx = new Transaction({ recentBlockhash })\n instructions.forEach((i) => tx.add(i))\n tx.feePayer = feePayerAccount.publicKey\n tx.sign(feePayerAccount)\n\n if (Array.isArray(signatures)) {\n signatures.forEach(({ publicKey, signature }) => {\n tx.addSignature(new PublicKey(publicKey), signature)\n })\n }\n\n const rawTransaction = tx.serialize()\n\n // Send the txn\n\n const sendRawTransaction = async () => {\n return await this.connection.sendRawTransaction(rawTransaction, {\n skipPreflight:\n skipPreflight === null ? this.skipPreflight : skipPreflight,\n preflightCommitment: 'processed',\n maxRetries: retry ? 0 : undefined\n })\n }\n\n let txid\n try {\n txid = await sendRawTransaction()\n } catch (e) {\n // Rarely, this intiial send will fail\n logger.warn(`transactionHandler: Initial send failed: ${e}`)\n let errorCode = null\n let error = null\n if (e instanceof Error) {\n error = e.message\n errorCode = this._parseSolanaErrorCode(error)\n }\n return {\n res: null,\n error,\n errorCode\n }\n }\n\n let done = false\n\n // Start up resubmission loop\n let sendCount = 0\n const startTime = Date.now()\n if (retry) {\n ;(async () => {\n let elapsed = Date.now() - startTime\n // eslint-disable-next-line no-unmodified-loop-condition\n while (!done && elapsed < this.retryTimeoutMs) {\n try {\n sendRawTransaction()\n } catch (e) {\n logger.warn(\n `transactionHandler: error in send loop: ${e} for txId ${txid}`\n )\n }\n sendCount++\n await delay(this.sendingFrequencyMs)\n elapsed = Date.now() - startTime\n }\n })()\n }\n\n // Await for tx confirmation\n try {\n await this._awaitTransactionSignatureConfirmation(txid, logger)\n done = true\n logger.info(\n `transactionHandler: finished for txid ${txid} with ${sendCount} retries`\n )\n return {\n res: txid,\n error: null,\n errorCode: null\n }\n } catch (e) {\n logger.warn(\n `transactionHandler: error in awaitTransactionSignature: ${JSON.stringify(\n e\n )}, ${txid}`\n )\n done = true\n let errorCode = null\n let error = null\n if (e instanceof Error) {\n error = e.message\n errorCode = this._parseSolanaErrorCode(error)\n }\n return {\n res: null,\n error,\n errorCode\n }\n }\n }\n\n async _awaitTransactionSignatureConfirmation(txid: string, logger: Logger) {\n let done = false\n\n const result = await new Promise((resolve, reject) => {\n ;(async () => {\n // Setup timeout if nothing else finishes\n setTimeout(() => {\n if (done) {\n return\n }\n done = true\n const message = `transactionHandler: Timed out in await, ${txid}`\n logger.warn(message)\n reject(new Error(message))\n }, this.retryTimeoutMs)\n\n // Setup WS listener\n try {\n this.connection.onSignature(\n txid,\n (result) => {\n if (done) return\n done = true\n if (result.err) {\n const err = JSON.stringify(result.err)\n logger.warn(\n `transactionHandler: Error in onSignature ${txid}, ${err}`\n )\n reject(new Error(err))\n } else {\n resolve(txid)\n }\n },\n 'processed'\n )\n } catch (e) {\n done = true\n logger.error(`transactionHandler: WS error in setup ${txid}, ${e}`)\n }\n\n // Setup polling\n while (!done) {\n ;(async () => {\n try {\n const signatureStatuses =\n await this.connection.getSignatureStatuses([txid])\n const result = signatureStatuses?.value[0]\n\n // Early return this iteration if already done, or no result\n if (done || !result) return\n\n // End loop if error\n if (result.err) {\n const err = JSON.stringify(result.err)\n logger.error(\n `transactionHandler: polling saw result error: ${err}, tx: ${txid}`\n )\n done = true\n reject(new Error(err))\n return\n }\n\n // Early return if response without confirmation\n if (\n !(\n (result.confirmations !== null &&\n result.confirmations !== 0) ||\n result.confirmationStatus === 'confirmed' ||\n result.confirmationStatus === 'finalized'\n )\n ) {\n return\n }\n // Otherwise, we made it\n done = true\n resolve(txid)\n } catch (e) {\n if (!done) {\n logger.error(\n `transactionHandler: REST polling connection error: ${e}, tx: ${txid}`\n )\n }\n }\n })()\n\n await delay(this.pollingFrequencyMs)\n }\n })()\n })\n done = true\n return result\n }\n\n /**\n * Attempts to parse an error code out of a message of the form:\n * \"... custom program error: 0x1\", where the return in this case would be the number 1.\n * Returns null for unparsable strings.\n */\n _parseSolanaErrorCode(errorMessage: string) {\n if (!errorMessage) return null\n // Match on custom solana program errors\n const matcher = /(?:custom program error: 0x)(.*)$/\n const res = errorMessage.match(matcher)\n if (res && res.length === 2)\n return res[1] ? parseInt(res[1], 16) || null : null\n // Match on custom anchor errors\n const matcher2 = /(?:\"Custom\":)(\\d+)/\n const res2 = errorMessage.match(matcher2)\n if (res2 && res2.length === 2)\n return res2[1] ? parseInt(res2[1], 10) || null : null\n return null\n }\n}\n\nasync function delay(ms: number) {\n return await new Promise((resolve) => setTimeout(resolve, ms))\n}\n"],"names":["AUDIO_DECMIALS","WAUDIO_DECMIALS","CURRENT_USER_EXISTS_LOCAL_STORAGE_KEY","AuthHeaders","getTrackListens","timeFrame","idsArray","startTime","endTime","limit","offset","queryUrl","Error","queryParams","id","start","end","req","url","method","params","getUsers","walletAddress","handle","minBlockNumber","wallet","min_block_number","Array","isArray","endpoint","getTracks","targetUserId","sort","filterDeleted","withUsers","user_id","filter_deleted","with_users","getTracksByHandleAndSlug","slug","getTracksIncludingUnlisted","identifiers","data","tracks","getRandomTracks","genre","exclusionList","time","getStemsForTrack","trackId","getRemixesOfTrack","getRemixTrackParents","getTrendingTracks","_objectSpread","getPlaylists","playlist_id","getFullPlaylist","encodedPlaylistId","encodedUserId","urlParams","getSocialFeed","filter","tracksOnly","tracks_only","getUserRepostFeed","userId","getFollowIntersectionUsers","followeeUserId","followerUserId","getTrackRepostIntersectionUsers","repostTrackId","getPlaylistRepostIntersectionUsers","repostPlaylistId","getFollowersForUser","getFolloweesForUser","getRepostersForTrack","getRepostersForPlaylist","getSaversForTrack","saveTrackId","getSaversForPlaylist","savePlaylistId","searchFull","text","kind","query","searchAutocomplete","searchTags","userTagCount","user_tag_count","getSavedPlaylists","getSavedAlbums","getSavedTracks","getUserAccount","undefined","getTopPlaylists","type","mood","getTopFullPlaylists","getTopFolloweeWindowed","window","getBestNewReleases","getMostLovedTracks","getFeelingLuckyTracks","getTopFolloweeSaves","getLatest","getTopCreatorsByGenres","genres","getURSMContentNodes","ownerWallet","owner_wallet","getNotifications","trackIds","timeout","track_id","getSolanaNotifications","minSlotNumber","min_slot_number","getTrackListenMilestones","getChallengeAttestation","challengeId","specifier","oracleAddress","oracle","getCreateSenderAttestation","senderEthAddress","sender_eth_address","getUndisbursedChallenges","completedBlockNumber","completed_blocknumber","verifyToken","token","getUserReplicaSet","getUserListenCountsMonthly","start_time","end_time","padBNToUint8Array","bn","toArray","SolanaUtils","bytes","ethPrivateKey","msgHash","keccak256","ethPrivateKeyArr","Buffer","from","signatureObj","secp256k1","ecdsaSign","Uint8Array","signature","recoveryId","recid","instruction","programId","toString","keys","map","isSigner","pubkey","isWritable","recipientEthAddress","tokenAmount","transferId","encoder","TextEncoder","userBytes","ethAddressToArray","transferIdBytes","encode","amountBytes","items","sep","res","slice","reduce","prev","cur","of","amount","BN","seed","seedsArr","toBytes","push","PublicKey","findProgramAddress","address","findProgramAddressFromPubkey","authority","derivedAddress","bumpSeed","ethAddress","strippedEthAddress","replace","val","TransactionHandler","connection","useRelay","identityService","feePayerKeypairs","skipPreflight","retryTimeoutMs","pollingFrequencyMs","sendingFrequencyMs","instructions","errorMapping","recentBlockhash","logger","console","feePayerOverride","sendBlockhash","signatures","retry","result","_relayTransaction","_locallyConfirmTransaction","error","errorCode","fromErrorCode","relayable","prepareInstructionForRelay","transactionData","getLatestBlockhash","blockhash","solanaRelay","response","transactionSignature","message","_parseSolanaErrorCode","feePayerKeypairOverride","stringFeePayer","find","keypair","publicKey","feePayerAccount","tx","Transaction","forEach","i","add","feePayer","sign","addSignature","rawTransaction","serialize","sendRawTransaction","preflightCommitment","maxRetries","txid","warn","done","sendCount","Date","now","elapsed","e","delay","_awaitTransactionSignatureConfirmation","info","JSON","stringify","Promise","resolve","reject","setTimeout","onSignature","err","getSignatureStatuses","signatureStatuses","value","confirmations","confirmationStatus","errorMessage","matcher","match","length","parseInt","matcher2","res2","ms"],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -34277,9 +34277,9 @@ var formatProviders = function formatProviders(providers) {
|
|
|
34277
34277
|
};
|
|
34278
34278
|
|
|
34279
34279
|
var name = "@audius/sdk";
|
|
34280
|
-
var version = "1.0.
|
|
34280
|
+
var version = "1.0.17";
|
|
34281
34281
|
var audius = {
|
|
34282
|
-
releaseSHA: "
|
|
34282
|
+
releaseSHA: "9dc55f08221648a366e060d1f8ad53cd21a651a1"
|
|
34283
34283
|
};
|
|
34284
34284
|
var description = "";
|
|
34285
34285
|
var main = "dist/index.cjs.js";
|
|
@@ -34410,7 +34410,7 @@ var devDependencies = {
|
|
|
34410
34410
|
};
|
|
34411
34411
|
var repository = {
|
|
34412
34412
|
type: "git",
|
|
34413
|
-
url: "git+https://github.com/AudiusProject/audius-protocol/tree/
|
|
34413
|
+
url: "git+https://github.com/AudiusProject/audius-protocol/tree/main/libs"
|
|
34414
34414
|
};
|
|
34415
34415
|
var engines = {
|
|
34416
34416
|
node: ">=14.0.0"
|
|
@@ -34420,7 +34420,7 @@ var license = "Apache-2.0";
|
|
|
34420
34420
|
var bugs = {
|
|
34421
34421
|
url: "https://github.com/AudiusProject/audius-protocol/issues"
|
|
34422
34422
|
};
|
|
34423
|
-
var homepage = "https://github.com/AudiusProject/audius-protocol/tree/
|
|
34423
|
+
var homepage = "https://github.com/AudiusProject/audius-protocol/tree/main/libs";
|
|
34424
34424
|
var require$$0 = {
|
|
34425
34425
|
name: name,
|
|
34426
34426
|
version: version,
|
|
@@ -34450,7 +34450,7 @@ var version_1 = packageJson.version;
|
|
|
34450
34450
|
/**
|
|
34451
34451
|
* Converts a BN to a Uint8Array of length 8, in little endian notation.
|
|
34452
34452
|
* Useful for when Rust wants a u64 (8 * 8) represented as a byte array.
|
|
34453
|
-
* Ex: https://github.com/AudiusProject/audius-protocol/blob/
|
|
34453
|
+
* Ex: https://github.com/AudiusProject/audius-protocol/blob/main/solana-programs/reward-manager/program/src/processor.rs#L389
|
|
34454
34454
|
*/
|
|
34455
34455
|
var padBNToUint8Array = function padBNToUint8Array(bn) {
|
|
34456
34456
|
return bn.toArray('le', 8);
|
|
@@ -47616,7 +47616,10 @@ var definitions$2 = {
|
|
|
47616
47616
|
title: "CID"
|
|
47617
47617
|
},
|
|
47618
47618
|
PremiumConditions: {
|
|
47619
|
-
type:
|
|
47619
|
+
type: [
|
|
47620
|
+
"object",
|
|
47621
|
+
"null"
|
|
47622
|
+
],
|
|
47620
47623
|
additionalProperties: false,
|
|
47621
47624
|
properties: {
|
|
47622
47625
|
nft_collection: {
|