Skip to content
This repository was archived by the owner on Jun 24, 2022. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/master' into release/1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Leandro Boscariol committed Nov 17, 2021
2 parents 60acdfb + 6af784c commit 2d48388
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 409 deletions.
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "CowSwap - Gnosis Protocol",
"homepage": ".",
"private": true,
"version": "1.4.10-rc.0",
"version": "1.4.11",
"engines": {
"node": ">=14.0.0"
},
Expand Down Expand Up @@ -202,7 +202,6 @@
"bignumber.js": "9.0.1",
"bnc-sdk": "^3.5.0",
"fast-safe-stringify": "^2.0.8",
"ipfs-http-client": "^52.0.3",
"paraswap": "^5.0.1",
"react-appzi": "^1.0.4",
"react-inlinesvg": "^2.3.0",
Expand Down
17 changes: 4 additions & 13 deletions src/custom/api/ipfs/index.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
import safeStringify from 'fast-safe-stringify'
import pinataSDK, { PinataPinByHashResponse } from '@pinata/sdk'
import { IPFS_URI, PINATA_API_KEY, PINATA_SECRET_API_KEY } from 'constants/ipfs'
import pinataSDK, { PinataPinResponse } from '@pinata/sdk'
import { PINATA_API_KEY, PINATA_SECRET_API_KEY } from 'constants/ipfs'

const pinata = pinataSDK(PINATA_API_KEY, PINATA_SECRET_API_KEY)

export async function uploadTextFileToIpfs(file: any): Promise<string> {
const { create } = await import('ipfs-http-client')
const client = create({ url: IPFS_URI })
const doc = safeStringify.stableStringify(file)
const { cid } = await client.add(doc)
return cid.toString()
}

export async function pinByHash(hash: string): Promise<PinataPinByHashResponse> {
return pinata.pinByHash(hash)
export async function pinJSONToIPFS(file: any): Promise<PinataPinResponse> {
return pinata.pinJSONToIPFS(file, { pinataMetadata: { name: 'appData-affiliate' } })
}
7 changes: 3 additions & 4 deletions src/custom/utils/metadata.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import CID from 'cids'
import multihashes from 'multihashes'
import { uploadTextFileToIpfs, pinByHash } from 'api/ipfs'
import { pinJSONToIPFS } from 'api/ipfs'

interface Metadata {
version: string
Expand Down Expand Up @@ -49,8 +49,7 @@ export function generateAppDataDoc(metadata: MetadataDoc = {}): AppDataDoc {
}

export async function uploadMetadataDocToIpfs(appDataDoc: AppDataDoc): Promise<string> {
const cid = await uploadTextFileToIpfs(appDataDoc)
await pinByHash(cid)
const { digest } = multihashes.decode(new CID(cid).multihash)
const { IpfsHash } = await pinJSONToIPFS(appDataDoc)
const { digest } = multihashes.decode(new CID(IpfsHash).multihash)
return `0x${Buffer.from(digest).toString('hex')}`
}
Loading

0 comments on commit 2d48388

Please sign in to comment.