Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
8b4ed83
feat(packages/bridging/src/providers/near-intents): starts adding Nea…
allemanfredi Sep 2, 2025
25a09a9
feat(packages/bridging/src/providers/near-intents): adds getQuote + t…
allemanfredi Sep 3, 2025
59c1e47
refactor(packages/bridging/src/providers/near-intents): sorts imports
allemanfredi Sep 3, 2025
4358c0f
fix(packages/bridging/src/providers/near-intents): fixes NearIntentsB…
allemanfredi Sep 3, 2025
9d3463e
feat(packages/bridging/src/providers/near-intents): implements getUns…
allemanfredi Sep 3, 2025
c991233
feat(packages/bridging/src/providers/near-intents): implements getGas…
allemanfredi Sep 4, 2025
5a06294
feat(packages/bridging/src/providers/near-intents): adds NEAR_BLOCKCH…
allemanfredi Sep 4, 2025
eb2ed8b
feat(packages/bridging/src/providers/near-intents): implements getSta…
allemanfredi Sep 4, 2025
b5a2858
chore(packages/bridging/src/providers/near-intents): add util.ts
allemanfredi Sep 4, 2025
f56b85f
feat(packages/bridging/src/providers/near-intents): adds hook check w…
allemanfredi Sep 8, 2025
8c99ae0
fix(packages/bridging/src/providers/across): adds missing indexed wit…
allemanfredi Sep 8, 2025
cfdc065
refactor(packages/bridging/src/providers/near-intents): updates a com…
allemanfredi Sep 8, 2025
34c1290
refactor(packages/bridging/src/providers/near-intents): rm comment wi…
allemanfredi Sep 8, 2025
d09e524
feat(packages/bridging/src/providers/near-intents/util): adds adaptTo…
allemanfredi Sep 9, 2025
5da2231
feat(packages/bridging/src/providers/near-intents): adds getStatus test
allemanfredi Sep 9, 2025
ffcd380
chore(packages/bridging/jest.config.ts): rm testTimeout
allemanfredi Sep 9, 2025
0a85b67
feat(packages/bridging/src/index.ts): exports NearIntentsBridgeProvid…
allemanfredi Sep 9, 2025
79920e1
fix(packages/bridging/src/providers/near-intents): rm unsigned call w…
allemanfredi Sep 9, 2025
6e8f619
feat(packages/bridging/src/providers/near-intents): adds getUnsignedB…
allemanfredi Sep 10, 2025
b0a7529
feat(packages/bridging/src/providers/near-intents): fixes a comment w…
allemanfredi Sep 10, 2025
9b8fa9f
feat(packages/bridging/src/providers/near-intents): rm sellAmount fro…
allemanfredi Sep 10, 2025
74f12d4
chore(packages/bridging/src/providers/near-intents): fixes a comment …
allemanfredi Sep 11, 2025
a38d425
chore(packages/bridging/src/providers/near-intents): rm support for d…
allemanfredi Sep 12, 2025
bdf4d92
fix(packages/bridging/src/providers/near-intents): fixes tests that t…
allemanfredi Sep 12, 2025
9b0df34
feat(packages/bridging/src/providers/near-intents): adds util.test.ts
allemanfredi Sep 12, 2025
eb79a67
refactor(packages/bridging/src/providers/near-intents): adds return t…
allemanfredi Sep 12, 2025
db73b59
chore(global): addds near-intents-logo.png and rm some TODO within Ne…
allemanfredi Sep 12, 2025
d39eda5
chore(packages/bridging/src/providers/near-intents): mv @defuse-proto…
allemanfredi Sep 17, 2025
f5aef2b
fix(packages/bridging/src/providers/near-intents): rm typo
allemanfredi Sep 17, 2025
cc3ed07
refactor(packages/bridging/src/providers/near-intents): rn NEAR_INTEN…
allemanfredi Sep 17, 2025
63a9a14
refactor(packages/bridging/src/providers/near-intents): rm useless check
allemanfredi Sep 17, 2025
e7f22a2
refactor(packages/bridging/src/providers/near-intents): replaces cons…
allemanfredi Sep 17, 2025
f9e5ea0
feat(packages/bridging/src/providers/near-intents): adds NearBlockcha…
allemanfredi Sep 24, 2025
2d5a0f0
refactor(packages/bridging/src/providers/near-intents): improves sour…
allemanfredi Sep 25, 2025
238a0e3
refactor(packages/bridging/src/providers/near-intents): replaces NEAR…
allemanfredi Sep 25, 2025
12c46d9
chore(src/bridging/providers): <- mv near-intents-logo.png here
allemanfredi Sep 25, 2025
9299286
refactor(packages/bridging/src/providers/near-intents): adds isWrappe…
allemanfredi Sep 25, 2025
2188ffa
refactor(packages/bridging/src/providers/near-intents): replaces WRAP…
allemanfredi Sep 25, 2025
d4b7700
fix(packages/bridging/src/providers/near-intents): makes everything l…
allemanfredi Sep 25, 2025
5e07cb9
refactor(packages/bridging/src/providers/near-intents): allows slippa…
allemanfredi Sep 25, 2025
f98bb37
refactor(packages/bridging/src/providers/near-intents): rm export def…
allemanfredi Sep 25, 2025
b284153
fix(packages/bridging/src/providers/near-intents): fixes findig depos…
allemanfredi Sep 26, 2025
8194662
refactor(packages/bridging/src/providers/near-intents): rm CHAIN_ID_N…
allemanfredi Sep 26, 2025
71291cd
refactor(packages/bridging/src/providers/near-intents): adds bridgeFe…
allemanfredi Sep 26, 2025
74680c1
refactor(packages/bridging/src/providers/near-intents): improves getB…
allemanfredi Sep 26, 2025
237fb14
fix(packages/bridging/src/providers/near-intents): fixes getQuote
allemanfredi Sep 29, 2025
133e70d
fix(packages/bridging/src/providers/near-intents): fixes bridgeFee ca…
allemanfredi Sep 29, 2025
75e5bcf
refactor(packages/bridging/src/providers/near-intents): forces getInt…
allemanfredi Oct 7, 2025
7526d73
refactor(bridging): replaces BridgeProvider with ReceiverAccountBridg…
allemanfredi Nov 3, 2025
91c1029
fix(bridging): fixes NearIntentsBridgeProvider.getQuote
allemanfredi Nov 3, 2025
0f42ca5
refactor(bridging): refactors NearIntentsBridgeProvider tests
allemanfredi Nov 3, 2025
4a83181
fix: flashloan fee calculation now matches aave's (#622)
carlos-cow Oct 30, 2025
96f2263
chore: release main (#637)
github-actions[bot] Oct 30, 2025
a6e955c
fix: don't skip for manual triggers (#641)
anxolin Nov 3, 2025
9267188
fix: lint issues
anxolin Nov 4, 2025
fcb53dc
fix: dependencies for example
anxolin Nov 4, 2025
727ed4c
feat(bridging/src/providers/near-intents): adds referral to getQuote
allemanfredi Nov 4, 2025
20639c1
Merge branch 'main' of https://github.com/cowprotocol/cow-sdk into su…
shoom3301 Nov 5, 2025
b919571
feat(app-data): add providerId to bridging metadata
shoom3301 Nov 5, 2025
14dae6a
feat(bridging): support providerId from app-data
shoom3301 Nov 5, 2025
193fc99
chore: fix test
shoom3301 Nov 5, 2025
01383d1
chore: fix typo
shoom3301 Nov 5, 2025
3cf8dd6
chore: fix test
shoom3301 Nov 5, 2025
9a6c1e1
chore: fix typo
shoom3301 Nov 5, 2025
0559d9c
fix(bridging): fix Near provider bridging params
shoom3301 Nov 5, 2025
efcf909
Merge pull request #647 from cowprotocol/substance-labs-feat/near-int…
shoom3301 Nov 5, 2025
fa947ce
feat(bridging): use multiple providers for tokens and networks
shoom3301 Nov 6, 2025
c739d2d
Merge pull request #649 from cowprotocol/substance-labs-feat/near-int…
shoom3301 Nov 6, 2025
4530dd0
Merge branch 'feat/near-intents' of https://github.com/substance-labs…
shoom3301 Nov 6, 2025
bed4f73
fix: dedupe bridge provider tokens
shoom3301 Nov 6, 2025
d39de74
chore: fix minor issues
shoom3301 Nov 6, 2025
e30fe0f
Merge branch 'main' of https://github.com/cowprotocol/cow-sdk into su…
shoom3301 Nov 6, 2025
cdfc30a
chore: revert new chains
shoom3301 Nov 6, 2025
71dd87b
Merge branch 'main' of https://github.com/cowprotocol/cow-sdk into su…
shoom3301 Nov 7, 2025
0a5e7fe
chore: revert revert new chains
shoom3301 Nov 7, 2025
6c96a54
Merge branch 'substance-labs-feat/near-intents-3' of https://github.c…
shoom3301 Nov 7, 2025
24a2de6
feat(packages/bridging/src/providers/near-intents): starts adding Nea…
allemanfredi Sep 2, 2025
b968971
feat(packages/bridging/src/providers/near-intents): adds getQuote + t…
allemanfredi Sep 3, 2025
bdd5602
refactor(packages/bridging/src/providers/near-intents): sorts imports
allemanfredi Sep 3, 2025
7ce29dd
fix(packages/bridging/src/providers/near-intents): fixes NearIntentsB…
allemanfredi Sep 3, 2025
5ebbaa3
feat(packages/bridging/src/providers/near-intents): implements getUns…
allemanfredi Sep 3, 2025
b493d02
feat(packages/bridging/src/providers/near-intents): implements getGas…
allemanfredi Sep 4, 2025
b39ec0c
feat(packages/bridging/src/providers/near-intents): adds NEAR_BLOCKCH…
allemanfredi Sep 4, 2025
4b775d0
feat(packages/bridging/src/providers/near-intents): implements getSta…
allemanfredi Sep 4, 2025
2c743e2
chore(packages/bridging/src/providers/near-intents): add util.ts
allemanfredi Sep 4, 2025
815c2e1
feat(packages/bridging/src/providers/near-intents): adds hook check w…
allemanfredi Sep 8, 2025
fee6b97
fix(packages/bridging/src/providers/across): adds missing indexed wit…
allemanfredi Sep 8, 2025
c8d9448
refactor(packages/bridging/src/providers/near-intents): updates a com…
allemanfredi Sep 8, 2025
a6ec6af
refactor(packages/bridging/src/providers/near-intents): rm comment wi…
allemanfredi Sep 8, 2025
a95d424
feat(packages/bridging/src/providers/near-intents/util): adds adaptTo…
allemanfredi Sep 9, 2025
e66825a
feat(packages/bridging/src/providers/near-intents): adds getStatus test
allemanfredi Sep 9, 2025
9e75751
chore(packages/bridging/jest.config.ts): rm testTimeout
allemanfredi Sep 9, 2025
5f46c9a
feat(packages/bridging/src/index.ts): exports NearIntentsBridgeProvid…
allemanfredi Sep 9, 2025
02de0e1
fix(packages/bridging/src/providers/near-intents): rm unsigned call w…
allemanfredi Sep 9, 2025
2028c13
feat(packages/bridging/src/providers/near-intents): adds getUnsignedB…
allemanfredi Sep 10, 2025
5ad2207
feat(packages/bridging/src/providers/near-intents): fixes a comment w…
allemanfredi Sep 10, 2025
8439b4f
feat(packages/bridging/src/providers/near-intents): rm sellAmount fro…
allemanfredi Sep 10, 2025
746d5e1
chore(packages/bridging/src/providers/near-intents): fixes a comment …
allemanfredi Sep 11, 2025
2fcb387
chore(packages/bridging/src/providers/near-intents): rm support for d…
allemanfredi Sep 12, 2025
c970efd
fix(packages/bridging/src/providers/near-intents): fixes tests that t…
allemanfredi Sep 12, 2025
4d0c3ea
feat(packages/bridging/src/providers/near-intents): adds util.test.ts
allemanfredi Sep 12, 2025
f247c1f
refactor(packages/bridging/src/providers/near-intents): adds return t…
allemanfredi Sep 12, 2025
9eca866
chore(global): addds near-intents-logo.png and rm some TODO within Ne…
allemanfredi Sep 12, 2025
cded526
chore(packages/bridging/src/providers/near-intents): mv @defuse-proto…
allemanfredi Sep 17, 2025
47b4325
fix(packages/bridging/src/providers/near-intents): rm typo
allemanfredi Sep 17, 2025
d91fbe8
refactor(packages/bridging/src/providers/near-intents): rn NEAR_INTEN…
allemanfredi Sep 17, 2025
4123b49
refactor(packages/bridging/src/providers/near-intents): rm useless check
allemanfredi Sep 17, 2025
ae5a35f
refactor(packages/bridging/src/providers/near-intents): replaces cons…
allemanfredi Sep 17, 2025
3339ce4
feat(packages/bridging/src/providers/near-intents): adds NearBlockcha…
allemanfredi Sep 24, 2025
00f41a9
refactor(packages/bridging/src/providers/near-intents): improves sour…
allemanfredi Sep 25, 2025
573ce4d
refactor(packages/bridging/src/providers/near-intents): replaces NEAR…
allemanfredi Sep 25, 2025
a5a5ed7
chore(src/bridging/providers): <- mv near-intents-logo.png here
allemanfredi Sep 25, 2025
9006d47
refactor(packages/bridging/src/providers/near-intents): adds isWrappe…
allemanfredi Sep 25, 2025
070be99
refactor(packages/bridging/src/providers/near-intents): replaces WRAP…
allemanfredi Sep 25, 2025
67a393a
fix(packages/bridging/src/providers/near-intents): makes everything l…
allemanfredi Sep 25, 2025
fa51380
refactor(packages/bridging/src/providers/near-intents): allows slippa…
allemanfredi Sep 25, 2025
69f5771
refactor(packages/bridging/src/providers/near-intents): rm export def…
allemanfredi Sep 25, 2025
e0d8a18
fix(packages/bridging/src/providers/near-intents): fixes findig depos…
allemanfredi Sep 26, 2025
11a1c31
refactor(packages/bridging/src/providers/near-intents): rm CHAIN_ID_N…
allemanfredi Sep 26, 2025
95c73f5
refactor(packages/bridging/src/providers/near-intents): adds bridgeFe…
allemanfredi Sep 26, 2025
1cd707e
refactor(packages/bridging/src/providers/near-intents): improves getB…
allemanfredi Sep 26, 2025
8eff7be
fix(packages/bridging/src/providers/near-intents): fixes getQuote
allemanfredi Sep 29, 2025
2937304
fix(packages/bridging/src/providers/near-intents): fixes bridgeFee ca…
allemanfredi Sep 29, 2025
297ef53
refactor(packages/bridging/src/providers/near-intents): forces getInt…
allemanfredi Oct 7, 2025
527133d
refactor(bridging): replaces BridgeProvider with ReceiverAccountBridg…
allemanfredi Nov 3, 2025
6b6d2ec
fix(bridging): fixes NearIntentsBridgeProvider.getQuote
allemanfredi Nov 3, 2025
e6dc29b
refactor(bridging): refactors NearIntentsBridgeProvider tests
allemanfredi Nov 3, 2025
c644435
feat(bridging/src/providers/near-intents): adds referral to getQuote
allemanfredi Nov 4, 2025
630cd31
fix(packages/bridging/src/providers/near-intents/NearIntentsBridgePro…
allemanfredi Nov 8, 2025
9267fd0
feat(packages/bridging/src/providers/near-intents): adds getAttestati…
allemanfredi Nov 9, 2025
c20ee71
feat(packages/bridging/src/providers/near-intents/NearIntentsApi): re…
allemanfredi Nov 9, 2025
4722edc
feat(packages/bridging/src/providers/near-intents/NearIntentsBridgePr…
allemanfredi Nov 9, 2025
cf716e3
refactor(packages/bridging/src/providers/near-intents/NearIntentsBrid…
allemanfredi Nov 10, 2025
93c28c6
Merge branch 'feat/near-intents' of https://github.com/substance-labs…
shoom3301 Nov 10, 2025
01d583e
refactor: replace viem with adapter in near utils
shoom3301 Nov 10, 2025
e6e5470
chore: fix tests
shoom3301 Nov 10, 2025
c915fcc
refactor: replace viem with adapter in near utils
shoom3301 Nov 10, 2025
ec2d8c8
fix(packages/bridging/src/providers/near-intents): fixes tests
allemanfredi Nov 10, 2025
b0b7162
fix: add providerType to BridgeProviderInfo
shoom3301 Nov 11, 2025
fa7f860
chore: fix lint
shoom3301 Nov 11, 2025
6dfe746
refactor(packages/bridging/src/providers/near-intents/NearIntentsBrid…
allemanfredi Nov 11, 2025
34a576a
chore: fix order outputAmount
shoom3301 Nov 12, 2025
cee3f1a
Merge branch 'feat/near-intents-v2' of https://github.com/substance-l…
shoom3301 Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions examples/react/wagmi/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"preview": "vite preview"
},
"dependencies": {
"@cowprotocol/cow-sdk": "workspace:*",
"@cowprotocol/sdk-viem-adapter": "workspace:*",
"@tanstack/react-query": "5.45.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"viem": "^2.28.4",
"wagmi": "latest",
"@cowprotocol/cow-sdk": "workspace:*",
"@cowprotocol/sdk-viem-adapter": "workspace:*"
"viem": "^2.38.6",
"wagmi": "latest"
},
"devDependencies": {
"@types/react": "^18.3.1",
Expand Down
7 changes: 5 additions & 2 deletions packages/app-data/src/generatedTypes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ import * as v1_5_0 from './v1.5.0'
import * as v1_6_0 from './v1.6.0'
import * as v1_7_0 from './v1.7.0'
import * as v1_8_0 from './v1.8.0'
import * as v1_9_0 from './v1.9.0'

export * from './latest'

export const LATEST_APP_DATA_VERSION = '1.8.0'
export const LATEST_APP_DATA_VERSION = '1.9.0'
export const LATEST_QUOTE_METADATA_VERSION = '1.1.0'
export const LATEST_REFERRER_METADATA_VERSION = '0.2.0'
export const LATEST_ORDER_CLASS_METADATA_VERSION = '0.3.0'
Expand All @@ -34,8 +35,9 @@ export const LATEST_WIDGET_METADATA_VERSION = '0.1.0'
export const LATEST_PARTNER_FEE_METADATA_VERSION = '1.0.0'
export const LATEST_REPLACED_ORDER_METADATA_VERSION = '0.1.0'

export type LatestAppDataDocVersion = v1_8_0.AppDataRootSchema
export type LatestAppDataDocVersion = v1_9_0.AppDataRootSchema
export type AnyAppDataDocVersion =
| v1_9_0.AppDataRootSchema
| v1_8_0.AppDataRootSchema
| v1_7_0.AppDataRootSchema
| v1_6_0.AppDataRootSchema
Expand All @@ -58,6 +60,7 @@ export type AnyAppDataDocVersion =
| v0_1_0.AppDataRootSchema

export {
v1_9_0,
v1_8_0,
v1_7_0,
v1_6_0,
Expand Down
2 changes: 1 addition & 1 deletion packages/app-data/src/generatedTypes/latest.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// generated file, do not edit manually

export * as cowAppDataLatestScheme from './v1.8.0'
export * as cowAppDataLatestScheme from './v1.9.0'
260 changes: 260 additions & 0 deletions packages/app-data/src/generatedTypes/v1.9.0.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
/* tslint:disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/

/**
* Semantic versioning of document.
*/
export type Version = string;
/**
* The code identifying the CLI, UI, service generating the order.
*/
export type AppCode = string;
/**
* Environment from which the order came from.
*/
export type Environment = string;
/**
* The address of the trader who signs the CoW Swap order. This field should normally be omitted; it is recommended to use it if the signer is a smart-contract wallet using EIP-1271 signatures.
*/
export type Signer = string;
export type ReferrerAddress = string;
/**
* Tracks in which medium the traffic originated from (twitter, facebook, etc.)
*/
export type UTMSource = string;
/**
* Tracks in which medium the traffic originated from (mail, CPC, social, etc.)
*/
export type UTMMedium = string;
/**
* Track the performance of a specific campaign
*/
export type UTMCampaign = string;
/**
* Track which link was clicked
*/
export type UTMContent = string;
/**
* Track which keyword term a website visitor came from
*/
export type UTMKeywordTerm = string;
/**
* Slippage tolerance that was applied to the order to get the limit price. Expressed in Basis Points (BPS). One basis point is equivalent to 0.01% (1/100th of a percent)
*/
export type SlippageBips = number;
/**
* Whether the given slippageBips used is originated from a Smart slippage suggestion
*/
export type SmartSlippage = boolean;
/**
* Indicator of the order class.
*/
export type OrderClass1 = "market" | "limit" | "liquidity" | "twap";
/**
* Semantic versioning of document.
*/
export type Version1 = string;
/**
* The contract to call for the hook
*/
export type HookTarget = string;
/**
* The calldata to use when calling the hook
*/
export type HookCallData = string;
/**
* The gas limit (in gas units) for the hook
*/
export type HookGasLimit = string;
/**
* CoW Swap has an interface that allows dApps to build hooks for orders. This field is used to identify the dApp that has built the hook.
*/
export type IdOfTheDAppWhichHasBuiltTheHook = string;
/**
* CoW Hooks to call before an order executes
*/
export type PreHooks = CoWHook[];
/**
* CoW Hooks to call after an order executes
*/
export type PostHooks = CoWHook[];
/**
* The code identifying the UI powering the widget
*/
export type AppCode1 = string;
/**
* Environment from which the order came from.
*/
export type Environment1 = string;
export type PartnerFee =
| (
| {
volumeBps: VolumeBasisPointBPS;
recipient: PartnerAccount;
}
| {
surplusBps: SurplusBasisPointBPS;
maxVolumeBps: MaxVolumeBasisPointBPS;
recipient: PartnerAccount;
}
| {
priceImprovementBps: PriceImprovementBasisPointBPS;
maxVolumeBps: MaxVolumeBasisPointBPS;
recipient: PartnerAccount;
}
)[]
| (
| {
volumeBps: VolumeBasisPointBPS;
recipient: PartnerAccount;
}
| {
surplusBps: SurplusBasisPointBPS;
maxVolumeBps: MaxVolumeBasisPointBPS;
recipient: PartnerAccount;
}
| {
priceImprovementBps: PriceImprovementBasisPointBPS;
maxVolumeBps: MaxVolumeBasisPointBPS;
recipient: PartnerAccount;
}
);
/**
* The fee in basis points (BPS) to be paid to the partner based on volume. Capped at protocol level to 100 BPS (1%)
*/
export type VolumeBasisPointBPS = number;
/**
* The Ethereum address of the partner to receive the fee.
*/
export type PartnerAccount = string;
/**
* The fee in basis points (BPS) to be paid to the partner based on surplus
*/
export type SurplusBasisPointBPS = number;
/**
* The maximum volume in basis points (BPS) to be paid to the partner. Capped at protocol level to 100 BPS (1%). You can chose to go lower but not higher
*/
export type MaxVolumeBasisPointBPS = number;
/**
* The fee in basis points (BPS) to be paid to the partner based on price improvement
*/
export type PriceImprovementBasisPointBPS = number;
/**
* The replaced order UID.
*/
export type ReplacedOrderUID = string;
/**
* The id links order with a bridging provider which processes it
*/
export type IdOfBridgingProvider = string;
/**
* Id of a blockchain where funds will be received
*/
export type BridgingDestinationChainId = string;
/**
* Address of a token that will be received at destination chain. The chain might be EVM or non-EVM. Some chains might even not have a token address. E.g.: Bitcoin
*/
export type BridgingDestinationTokenAddress = string;
/**
* The amount of tokens to be flash loaned (in token units, as uint256)
*/
export type LoanAmount = string;
/**
* The Ethereum address of the flashloan liquidity provider
*/
export type LiquidityProviderAddress = string;
/**
* The Ethereum address of the protocol adapter
*/
export type ProtocolAdapterAddress = string;
/**
* The Ethereum address of the flashloan receiver
*/
export type ReceiverAddress = string;
/**
* The Ethereum address of the token being borrowed
*/
export type TokenAddress = string;

/**
* Metadata JSON document for adding information to orders.
*/
export interface AppDataRootSchema {
version: Version;
appCode?: AppCode;
environment?: Environment;
metadata: Metadata;
}
/**
* Each metadata will specify one aspect of the order.
*/
export interface Metadata {
signer?: Signer;
referrer?: Referrer;
utm?: UTMCodes;
quote?: Quote;
orderClass?: OrderClass;
hooks?: OrderInteractionHooks;
widget?: Widget;
partnerFee?: PartnerFee;
replacedOrder?: ReplacedOrder;
bridging?: Bridging;
flashloan?: Flashloan;
}
export interface Referrer {
address: ReferrerAddress;
}
export interface UTMCodes {
utmSource?: UTMSource;
utmMedium?: UTMMedium;
utmCampaign?: UTMCampaign;
utmContent?: UTMContent;
utmTerm?: UTMKeywordTerm;
}
export interface Quote {
slippageBips: SlippageBips;
smartSlippage?: SmartSlippage;
}
export interface OrderClass {
orderClass: OrderClass1;
}
/**
* Optional Pre and Post order interaction hooks attached to a single order
*/
export interface OrderInteractionHooks {
version?: Version1;
pre?: PreHooks;
post?: PostHooks;
}
export interface CoWHook {
target: HookTarget;
callData: HookCallData;
gasLimit: HookGasLimit;
dappId?: IdOfTheDAppWhichHasBuiltTheHook;
}
export interface Widget {
appCode: AppCode1;
environment?: Environment1;
}
export interface ReplacedOrder {
uid: ReplacedOrderUID;
}
export interface Bridging {
providerId: IdOfBridgingProvider;
destinationChainId: BridgingDestinationChainId;
destinationTokenAddress: BridgingDestinationTokenAddress;
}
/**
* Information about flashloan parameters for the order
*/
export interface Flashloan {
amount: LoanAmount;
liquidityProvider: LiquidityProviderAddress;
protocolAdapter: ProtocolAdapterAddress;
receiver: ReceiverAddress;
token: TokenAddress;
}
36 changes: 36 additions & 0 deletions packages/app-data/src/schemas/bridging/v0.2.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"$id": "#bridging/v0.2.0.json",
"$schema": "http://json-schema.org/draft-07/schema",
"required": [
"providerId",
"destinationChainId",
"destinationTokenAddress"
],
"title": "Bridging",
"type": "object",
"additionalProperties": false,
"properties": {
"providerId": {
"$ref": "../definitions.json#/definitions/dappId",
"title": "Id of bridging provider",
"description": "The id links order with a bridging provider which processes it"
},
"destinationChainId": {
"$ref": "../definitions.json#/definitions/chainId",
"title": "Bridging destination chainId",
"description": "Id of a blockchain where funds will be received"
},
"destinationTokenAddress": {
"title": "Bridging destination token address",
"description": "Address of a token that will be received at destination chain. The chain might be EVM or non-EVM. Some chains might even not have a token address. E.g.: Bitcoin",
"type": "string",
"pattern": "^[a-zA-Z0-9\\-.]{1,64}$",
"examples": [
"0x00E989b87700514118Fa55326CD1cCE82faebEF6",
"A.b19436aae4d94622.FiatToken",
"0.0.456858",
"1337"
]
}
}
}
2 changes: 1 addition & 1 deletion packages/app-data/src/schemas/definitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
},
"dappId": {
"$id": "#/definitions/dappId",
"title": "A hex string representing a dApp ID",
"title": "An arbitrary string representing a dApp ID",
"examples": ["75716a3cb48fdbb43ebdff58ce6c541f6a2c269be690513131355800367f2da2"],
"type": "string",
"minLength": 1
Expand Down
Loading