Class: MetadataApi
Constructors
constructor
• new MetadataApi(): MetadataApi
Returns
Properties
appDataHexToCid
• appDataHexToCid: (appDataHex
: string
) => Promise
<string
> = appDataHexToCid
Type declaration
▸ (appDataHex
): Promise
<string
>
Convert an app-data hex string to a CID
Parameters
Name | Type | Description |
---|---|---|
appDataHex | string | The app-data hex string (app-data part of the order struct) |
Returns
Promise
<string
>
The IPFS CID v1 of the content
Defined in
api/index.ts:20
cidToAppDataHex
• cidToAppDataHex: (cid
: string
) => Promise
<string
> = cidToAppDataHex
Type declaration
▸ (cid
): Promise
<string
>
Convert a CID to an app-data hex string
Parameters
Name | Type | Description |
---|---|---|
cid | string | The IPFS CID to extract the app-data hex from. |
Returns
Promise
<string
>
The app-data hex string (app-data part of the order struct)
Defined in
api/index.ts:21
fetchDocFromAppDataHex
• fetchDocFromAppDataHex: (appDataHex
: string
, ipfsUri?
: string
) => Promise
<void
| AnyAppDataDocVersion
> = fetchDocFromAppDataHex
Type declaration
▸ (appDataHex
, ipfsUri?
): Promise
<void
| AnyAppDataDocVersion
>
Fetches the document from IPFS using the appData hex (app-data part of the order struct).
This method will convert the app-data hex into a CID and fetch the content from IPFS.
Parameters
Name | Type | Description |
---|---|---|
appDataHex | string | App-data hex part of the order struct |
ipfsUri? | string | URL of the IPFS gateway to use for the fetch |
Returns
Promise
<void
| AnyAppDataDocVersion
>
a parsed AppData document
Defined in
api/index.ts:24
generateAppDataDoc
• generateAppDataDoc: (params?
: Partial
<Omit
<AppDataRootSchema
, "version"
>>) => Promise
<LatestAppDataDocVersion
> = generateAppDataDoc
Type declaration
▸ (params?
): Promise
<LatestAppDataDocVersion
>
Creates an appData document using the latest specification of the format
Without params creates a default minimum appData doc Optionally creates metadata docs
Example of result: { "appCode": "CoW Swap", "environment": "local", "metadata": { "quote": { "slippageBips": 50 }, "orderClass": { "orderClass": "market" } }, "version": "1.2.0" }
Parameters
Name | Type |
---|---|
params? | Partial <Omit <AppDataRootSchema , "version" >> |
Returns
Promise
<LatestAppDataDocVersion
>
Defined in
api/index.ts:15
getAppDataInfo
• getAppDataInfo: (appData
: AnyAppDataDocVersion
) => Promise
<AppDataInfo
>(fullAppData
: string
) => Promise
<AppDataInfo
| undefined
> = getAppDataInfo
Type declaration
▸ (appData
): Promise
<AppDataInfo
>
Calculate the app-data information (cid, appDataHex, appDataContent).
- appDataContent is the exact string with the pre-image that gets hashed using keccak to get the appDataHex
- appDataHex is the hex used for the bytes32 struct field appData in the CoW order
- cid is the IPFS identifier of the appDataHex. If the document is in IPFS it can be found using this identifier.
Parameters
Name | Type |
---|---|
appData | AnyAppDataDocVersion |
Returns
Promise
<AppDataInfo
>
▸ (fullAppData
): Promise
<AppDataInfo
| undefined
>
Calculate the app-data information (cid, appDataHex, appDataContent).
- appDataContent is the exact string with the pre-image that gets hashed using keccak to get the appDataHex
- appDataHex is the hex used for the bytes32 struct field appData in the CoW order
- cid is the IPFS identifier of the appDataHex. If the document is in IPFS it can be found using this identifier.
Parameters
Name | Type |
---|---|
fullAppData | string |
Returns
Promise
<AppDataInfo
| undefined
>
Defined in
api/index.ts:19
getAppDataSchema
• getAppDataSchema: (version
: string
) => Promise
<AnyAppDataDocVersion
> = getAppDataSchema
Type declaration
▸ (version
): Promise
<AnyAppDataDocVersion
>
Wrapper around @cowprotocol/app-data getAppDataSchema
Returns the appData schema for given version, if any Throws CowError when version doesn't exist
Parameters
Name | Type |
---|---|
version | string |
Returns
Promise
<AnyAppDataDocVersion
>
Defined in
api/index.ts:14
legacy
• legacy: Object
Type declaration
Name | Type |
---|---|
appDataHexToCid | (appDataHex : string ) => Promise <string > |
appDataToCid | (appData : AnyAppDataDocVersion ) => Promise <AppDataInfo | undefined >(fullAppData : string ) => Promise <AppDataInfo | undefined > |
fetchDocFromAppDataHex | (appDataHex : string , ipfsUri? : string ) => Promise <void | AnyAppDataDocVersion > |
fetchDocFromCid | (cid : string , ipfsUri : string ) => Promise <AnyAppDataDocVersion > |
uploadMetadataDocToIpfs | (appDataDoc : AnyAppDataDocVersion , ipfsConfig : Ipfs ) => Promise <IpfsUploadResult | void > |
Defined in
api/index.ts:26
validateAppDataDoc
• validateAppDataDoc: (appDataDoc
: AnyAppDataDocVersion
) => Promise
<ValidationResult
> = validateAppDataDoc
Type declaration
▸ (appDataDoc
): Promise
<ValidationResult
>
Parameters
Name | Type |
---|---|
appDataDoc | AnyAppDataDocVersion |
Returns
Promise
<ValidationResult
>
Defined in
api/index.ts:16